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.
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_
8 #include "base/compiler_specific.h"
9 #include "base/time/time.h"
10 #include "chrome/browser/sync/test/integration/multi_client_status_change_checker.h"
11 #include "components/sync_driver/sync_service_observer.h"
13 class ProfileSyncService
;
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
{
21 explicit SingleClientStatusChangeChecker(ProfileSyncService
* service
);
22 ~SingleClientStatusChangeChecker() override
;
24 // StatusChangeChecker implementations and stubs.
25 bool IsExitConditionSatisfied() override
= 0;
26 std::string
GetDebugMessage() const override
= 0;
29 ProfileSyncService
* service();
32 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SINGLE_CLIENT_STATUS_CHANGE_CHECKER_H_