146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#ifndef COMPONENTS_INVALIDATION_FAKE_INVALIDATION_STATE_TRACKER_H_ 646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#define COMPONENTS_INVALIDATION_FAKE_INVALIDATION_STATE_TRACKER_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/memory/weak_ptr.h" 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "components/invalidation/invalidation_state_tracker.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace syncer { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// InvalidationStateTracker implementation that simply keeps track of 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// the max versions and invalidation state in memory. 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class FakeInvalidationStateTracker 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : public InvalidationStateTracker, 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public base::SupportsWeakPtr<FakeInvalidationStateTracker> { 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) FakeInvalidationStateTracker(); 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual ~FakeInvalidationStateTracker(); 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // InvalidationStateTracker implementation. 230529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch virtual void ClearAndSetNewClientId(const std::string& client_id) OVERRIDE; 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual std::string GetInvalidatorClientId() const OVERRIDE; 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void SetBootstrapData(const std::string& data) OVERRIDE; 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual std::string GetBootstrapData() const OVERRIDE; 27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) virtual void SetSavedInvalidations( 28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) const UnackedInvalidationsMap& states) OVERRIDE; 29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) virtual UnackedInvalidationsMap GetSavedInvalidations() const OVERRIDE; 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void Clear() OVERRIDE; 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static const int64 kMinVersion; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string invalidator_client_id_; 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string bootstrap_data_; 37f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) UnackedInvalidationsMap unacked_invalidations_map_; 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace syncer 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif // COMPONENTS_INVALIDATION_FAKE_INVALIDATION_STATE_TRACKER_H_ 43