#include "mojo/public/cpp/bindings/sequence_local_sync_event_watcher.h"
#include <map>
#include <memory>
#include <set>
#include "base/containers/flat_set.h"
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
#include "base/synchronization/lock.h"
#include "base/synchronization/waitable_event.h"
#include "base/threading/sequence_local_storage_slot.h"
#include "mojo/public/cpp/bindings/sync_event_watcher.h"
namespace mojo {
namespace {
struct WatcherState;
WatcherStateMap;
struct WatcherState : public base::RefCounted<WatcherState> { … };
}
class SequenceLocalSyncEventWatcher::SequenceLocalState { … };
void SequenceLocalSyncEventWatcher::SequenceLocalState::OnEventSignaled() { … }
class SequenceLocalSyncEventWatcher::Registration { … };
SequenceLocalSyncEventWatcher::SequenceLocalSyncEventWatcher(
const base::RepeatingClosure& callback)
: … { … }
SequenceLocalSyncEventWatcher::~SequenceLocalSyncEventWatcher() = default;
void SequenceLocalSyncEventWatcher::SignalEvent() { … }
void SequenceLocalSyncEventWatcher::ResetEvent() { … }
void SequenceLocalSyncEventWatcher::AllowWokenUpBySyncWatchOnSameSequence() { … }
bool SequenceLocalSyncEventWatcher::SyncWatch(const bool* should_stop) { … }
}