// Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_CAST_MESSAGE_PORT_CAST_CORE_MESSAGE_PORT_CORE_H_ #define COMPONENTS_CAST_MESSAGE_PORT_CAST_CORE_MESSAGE_PORT_CORE_H_ #include <memory> #include <queue> #include <string> #include <string_view> #include "base/memory/raw_ptr.h" #include "base/sequence_checker.h" #include "components/cast/message_port/cast_core/message_connector.h" #include "components/cast/message_port/message_port.h" namespace cast_api_bindings { // A serialized version of the port used for transfer. struct MessagePortDescriptor { … }; class MessagePortCore; // Message sent over a MessagePortCore, containing data and optional // MessagePortCore(s). struct Message { … }; // MessagePortCore used for transferring Message between a // Receiver and another MessageConnector. Overrides of MessagePort and // MessageConnector functions are run on a sequence provided by the OnSequence // methods. class MessagePortCore : public MessagePort, public MessageConnector { … }; } // namespace cast_api_bindings #endif // COMPONENTS_CAST_MESSAGE_PORT_CAST_CORE_MESSAGE_PORT_CORE_H_