- add sources.
[platform/framework/web/crosswalk.git] / src / tools / android / forwarder2 / command.h
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef TOOLS_ANDROID_FORWARDER2_COMMAND_H_
6 #define TOOLS_ANDROID_FORWARDER2_COMMAND_H_
7
8 #include "base/basictypes.h"
9
10 namespace forwarder2 {
11
12 class Socket;
13
14 namespace command {
15
16 enum Type {
17   ACCEPT_ERROR = 0,
18   ACCEPT_SUCCESS,
19   ACK,
20   ADB_DATA_SOCKET_ERROR,
21   ADB_DATA_SOCKET_SUCCESS,
22   BIND_ERROR,
23   BIND_SUCCESS,
24   DATA_CONNECTION,
25   HOST_SERVER_ERROR,
26   HOST_SERVER_SUCCESS,
27   KILL_ALL_LISTENERS,
28   LISTEN,
29   UNLISTEN,
30   UNLISTEN_ERROR,
31   UNLISTEN_SUCCESS,
32 };
33
34 }  // namespace command
35
36 bool ReadCommand(Socket* socket,
37                  int* port_out,
38                  command::Type* command_type_out);
39
40 // Helper function to read the command from the |socket| and return true if the
41 // |command| is equal to the given command parameter.
42 bool ReceivedCommand(command::Type command, Socket* socket);
43
44 bool SendCommand(command::Type command, int port, Socket* socket);
45
46 }  // namespace forwarder
47
48 #endif  // TOOLS_ANDROID_FORWARDER2_COMMAND_H_