Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / sync / notifier / invalidation_state_tracker.h
index 81a07ea..22e3e6f 100644 (file)
@@ -30,14 +30,16 @@ class TaskRunner;
 
 namespace syncer {
 
-class InvalidationStateTracker {
+class SYNC_EXPORT InvalidationStateTracker {
  public:
   InvalidationStateTracker() {}
+  virtual ~InvalidationStateTracker() {}
 
   // The per-client unique ID used to register the invalidation client with the
   // server.  This is used to squelch invalidation notifications that originate
-  // from changes made by this client.
-  virtual void SetInvalidatorClientId(const std::string& data) = 0;
+  // from changes made by this client.  Setting the client ID clears all other
+  // state.
+  virtual void ClearAndSetNewClientId(const std::string& data) = 0;
   virtual std::string GetInvalidatorClientId() const = 0;
 
   // Used by invalidation::InvalidationClient for persistence. |data| is an
@@ -55,9 +57,6 @@ class InvalidationStateTracker {
 
   // Erases invalidation versions, client ID, and state stored on disk.
   virtual void Clear() = 0;
-
- protected:
-  virtual ~InvalidationStateTracker() {}
 };
 
 }  // namespace syncer