single_client_status_change_checker.h revision e5d81f57cb97b3b6b7fccc9c5610d21eb81db09d
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 13class 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. 18class 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