| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef MOJO_SYSTEM_MESSAGE_PIPE_DISPATCHER_H_ | 5 #ifndef MOJO_SYSTEM_MESSAGE_PIPE_DISPATCHER_H_ |
| 6 #define MOJO_SYSTEM_MESSAGE_PIPE_DISPATCHER_H_ | 6 #define MOJO_SYSTEM_MESSAGE_PIPE_DISPATCHER_H_ |
| 7 | 7 |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 virtual MojoResult ReadMessageImplNoLock( | 69 virtual MojoResult ReadMessageImplNoLock( |
| 70 void* bytes, | 70 void* bytes, |
| 71 uint32_t* num_bytes, | 71 uint32_t* num_bytes, |
| 72 std::vector<scoped_refptr<Dispatcher> >* dispatchers, | 72 std::vector<scoped_refptr<Dispatcher> >* dispatchers, |
| 73 uint32_t* num_dispatchers, | 73 uint32_t* num_dispatchers, |
| 74 MojoReadMessageFlags flags) OVERRIDE; | 74 MojoReadMessageFlags flags) OVERRIDE; |
| 75 virtual MojoResult AddWaiterImplNoLock(Waiter* waiter, | 75 virtual MojoResult AddWaiterImplNoLock(Waiter* waiter, |
| 76 MojoWaitFlags flags, | 76 MojoWaitFlags flags, |
| 77 MojoResult wake_result) OVERRIDE; | 77 MojoResult wake_result) OVERRIDE; |
| 78 virtual void RemoveWaiterImplNoLock(Waiter* waiter) OVERRIDE; | 78 virtual void RemoveWaiterImplNoLock(Waiter* waiter) OVERRIDE; |
| 79 virtual size_t GetMaximumSerializedSizeImplNoLock( | 79 virtual void StartSerializeImplNoLock(Channel* channel, |
| 80 const Channel* channel) const OVERRIDE; | 80 size_t* max_size, |
| 81 virtual bool SerializeAndCloseImplNoLock(Channel* channel, | 81 size_t* max_platform_handles) OVERRIDE; |
| 82 void* destination, | 82 virtual bool EndSerializeAndCloseImplNoLock( |
| 83 size_t* actual_size) OVERRIDE; | 83 Channel* channel, |
| 84 void* destination, |
| 85 size_t* actual_size, |
| 86 std::vector<embedder::PlatformHandle>* platform_handles) OVERRIDE; |
| 84 | 87 |
| 85 // Protected by |lock()|: | 88 // Protected by |lock()|: |
| 86 scoped_refptr<MessagePipe> message_pipe_; // This will be null if closed. | 89 scoped_refptr<MessagePipe> message_pipe_; // This will be null if closed. |
| 87 unsigned port_; | 90 unsigned port_; |
| 88 | 91 |
| 89 DISALLOW_COPY_AND_ASSIGN(MessagePipeDispatcher); | 92 DISALLOW_COPY_AND_ASSIGN(MessagePipeDispatcher); |
| 90 }; | 93 }; |
| 91 | 94 |
| 92 class MessagePipeDispatcherTransport : public DispatcherTransport { | 95 class MessagePipeDispatcherTransport : public DispatcherTransport { |
| 93 public: | 96 public: |
| 94 explicit MessagePipeDispatcherTransport(DispatcherTransport transport); | 97 explicit MessagePipeDispatcherTransport(DispatcherTransport transport); |
| 95 | 98 |
| 96 MessagePipe* GetMessagePipe() { | 99 MessagePipe* GetMessagePipe() { |
| 97 return message_pipe_dispatcher()->GetMessagePipeNoLock(); | 100 return message_pipe_dispatcher()->GetMessagePipeNoLock(); |
| 98 } | 101 } |
| 99 unsigned GetPort() { return message_pipe_dispatcher()->GetPortNoLock(); } | 102 unsigned GetPort() { return message_pipe_dispatcher()->GetPortNoLock(); } |
| 100 | 103 |
| 101 private: | 104 private: |
| 102 MessagePipeDispatcher* message_pipe_dispatcher() { | 105 MessagePipeDispatcher* message_pipe_dispatcher() { |
| 103 return static_cast<MessagePipeDispatcher*>(dispatcher()); | 106 return static_cast<MessagePipeDispatcher*>(dispatcher()); |
| 104 } | 107 } |
| 105 | 108 |
| 106 // Copy and assign allowed. | 109 // Copy and assign allowed. |
| 107 }; | 110 }; |
| 108 | 111 |
| 109 } // namespace system | 112 } // namespace system |
| 110 } // namespace mojo | 113 } // namespace mojo |
| 111 | 114 |
| 112 #endif // MOJO_SYSTEM_MESSAGE_PIPE_DISPATCHER_H_ | 115 #endif // MOJO_SYSTEM_MESSAGE_PIPE_DISPATCHER_H_ |
| OLD | NEW |