mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
50 lines
1.7 KiB
C++
50 lines
1.7 KiB
C++
// 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 BASE_TEST_IOS_WAIT_UTIL_H_
|
|
#define BASE_TEST_IOS_WAIT_UTIL_H_
|
|
|
|
#include "base/ios/block_types.h"
|
|
#include "base/time/time.h"
|
|
|
|
namespace base {
|
|
|
|
class MessageLoop;
|
|
|
|
namespace test {
|
|
namespace ios {
|
|
|
|
// Returns the time spent in running |action| plus waiting until |condition| is
|
|
// met.
|
|
// Performs |action| and then spins run loop and runs the |message_loop| until
|
|
// |condition| block returns true.
|
|
// |action| may be nil if no action needs to be performed before the wait loop.
|
|
// |message_loop| can be null if there is no need to spin the message loop.
|
|
// |condition| may be nil if there is no condition to wait for: the run loop
|
|
// will spin until timeout is reached.
|
|
// |timeout| parameter sets the maximum wait time. If |timeout| is zero,
|
|
// a reasonable default will be used.
|
|
TimeDelta TimeUntilCondition(ProceduralBlock action,
|
|
ConditionBlock condition,
|
|
MessageLoop* message_loop,
|
|
TimeDelta timeout);
|
|
|
|
// Waits until |condition| is met. A |message_loop| to spin and a |timeout| can
|
|
// be optionally passed; if |timeout| is zero, a reasonable default will be
|
|
// used.
|
|
void WaitUntilCondition(ConditionBlock condition,
|
|
MessageLoop* message_loop,
|
|
TimeDelta timeout);
|
|
void WaitUntilCondition(ConditionBlock condition);
|
|
|
|
// Lets the run loop of the current thread process other messages
|
|
// within the given maximum delay.
|
|
void SpinRunLoopWithMaxDelay(TimeDelta max_delay);
|
|
|
|
} // namespace ios
|
|
} // namespace test
|
|
} // namespace base
|
|
|
|
#endif // BASE_TEST_IOS_WAIT_UTIL_H_
|