Index: chrome/browser/extensions/extension_sync_data.h |
=================================================================== |
--- chrome/browser/extensions/extension_sync_data.h (revision 97482) |
+++ chrome/browser/extensions/extension_sync_data.h (working copy) |
@@ -9,61 +9,34 @@ |
#include <string> |
#include "base/version.h" |
-#include "chrome/browser/sync/api/sync_change.h" |
-#include "chrome/browser/sync/api/sync_data.h" |
-#include "chrome/common/extensions/extension.h" |
#include "googleurl/src/gurl.h" |
-class ExtensionService; |
-class SyncData; |
-namespace sync_pb { class ExtensionSpecifics; } |
- |
-// A class that encapsulates the synced properties of an Extension. |
-class ExtensionSyncData { |
- public: |
+// A struct that encapsulates the synced properties of an Extension. |
+struct ExtensionSyncData { |
ExtensionSyncData(); |
- explicit ExtensionSyncData(const SyncData& sync_data); |
- explicit ExtensionSyncData(const SyncChange& sync_change); |
- ExtensionSyncData(const Extension& extension, |
- bool enabled, |
- bool incognito_enabled); |
~ExtensionSyncData(); |
- // Convert an ExtensionSyncData back out to a sync structure. |
- void PopulateSyncSpecifics(sync_pb::ExtensionSpecifics* specifics) const; |
- SyncData GetSyncData() const; |
- SyncChange GetSyncChange(SyncChange::SyncChangeType change_type) const; |
+ // Merge |new_data| into this object. All version-independent |
+ // properties are copied from |new_data|, and version-dependent |
+ // properties are copied only if |new_data|'s version is equal to or |
+ // greater than the current version. |
+ void Merge(const ExtensionSyncData& new_data); |
- const std::string& id() const { return id_; } |
+ std::string id; |
// Version-independent properties (i.e., used even when the |
// version of the currently-installed extension doesn't match |
// |version|). |
- bool uninstalled() const { return uninstalled_; } |
- bool enabled() const { return enabled_; } |
- bool incognito_enabled() const { return incognito_enabled_; } |
- Extension::SyncType type() const { return type_; } |
+ bool uninstalled; |
+ bool enabled; |
+ bool incognito_enabled; |
// Version-dependent properties (i.e., should be used only when the |
// version of the currenty-installed extension matches |version|). |
- const Version& version() const { return version_; } |
- const GURL& update_url() const { return update_url_; } |
+ Version version; |
+ GURL update_url; |
// Used only for debugging. |
- const std::string& name() const { return name_; } |
- |
- private: |
- void PopulateFromExtensionSpecifics( |
- const sync_pb::ExtensionSpecifics& specifics); |
- void PopulateFromSyncData(const SyncData& sync_data); |
- |
- std::string id_; |
- bool uninstalled_; |
- bool enabled_; |
- bool incognito_enabled_; |
- Extension::SyncType type_; |
- Version version_; |
- GURL update_url_; |
- std::string name_; |
+ std::string name; |
}; |
#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYNC_DATA_H_ |