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_ 49