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