chromium/chrome/browser/sync/test/integration/status_change_checker.h

// Copyright 2013 The Chromium Authors
// 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_STATUS_CHANGE_CHECKER_H_
#define CHROME_BROWSER_SYNC_TEST_INTEGRATION_STATUS_CHANGE_CHECKER_H_

#include <iosfwd>

#include "base/run_loop.h"
#include "base/time/time.h"

namespace switches {

inline constexpr char kStatusChangeCheckerTimeoutInSeconds[] =;

}  // namespace switches

// Interface for a helper class that can pump the message loop while waiting
// for a certain state transition to take place.
//
// This is a template that should be filled in by child classes so they can
// observe specific kinds of changes and await specific conditions.
//
// The instances of this class are intended to be single-use.  It doesn't make
// sense to call StartBlockingWait() more than once.
//
// |switches::kStatusChangeCheckerTimeoutInSeconds| can be passed to the command
// line to override the timeout used by instances of this class.
class StatusChangeChecker {};

#endif  // CHROME_BROWSER_SYNC_TEST_INTEGRATION_STATUS_CHANGE_CHECKER_H_