1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // Copyright 2014 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef COMPONENTS_INVALIDATION_PUBLIC_INVALIDATION_HANDLER_H_
- #define COMPONENTS_INVALIDATION_PUBLIC_INVALIDATION_HANDLER_H_
- #include <string>
- #include "components/invalidation/public/invalidation_export.h"
- #include "components/invalidation/public/invalidation_util.h"
- #include "components/invalidation/public/invalidator_state.h"
- namespace invalidation {
- class TopicInvalidationMap;
- class INVALIDATION_EXPORT InvalidationHandler {
- public:
- InvalidationHandler() = default;
- InvalidationHandler(const InvalidationHandler& other) = delete;
- InvalidationHandler& operator=(const InvalidationHandler& other) = delete;
- virtual ~InvalidationHandler() = default;
- // Called when the invalidator state changes.
- virtual void OnInvalidatorStateChange(InvalidatorState state) = 0;
- // Called when a invalidation is received. Note that this may be called
- // regardless of the current invalidator state.
- virtual void OnIncomingInvalidation(
- const TopicInvalidationMap& invalidation_map) = 0;
- // Returned value must be unique for the handlers using the same invalidation
- // service.
- virtual std::string GetOwnerName() const = 0;
- // Called on change of |client_id|. Client id is used to identify the
- // the invalidator. The id is only relevant to some handlers, e.g. Sync
- // where the reflection blocking logic is based on it.
- virtual void OnInvalidatorClientIdChange(const std::string& client_id);
- virtual bool IsPublicTopic(const Topic& topic) const;
- };
- } // namespace invalidation
- #endif // COMPONENTS_INVALIDATION_PUBLIC_INVALIDATION_HANDLER_H_
|