diff options
Diffstat (limited to 'ipc/ipc_channel_win.h')
-rw-r--r-- | ipc/ipc_channel_win.h | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/ipc/ipc_channel_win.h b/ipc/ipc_channel_win.h deleted file mode 100644 index 998b7f8..0000000 --- a/ipc/ipc_channel_win.h +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (c) 2008 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef IPC_IPC_CHANNEL_WIN_H_ -#define IPC_IPC_CHANNEL_WIN_H_ - -#include "ipc/ipc_channel.h" - -#include <queue> -#include <string> - -#include "base/message_loop.h" - -class NonThreadSafe; - -namespace IPC { - -class Channel::ChannelImpl : public MessageLoopForIO::IOHandler { - public: - // Mirror methods of Channel, see ipc_channel.h for description. - ChannelImpl(const std::wstring& channel_id, Mode mode, Listener* listener); - ~ChannelImpl() { Close(); } - bool Connect(); - void Close(); - void set_listener(Listener* listener) { listener_ = listener; } - bool Send(Message* message); - private: - const std::wstring PipeName(const std::wstring& channel_id) const; - bool CreatePipe(const std::wstring& channel_id, Mode mode); - - bool ProcessConnection(); - bool ProcessIncomingMessages(MessageLoopForIO::IOContext* context, - DWORD bytes_read); - bool ProcessOutgoingMessages(MessageLoopForIO::IOContext* context, - DWORD bytes_written); - - // MessageLoop::IOHandler implementation. - virtual void OnIOCompleted(MessageLoopForIO::IOContext* context, - DWORD bytes_transfered, DWORD error); - private: - struct State { - explicit State(ChannelImpl* channel); - ~State(); - MessageLoopForIO::IOContext context; - bool is_pending; - }; - - State input_state_; - State output_state_; - - HANDLE pipe_; - - Listener* listener_; - - // Messages to be sent are queued here. - std::queue<Message*> output_queue_; - - // We read from the pipe into this buffer - char input_buf_[Channel::kReadBufferSize]; - - // Large messages that span multiple pipe buffers, get built-up using - // this buffer. - std::string input_overflow_buf_; - - // In server-mode, we have to wait for the client to connect before we - // can begin reading. We make use of the input_state_ when performing - // the connect operation in overlapped mode. - bool waiting_connect_; - - // This flag is set when processing incoming messages. It is used to - // avoid recursing through ProcessIncomingMessages, which could cause - // problems. TODO(darin): make this unnecessary - bool processing_incoming_; - - ScopedRunnableMethodFactory<ChannelImpl> factory_; - - scoped_ptr<NonThreadSafe> thread_check_; - - DISALLOW_COPY_AND_ASSIGN(ChannelImpl); -}; - -} // namespace IPC - -#endif // IPC_IPC_CHANNEL_WIN_H_ |