1 // Copyright (c) 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 COMPONENTS_SYNC_TEST_ENGINE_FAKE_SYNC_SCHEDULER_H_
6 #define COMPONENTS_SYNC_TEST_ENGINE_FAKE_SYNC_SCHEDULER_H_
7 
8 #include <map>
9 #include <memory>
10 
11 #include "components/sync/engine_impl/sync_scheduler.h"
12 
13 namespace syncer {
14 
15 // A fake implementation of the SyncScheduler. If needed, we should add default
16 // logic needed for tests (invoking callbacks, etc) here rather than in higher
17 // level test classes.
18 class FakeSyncScheduler : public SyncScheduler {
19  public:
20   FakeSyncScheduler();
21   ~FakeSyncScheduler() override;
22 
23   void Start(Mode mode, base::Time last_poll_time) override;
24   void Stop() override;
25   void ScheduleLocalNudge(ModelTypeSet types,
26                           const base::Location& nudge_location) override;
27   void ScheduleLocalRefreshRequest(
28       ModelTypeSet types,
29       const base::Location& nudge_location) override;
30   void ScheduleInvalidationNudge(
31       ModelType type,
32       std::unique_ptr<InvalidationInterface> interface,
33       const base::Location& nudge_location) override;
34   void ScheduleConfiguration(ConfigurationParams params) override;
35 
36   void ScheduleInitialSyncNudge(ModelType model_type) override;
37   void SetNotificationsEnabled(bool notifications_enabled) override;
38 
39   void OnCredentialsUpdated() override;
40   void OnConnectionStatusChange(network::mojom::ConnectionType type) override;
41 
42   // SyncCycle::Delegate implementation.
43   void OnThrottled(const base::TimeDelta& throttle_duration) override;
44   void OnTypesThrottled(ModelTypeSet types,
45                         const base::TimeDelta& throttle_duration) override;
46   void OnTypesBackedOff(ModelTypeSet types) override;
47   bool IsAnyThrottleOrBackoff() override;
48   void OnReceivedPollIntervalUpdate(
49       const base::TimeDelta& new_interval) override;
50   void OnReceivedCustomNudgeDelays(
51       const std::map<ModelType, base::TimeDelta>& nudge_delays) override;
52   void OnReceivedClientInvalidationHintBufferSize(int size) override;
53   void OnSyncProtocolError(const SyncProtocolError& error) override;
54   void OnReceivedGuRetryDelay(const base::TimeDelta& delay) override;
55   void OnReceivedMigrationRequest(ModelTypeSet types) override;
56 };
57 
58 }  // namespace syncer
59 
60 #endif  // COMPONENTS_SYNC_TEST_ENGINE_FAKE_SYNC_SCHEDULER_H_
61