Lines Matching full:mojo
39 #include "mojo/public/cpp/bindings/associated_group.h"
40 #include "mojo/public/cpp/bindings/associated_group_controller.h"
41 #include "mojo/public/cpp/bindings/connector.h"
42 #include "mojo/public/cpp/bindings/interface_endpoint_client.h"
43 #include "mojo/public/cpp/bindings/interface_endpoint_controller.h"
44 #include "mojo/public/cpp/bindings/interface_id.h"
45 #include "mojo/public/cpp/bindings/message.h"
46 #include "mojo/public/cpp/bindings/message_header_validator.h"
47 #include "mojo/public/cpp/bindings/mojo_buildflags.h"
48 #include "mojo/public/cpp/bindings/pipe_control_message_handler.h"
49 #include "mojo/public/cpp/bindings/pipe_control_message_handler_delegate.h"
50 #include "mojo/public/cpp/bindings/pipe_control_message_proxy.h"
51 #include "mojo/public/cpp/bindings/sequence_local_sync_event_watcher.h"
52 #include "mojo/public/cpp/bindings/tracing_helpers.h"
109 MessageMemoryDumpInfo(const mojo::Message& message) in MessageMemoryDumpInfo()
158 : public mojo::AssociatedGroupController,
159 public mojo::MessageReceiver,
160 public mojo::PipeControlMessageHandlerDelegate {
176 dispatcher_.SetValidator(std::make_unique<mojo::MessageHeaderValidator>( in ChannelAssociatedGroupController()
220 std::vector<mojo::Message> outgoing_messages; in FlushOutgoingMessages()
230 void Bind(mojo::ScopedMessagePipeHandle handle, in Bind()
231 mojo::PendingAssociatedRemote<mojom::Channel>* sender, in Bind()
232 mojo::PendingAssociatedReceiver<mojom::Channel>* receiver) { in Bind()
233 connector_ = std::make_unique<mojo::Connector>( in Bind()
234 std::move(handle), mojo::Connector::SINGLE_THREADED_SEND, in Bind()
250 mojo::InterfaceId sender_id, receiver_id; in Bind()
252 sender_id = 1 | mojo::kInterfaceIdNamespaceMask; in Bind()
256 receiver_id = 1 | mojo::kInterfaceIdNamespaceMask; in Bind()
269 mojo::ScopedInterfaceEndpointHandle sender_handle = in Bind()
271 mojo::ScopedInterfaceEndpointHandle receiver_handle = in Bind()
274 *sender = mojo::PendingAssociatedRemote<mojom::Channel>( in Bind()
276 *receiver = mojo::PendingAssociatedReceiver<mojom::Channel>( in Bind()
294 // mojo::AssociatedGroupController:
295 mojo::InterfaceId AssociateInterface( in AssociateInterface()
296 mojo::ScopedInterfaceEndpointHandle handle_to_send) override { in AssociateInterface()
298 return mojo::kInvalidInterfaceId; in AssociateInterface()
304 if (next_interface_id_ >= mojo::kInterfaceIdNamespaceMask) in AssociateInterface()
308 id |= mojo::kInterfaceIdNamespaceMask; in AssociateInterface()
334 mojo::ScopedInterfaceEndpointHandle CreateLocalEndpointHandle( in CreateLocalEndpointHandle()
335 mojo::InterfaceId id) override { in CreateLocalEndpointHandle()
336 if (!mojo::IsValidInterfaceId(id)) in CreateLocalEndpointHandle()
337 return mojo::ScopedInterfaceEndpointHandle(); in CreateLocalEndpointHandle()
342 if (!mojo::IsPrimaryInterfaceId(id) && in CreateLocalEndpointHandle()
344 mojo::HasInterfaceIdNamespaceBitSet(id)) { in CreateLocalEndpointHandle()
345 return mojo::ScopedInterfaceEndpointHandle(); in CreateLocalEndpointHandle()
357 return mojo::ScopedInterfaceEndpointHandle(); in CreateLocalEndpointHandle()
365 mojo::InterfaceId id, in CloseEndpointHandle()
366 const std::optional<mojo::DisconnectReason>& reason) override { in CloseEndpointHandle()
367 if (!mojo::IsValidInterfaceId(id)) in CloseEndpointHandle()
378 if (!mojo::IsPrimaryInterfaceId(id) || reason) in CloseEndpointHandle()
382 mojo::InterfaceEndpointController* AttachEndpointClient( in AttachEndpointClient()
383 const mojo::ScopedInterfaceEndpointHandle& handle, in AttachEndpointClient()
384 mojo::InterfaceEndpointClient* client, in AttachEndpointClient()
386 const mojo::InterfaceId id = handle.id(); in AttachEndpointClient()
388 DCHECK(mojo::IsValidInterfaceId(id)); in AttachEndpointClient()
404 const mojo::ScopedInterfaceEndpointHandle& handle) override { in DetachEndpointClient()
405 const mojo::InterfaceId id = handle.id(); in DetachEndpointClient()
407 DCHECK(mojo::IsValidInterfaceId(id)); in DetachEndpointClient()
463 mojo::Message message) in MessageWrapper()
494 mojo::Message& value() { return value_; } in value()
498 mojo::Message value_;
502 public mojo::InterfaceEndpointController {
504 Endpoint(ChannelAssociatedGroupController* controller, mojo::InterfaceId id) in Endpoint()
510 mojo::InterfaceId id() const { return id_; } in id()
542 const std::optional<mojo::DisconnectReason>& disconnect_reason() const { in disconnect_reason()
547 const std::optional<mojo::DisconnectReason>& disconnect_reason) { in set_disconnect_reason()
557 mojo::InterfaceEndpointClient* client() const { in client()
562 void AttachClient(mojo::InterfaceEndpointClient* client, in AttachClient()
615 // mojo::InterfaceEndpointController:
616 bool SendMessage(mojo::Message* message) override { in SendMessage()
714 mojo::InterfaceEndpointClient* client = client_; in OnSyncMessageEventReady()
745 sync_watcher_ = std::make_unique<mojo::SequenceLocalSyncEventWatcher>( in EnsureSyncWatcherExists()
782 const mojo::InterfaceId id_;
788 std::optional<mojo::DisconnectReason> disconnect_reason_;
789 raw_ptr<mojo::InterfaceEndpointClient> client_ = nullptr;
791 std::unique_ptr<mojo::SequenceLocalSyncEventWatcher> sync_watcher_;
809 bool Accept(mojo::Message* message) override { in Accept()
840 bool SendMessage(mojo::Message* message) { in SendMessage()
864 void SendMessageOnPrimaryThread(mojo::Message message) { in SendMessageOnPrimaryThread()
911 mojo::InterfaceEndpointClient* client = endpoint->client(); in NotifyEndpointOfError()
912 std::optional<mojo::DisconnectReason> reason( in NotifyEndpointOfError()
930 void NotifyEndpointOfErrorOnEndpointThread(mojo::InterfaceId id, in NotifyEndpointOfErrorOnEndpointThread()
972 Endpoint* FindOrInsertEndpoint(mojo::InterfaceId id, bool* inserted) { in FindOrInsertEndpoint()
986 Endpoint* FindEndpoint(mojo::InterfaceId id) { in FindEndpoint()
992 // mojo::MessageReceiver:
993 bool Accept(mojo::Message* message) override { in Accept()
999 if (mojo::PipeControlMessageHandler::IsPipeControlMessage(message)) in Accept()
1002 mojo::InterfaceId id = message->interface_id(); in Accept()
1003 if (!mojo::IsValidInterfaceId(id)) in Accept()
1011 mojo::InterfaceEndpointClient* client = endpoint->client(); in Accept()
1043 message->has_flag(mojo::Message::kFlagIsUrgent) in Accept()
1047 if (message->has_flag(mojo::Message::kFlagIsSync)) { in Accept()
1095 mojo::Message message, in AcceptOnEndpointThread()
1100 mojo::InterfaceId id = message.interface_id(); in AcceptOnEndpointThread()
1101 DCHECK(mojo::IsValidInterfaceId(id) && !mojo::IsPrimaryInterfaceId(id)); in AcceptOnEndpointThread()
1108 mojo::InterfaceEndpointClient* client = endpoint->client(); in AcceptOnEndpointThread()
1122 // string defined for each mojo interface. in AcceptOnEndpointThread()
1134 DCHECK(!message.has_flag(mojo::Message::kFlagIsSync)); in AcceptOnEndpointThread()
1147 mojo::InterfaceId interface_id, in AcceptSyncMessage()
1160 mojo::InterfaceEndpointClient* client = endpoint->client(); in AcceptSyncMessage()
1170 // string defined for each mojo interface. in AcceptSyncMessage()
1189 // mojo::PipeControlMessageHandlerDelegate:
1191 mojo::InterfaceId id, in OnPeerAssociatedEndpointClosed()
1192 const std::optional<mojo::DisconnectReason>& reason) override { in OnPeerAssociatedEndpointClosed()
1210 mojo::ScopedMessagePipeHandle flush_pipe) override { in WaitForFlushToComplete()
1223 std::unique_ptr<mojo::Connector> connector_;
1224 mojo::MessageDispatcher dispatcher_;
1225 mojo::PipeControlMessageHandler control_message_handler_;
1229 mojo::PipeControlMessageProxy control_message_proxy_;
1237 std::vector<mojo::Message> outgoing_messages_;
1259 base::StringPrintf("mojo/queued_ipc_channel_message/0x%" PRIxPTR, in OnMemoryDump()
1289 mojo::ScopedMessagePipeHandle handle, in MojoBootstrapImpl()
1304 mojo::PendingAssociatedRemote<mojom::Channel>* sender, in Connect()
1305 mojo::PendingAssociatedReceiver<mojom::Channel>* receiver) override { in Connect()
1323 mojo::AssociatedGroup* GetAssociatedGroup() override { in GetAssociatedGroup()
1332 mojo::AssociatedGroup associated_group_;
1334 mojo::ScopedMessagePipeHandle handle_;
1348 mojo::ScopedMessagePipeHandle handle, in Create()