X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmojo%2Fsystem%2Fproxy_message_pipe_endpoint.h;h=137f192566051e24e7fba1d0b1097b1b919a476f;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=6f9068e268c3f0667c2db9d2ed14f0bad95a62ee;hpb=7338fba38ba696536d1cc9d389afd716a6ab2fe6;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/mojo/system/proxy_message_pipe_endpoint.h b/src/mojo/system/proxy_message_pipe_endpoint.h index 6f9068e..137f192 100644 --- a/src/mojo/system/proxy_message_pipe_endpoint.h +++ b/src/mojo/system/proxy_message_pipe_endpoint.h @@ -21,6 +21,7 @@ namespace mojo { namespace system { class Channel; +class MessagePipe; // A |ProxyMessagePipeEndpoint| connects an end of a |MessagePipe| to a // |Channel|, over which it transmits and receives data (to/from another @@ -46,12 +47,9 @@ class MOJO_SYSTEM_IMPL_EXPORT ProxyMessagePipeEndpoint // |MessagePipeEndpoint| implementation: virtual void Close() OVERRIDE; virtual void OnPeerClose() OVERRIDE; - virtual MojoResult CanEnqueueMessage( - const MessageInTransit* message, - const std::vector* dispatchers) OVERRIDE; - virtual void EnqueueMessage( + virtual MojoResult EnqueueMessage( MessageInTransit* message, - std::vector >* dispatchers) OVERRIDE; + std::vector* transports) OVERRIDE; virtual void Attach(scoped_refptr channel, MessageInTransit::EndpointId local_id) OVERRIDE; virtual void Run(MessageInTransit::EndpointId remote_id) OVERRIDE; @@ -65,6 +63,12 @@ class MOJO_SYSTEM_IMPL_EXPORT ProxyMessagePipeEndpoint return remote_id_ != MessageInTransit::kInvalidEndpointId; } + // "Attaches" |transports| (which must be non-null and nonempty) to |message| + // by "serializing" them in an appropriate way, and closes each dispatcher. + void AttachAndCloseDispatchers(MessageInTransit* message, + std::vector* transports); + void EnqueueMessageInternal(MessageInTransit* message); + #ifdef NDEBUG void AssertConsistentState() const {} #else