| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef SYNC_INTERNAL_API_PUBLIC_ENGINE_SYNC_STATUS_H_ | |
| 6 #define SYNC_INTERNAL_API_PUBLIC_ENGINE_SYNC_STATUS_H_ | |
| 7 | |
| 8 #include <string> | |
| 9 #include <vector> | |
| 10 | |
| 11 #include "base/time/time.h" | |
| 12 #include "sync/base/sync_export.h" | |
| 13 #include "sync/internal_api/public/base/model_type.h" | |
| 14 #include "sync/internal_api/public/sync_encryption_handler.h" | |
| 15 #include "sync/protocol/sync_protocol_error.h" | |
| 16 | |
| 17 namespace syncer { | |
| 18 | |
| 19 // Status encapsulates detailed state about the internals of the SyncManager. | |
| 20 // | |
| 21 // This struct is closely tied to the AllStatus object which uses instances of | |
| 22 // it to track and report on the sync engine's internal state, and the functions | |
| 23 // in sync_ui_util.cc which convert the contents of this struct into a | |
| 24 // DictionaryValue used to populate the about:sync summary tab. | |
| 25 struct SYNC_EXPORT SyncStatus { | |
| 26 SyncStatus(); | |
| 27 SyncStatus(const SyncStatus& other); | |
| 28 ~SyncStatus(); | |
| 29 | |
| 30 // TODO(akalin): Replace this with a NotificationsDisabledReason | |
| 31 // variable. | |
| 32 bool notifications_enabled; // True only if subscribed for notifications. | |
| 33 | |
| 34 // Notifications counters updated by the actions in synapi. | |
| 35 int notifications_received; | |
| 36 | |
| 37 SyncProtocolError sync_protocol_error; | |
| 38 | |
| 39 // Number of encryption conflicts counted during most recent sync cycle. | |
| 40 int encryption_conflicts; | |
| 41 | |
| 42 // Number of hierarchy conflicts counted during most recent sync cycle. | |
| 43 int hierarchy_conflicts; | |
| 44 | |
| 45 // Number of items the server refused to commit due to conflict during most | |
| 46 // recent sync cycle. | |
| 47 int server_conflicts; | |
| 48 | |
| 49 // Number of items successfully committed during most recent sync cycle. | |
| 50 int committed_count; | |
| 51 | |
| 52 bool syncing; | |
| 53 | |
| 54 // Total updates received by the syncer since browser start. | |
| 55 int updates_received; | |
| 56 // Total updates received that are echoes of our own changes. | |
| 57 int reflected_updates_received; | |
| 58 // Of updates_received, how many were tombstones. | |
| 59 int tombstone_updates_received; | |
| 60 | |
| 61 // Total successful commits. | |
| 62 int num_commits_total; | |
| 63 | |
| 64 // Total number of overwrites due to conflict resolver since browser start. | |
| 65 int num_local_overwrites_total; | |
| 66 int num_server_overwrites_total; | |
| 67 | |
| 68 // Nudge counts for each possible source | |
| 69 int nudge_source_notification; | |
| 70 int nudge_source_local; | |
| 71 int nudge_source_local_refresh; | |
| 72 | |
| 73 // Encryption related. | |
| 74 ModelTypeSet encrypted_types; | |
| 75 bool cryptographer_ready; | |
| 76 bool crypto_has_pending_keys; | |
| 77 bool has_keystore_key; | |
| 78 base::Time keystore_migration_time; | |
| 79 PassphraseType passphrase_type; | |
| 80 | |
| 81 // Per-datatype throttled status. | |
| 82 ModelTypeSet throttled_types; | |
| 83 | |
| 84 // The unique identifer for the sync store. | |
| 85 std::string sync_id; | |
| 86 | |
| 87 // The unique identifier for the invalidation client. | |
| 88 std::string invalidator_client_id; | |
| 89 | |
| 90 // Counters grouped by model type | |
| 91 std::vector<int> num_entries_by_type; | |
| 92 std::vector<int> num_to_delete_entries_by_type; | |
| 93 | |
| 94 // Time of next retry if sync scheduler is throttled or in backoff. | |
| 95 base::Time retry_time; | |
| 96 }; | |
| 97 | |
| 98 } // namespace syncer | |
| 99 | |
| 100 #endif // SYNC_INTERNAL_API_PUBLIC_ENGINE_SYNC_STATUS_H_ | |
| OLD | NEW |