p2p_invalidation_forwarder.h revision effb81e5f8246d0db0270817048dc992db66e9fb
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 CHROME_BROWSER_SYNC_TEST_INTEGRATION_P2P_INVALIDATION_FORWARDER_H_ 6#define CHROME_BROWSER_SYNC_TEST_INTEGRATION_P2P_INVALIDATION_FORWARDER_H_ 7 8#include "base/basictypes.h" 9#include "base/compiler_specific.h" 10#include "chrome/browser/sync/profile_sync_service_observer.h" 11 12class ProfileSyncService; 13 14namespace invalidation { 15class P2PInvalidationService; 16}; 17 18// This class links the ProfileSyncService to a P2PInvalidationService. 19// 20// It will observe ProfileSyncService events and emit invalidation events for 21// any committed changes in observes. 22// 23// It register and unregisters in its constructor and destructor. This is 24// intended to make it easy to manage with a scoped_ptr. 25class P2PInvalidationForwarder : public ProfileSyncServiceObserver { 26 public: 27 P2PInvalidationForwarder( 28 ProfileSyncService* sync_service, 29 invalidation::P2PInvalidationService* invalidation_service); 30 virtual ~P2PInvalidationForwarder(); 31 32 // Implementation of ProfileSyncServiceObserver 33 virtual void OnStateChanged() OVERRIDE; 34 virtual void OnSyncCycleCompleted() OVERRIDE; 35 36 private: 37 ProfileSyncService* sync_service_; 38 invalidation::P2PInvalidationService* invalidation_service_; 39 40 DISALLOW_COPY_AND_ASSIGN(P2PInvalidationForwarder); 41}; 42 43#endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_P2P_INVALIDATION_FORWARDER_H_ 44