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 10namespace forwarder2 { 11 12class Socket; 13 14namespace command { 15 16enum 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 36bool 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. 42bool ReceivedCommand(command::Type command, Socket* socket); 43 44bool SendCommand(command::Type command, int port, Socket* socket); 45 46} // namespace forwarder 47 48#endif // TOOLS_ANDROID_FORWARDER2_COMMAND_H_ 49