• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_SINGLE_CLIENT_STATUS_CHANGE_CHECKER_H_
6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SINGLE_CLIENT_STATUS_CHANGE_CHECKER_H_
7 
8 #include "base/compiler_specific.h"
9 #include "base/time/time.h"
10 #include "chrome/browser/sync/profile_sync_service_observer.h"
11 #include "chrome/browser/sync/test/integration/multi_client_status_change_checker.h"
12 
13 class ProfileSyncService;
14 
15 // This class provides some common functionality for StatusChangeCheckers that
16 // observe only one ProfileSyncService.  This class is abstract.  Its
17 // descendants are expected to provide additional functionality.
18 class SingleClientStatusChangeChecker
19   : public MultiClientStatusChangeChecker {
20  public:
21   explicit SingleClientStatusChangeChecker(ProfileSyncService* service);
22   virtual ~SingleClientStatusChangeChecker();
23 
24   // StatusChangeChecker implementations and stubs.
25   virtual bool IsExitConditionSatisfied() = 0;
26   virtual std::string GetDebugMessage() const = 0;
27 
28  protected:
29   ProfileSyncService* service();
30 };
31 
32 #endif  // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SINGLE_CLIENT_STATUS_CHANGE_CHECKER_H_
33