blob: d76e2ca03f19aa0d8c71b54573c392f1d13d7080 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_SINGLE_CLIENT_STATUS_CHANGE_CHECKER_H_
#define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SINGLE_CLIENT_STATUS_CHANGE_CHECKER_H_
#include "base/compiler_specific.h"
#include "base/time/time.h"
#include "chrome/browser/sync/profile_sync_service_observer.h"
#include "chrome/browser/sync/test/integration/multi_client_status_change_checker.h"
class ProfileSyncService;
// This class provides some common functionality for StatusChangeCheckers that
// observe only one ProfileSyncService. This class is abstract. Its
// descendants are expected to provide additional functionality.
class SingleClientStatusChangeChecker
: public MultiClientStatusChangeChecker {
public:
explicit SingleClientStatusChangeChecker(ProfileSyncService* service);
~SingleClientStatusChangeChecker() override;
// StatusChangeChecker implementations and stubs.
virtual bool IsExitConditionSatisfied() = 0;
virtual std::string GetDebugMessage() const = 0;
protected:
ProfileSyncService* service();
};
#endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SINGLE_CLIENT_STATUS_CHANGE_CHECKER_H_