blob: 8e222ef7bb96502ad97d705bdc09a9eb6a5e38de [file] [log] [blame]
// Copyright (c) 2012 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 TOOLS_ANDROID_FORWARDER2_COMMAND_H_
#define TOOLS_ANDROID_FORWARDER2_COMMAND_H_
#include "base/basictypes.h"
namespace forwarder2 {
class Socket;
namespace command {
enum Type {
ACCEPT_ERROR = 0,
ACCEPT_SUCCESS,
ACK,
ADB_DATA_SOCKET_ERROR,
ADB_DATA_SOCKET_SUCCESS,
BIND_ERROR,
BIND_SUCCESS,
DATA_CONNECTION,
HOST_SERVER_ERROR,
HOST_SERVER_SUCCESS,
KILL_ALL_LISTENERS,
LISTEN,
UNLISTEN,
UNLISTEN_ERROR,
UNLISTEN_SUCCESS,
};
} // namespace command
bool ReadCommand(Socket* socket,
int* port_out,
command::Type* command_type_out);
// Helper function to read the command from the |socket| and return true if the
// |command| is equal to the given command parameter.
bool ReceivedCommand(command::Type command, Socket* socket);
bool SendCommand(command::Type command, int port, Socket* socket);
} // namespace forwarder
#endif // TOOLS_ANDROID_FORWARDER2_COMMAND_H_