Lines Matching full:mojo
32 #include "mojo/public/cpp/bindings/associated_group.h"
33 #include "mojo/public/cpp/bindings/associated_group_controller.h"
34 #include "mojo/public/cpp/bindings/connector.h"
35 #include "mojo/public/cpp/bindings/interface_endpoint_client.h"
36 #include "mojo/public/cpp/bindings/interface_endpoint_controller.h"
37 #include "mojo/public/cpp/bindings/interface_id.h"
38 #include "mojo/public/cpp/bindings/message.h"
39 #include "mojo/public/cpp/bindings/message_header_validator.h"
40 #include "mojo/public/cpp/bindings/pipe_control_message_handler.h"
41 #include "mojo/public/cpp/bindings/pipe_control_message_handler_delegate.h"
42 #include "mojo/public/cpp/bindings/pipe_control_message_proxy.h"
43 #include "mojo/public/cpp/bindings/sequence_local_sync_event_watcher.h"
94 : public mojo::AssociatedGroupController,
95 public mojo::MessageReceiver,
96 public mojo::PipeControlMessageHandlerDelegate {
112 filters_.Append<mojo::MessageHeaderValidator>( in ChannelAssociatedGroupController()
123 void Bind(mojo::ScopedMessagePipeHandle handle) { in Bind()
127 connector_.reset(new mojo::Connector( in Bind()
128 std::move(handle), mojo::Connector::SINGLE_THREADED_SEND, in Bind()
149 std::vector<mojo::Message> outgoing_messages; in FlushOutgoingMessages()
160 mojo::InterfaceId sender_id, receiver_id; in CreateChannelEndpoints()
162 sender_id = 1 | mojo::kInterfaceIdNamespaceMask; in CreateChannelEndpoints()
166 receiver_id = 1 | mojo::kInterfaceIdNamespaceMask; in CreateChannelEndpoints()
179 mojo::ScopedInterfaceEndpointHandle sender_handle = in CreateChannelEndpoints()
181 mojo::ScopedInterfaceEndpointHandle receiver_handle = in CreateChannelEndpoints()
199 // mojo::AssociatedGroupController:
200 mojo::InterfaceId AssociateInterface( in AssociateInterface()
201 mojo::ScopedInterfaceEndpointHandle handle_to_send) override { in AssociateInterface()
203 return mojo::kInvalidInterfaceId; in AssociateInterface()
209 if (next_interface_id_ >= mojo::kInterfaceIdNamespaceMask) in AssociateInterface()
213 id |= mojo::kInterfaceIdNamespaceMask; in AssociateInterface()
239 mojo::ScopedInterfaceEndpointHandle CreateLocalEndpointHandle( in CreateLocalEndpointHandle()
240 mojo::InterfaceId id) override { in CreateLocalEndpointHandle()
241 if (!mojo::IsValidInterfaceId(id)) in CreateLocalEndpointHandle()
242 return mojo::ScopedInterfaceEndpointHandle(); in CreateLocalEndpointHandle()
247 if (!mojo::IsMasterInterfaceId(id) && in CreateLocalEndpointHandle()
249 mojo::HasInterfaceIdNamespaceBitSet(id)) { in CreateLocalEndpointHandle()
250 return mojo::ScopedInterfaceEndpointHandle(); in CreateLocalEndpointHandle()
262 return mojo::ScopedInterfaceEndpointHandle(); in CreateLocalEndpointHandle()
270 mojo::InterfaceId id, in CloseEndpointHandle()
271 const base::Optional<mojo::DisconnectReason>& reason) override { in CloseEndpointHandle()
272 if (!mojo::IsValidInterfaceId(id)) in CloseEndpointHandle()
283 if (!mojo::IsMasterInterfaceId(id) || reason) in CloseEndpointHandle()
287 mojo::InterfaceEndpointController* AttachEndpointClient( in AttachEndpointClient()
288 const mojo::ScopedInterfaceEndpointHandle& handle, in AttachEndpointClient()
289 mojo::InterfaceEndpointClient* client, in AttachEndpointClient()
291 const mojo::InterfaceId id = handle.id(); in AttachEndpointClient()
293 DCHECK(mojo::IsValidInterfaceId(id)); in AttachEndpointClient()
309 const mojo::ScopedInterfaceEndpointHandle& handle) override { in DetachEndpointClient()
310 const mojo::InterfaceId id = handle.id(); in DetachEndpointClient()
312 DCHECK(mojo::IsValidInterfaceId(id)); in DetachEndpointClient()
364 mojo::Message message) in MessageWrapper()
387 mojo::Message& value() { return value_; } in value()
391 mojo::Message value_;
397 public mojo::InterfaceEndpointController {
399 Endpoint(ChannelAssociatedGroupController* controller, mojo::InterfaceId id) in Endpoint()
402 mojo::InterfaceId id() const { return id_; } in id()
434 const base::Optional<mojo::DisconnectReason>& disconnect_reason() const { in disconnect_reason()
439 const base::Optional<mojo::DisconnectReason>& disconnect_reason) { in set_disconnect_reason()
447 mojo::InterfaceEndpointClient* client() const { in client()
452 void AttachClient(mojo::InterfaceEndpointClient* client, in AttachClient()
498 // mojo::InterfaceEndpointController:
499 bool SendMessage(mojo::Message* message) override { in SendMessage()
549 mojo::InterfaceEndpointClient* client = client_; in OnSyncMessageEventReady()
580 sync_watcher_ = std::make_unique<mojo::SequenceLocalSyncEventWatcher>( in EnsureSyncWatcherExists()
595 const mojo::InterfaceId id_;
600 base::Optional<mojo::DisconnectReason> disconnect_reason_;
601 mojo::InterfaceEndpointClient* client_ = nullptr;
603 std::unique_ptr<mojo::SequenceLocalSyncEventWatcher> sync_watcher_;
618 bool Accept(mojo::Message* message) override { in Accept()
652 bool SendMessage(mojo::Message* message) { in SendMessage()
679 void SendMessageOnMasterThread(mojo::Message message) { in SendMessageOnMasterThread()
718 mojo::InterfaceEndpointClient* client = endpoint->client(); in NotifyEndpointOfError()
719 base::Optional<mojo::DisconnectReason> reason( in NotifyEndpointOfError()
733 void NotifyEndpointOfErrorOnEndpointThread(mojo::InterfaceId id, in NotifyEndpointOfErrorOnEndpointThread()
761 Endpoint* FindOrInsertEndpoint(mojo::InterfaceId id, bool* inserted) { in FindOrInsertEndpoint()
775 Endpoint* FindEndpoint(mojo::InterfaceId id) { in FindEndpoint()
781 // mojo::MessageReceiver:
782 bool Accept(mojo::Message* message) override { in Accept()
788 if (mojo::PipeControlMessageHandler::IsPipeControlMessage(message)) in Accept()
791 mojo::InterfaceId id = message->interface_id(); in Accept()
792 DCHECK(mojo::IsValidInterfaceId(id)); in Accept()
799 mojo::InterfaceEndpointClient* client = endpoint->client(); in Accept()
809 if (message->has_flag(mojo::Message::kFlagIsSync)) { in Accept()
834 DCHECK(!message->has_flag(mojo::Message::kFlagIsSync) || in Accept()
835 !message->has_flag(mojo::Message::kFlagIsResponse)); in Accept()
841 void AcceptOnProxyThread(mojo::Message message) { in AcceptOnProxyThread()
844 mojo::InterfaceId id = message.interface_id(); in AcceptOnProxyThread()
845 DCHECK(mojo::IsValidInterfaceId(id) && !mojo::IsMasterInterfaceId(id)); in AcceptOnProxyThread()
852 mojo::InterfaceEndpointClient* client = endpoint->client(); in AcceptOnProxyThread()
859 DCHECK(!message.has_flag(mojo::Message::kFlagIsSync)); in AcceptOnProxyThread()
871 void AcceptSyncMessage(mojo::InterfaceId interface_id, uint32_t message_id) { in AcceptSyncMessage()
881 mojo::InterfaceEndpointClient* client = endpoint->client(); in AcceptSyncMessage()
903 // mojo::PipeControlMessageHandlerDelegate:
905 mojo::InterfaceId id, in OnPeerAssociatedEndpointClosed()
906 const base::Optional<mojo::DisconnectReason>& reason) override { in OnPeerAssociatedEndpointClosed()
931 std::unique_ptr<mojo::Connector> connector_;
932 mojo::FilterChain filters_;
933 mojo::PipeControlMessageHandler control_message_handler_;
937 mojo::PipeControlMessageProxy control_message_proxy_;
945 std::vector<mojo::Message> outgoing_messages_;
967 base::StringPrintf("mojo/queued_ipc_channel_message/0x%" PRIxPTR, in OnMemoryDump()
980 mojo::ScopedMessagePipeHandle handle, in MojoBootstrapImpl()
1009 mojo::AssociatedGroup* GetAssociatedGroup() override { in GetAssociatedGroup()
1014 mojo::AssociatedGroup associated_group_;
1016 mojo::ScopedMessagePipeHandle handle_;
1025 mojo::ScopedMessagePipeHandle handle, in Create()