#include "ipc/ipc_sync_message_filter.h"
#include "base/check.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/memory/ptr_util.h"
#include "base/memory/ref_counted.h"
#include "base/synchronization/waitable_event.h"
#include "base/task/single_thread_task_runner.h"
#include "base/trace_event/trace_event.h"
#include "ipc/ipc_channel.h"
#include "ipc/ipc_sync_message.h"
#include "mojo/public/cpp/bindings/associated_receiver.h"
#include "mojo/public/cpp/bindings/sync_handle_registry.h"
namespace IPC {
namespace {
void OnEventReady(bool* signal) { … }
}
bool SyncMessageFilter::Send(Message* message) { … }
void SyncMessageFilter::OnFilterAdded(Channel* channel) { … }
void SyncMessageFilter::OnChannelError() { … }
void SyncMessageFilter::OnChannelClosing() { … }
bool SyncMessageFilter::OnMessageReceived(const Message& message) { … }
SyncMessageFilter::SyncMessageFilter(base::WaitableEvent* shutdown_event)
: … { … }
SyncMessageFilter::~SyncMessageFilter() = default;
void SyncMessageFilter::SendOnIOThread(Message* message) { … }
void SyncMessageFilter::SignalAllEvents() { … }
void SyncMessageFilter::GetRemoteAssociatedInterface(
mojo::GenericPendingAssociatedReceiver receiver) { … }
}