Home | History | Annotate | Download | only in notifier
      1 // Copyright 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_NOTIFIER_INVALIDATION_HANDLER_H_
      6 #define SYNC_NOTIFIER_INVALIDATION_HANDLER_H_
      7 
      8 #include "sync/base/sync_export.h"
      9 #include "sync/internal_api/public/base/invalidator_state.h"
     10 
     11 namespace syncer {
     12 
     13 class ObjectIdInvalidationMap;
     14 
     15 class SYNC_EXPORT InvalidationHandler {
     16  public:
     17   // Called when the invalidator state changes.
     18   virtual void OnInvalidatorStateChange(InvalidatorState state) = 0;
     19 
     20   // Called when a invalidation is received.  The per-id states are in
     21   // |id_state_map| and the source is in |source|.  Note that this may be
     22   // called regardless of the current invalidator state.
     23   virtual void OnIncomingInvalidation(
     24       const ObjectIdInvalidationMap& invalidation_map) = 0;
     25 
     26   virtual std::string GetOwnerName() const = 0;
     27 
     28  protected:
     29   virtual ~InvalidationHandler() {}
     30 };
     31 
     32 }  // namespace syncer
     33 
     34 #endif  // SYNC_NOTIFIER_INVALIDATION_HANDLER_H_
     35