blob: 32abf2bc05a0d7c681d9218c94823c9d46785078 [file] [log] [blame]
// Copyright 2012 Google Inc. All Rights Reserved.
package com.android.tools.sdkcontroller.lib;
/**
* Contains declarations of constants that are tied to emulator implementation.
* These constants can be changed only simultaneously in both places.
*/
public final class ProtocolConstants {
/*
* Constants related to data transfer.
*/
/** Signature of a packet sent via SDK controller socket ('SDKC') */
public static final int PACKET_SIGNATURE = 0x53444B43;
/*
* Header sizes for packets sent / received by SDK controller emulator.
*/
/**
* 12 bytes (3 ints) for the packet header:
* <p/>
* - Signature.
* <p/>
* - Total packet size.
* <p/>
* - Packet type.
*/
public static final int PACKET_HEADER_SIZE = 12;
/**
* 16 bytes (4 ints) for the message header:
* <p/>
* - Common packet header.
* <p/>
* - Message type.
*/
public static final int MESSAGE_HEADER_SIZE = 16;
/**
* 20 bytes (5 ints) for the query header:
* <p/>
* - Common packet header.
* <p/>
* - Query ID.
* <p/>
* - Query type.
*/
public static final int QUERY_HEADER_SIZE = 20;
/**
* 16 bytes (4 ints) for the query response:
* <p/>
* - Common packet header.
* <p/>
* - Query ID.
*/
public static final int QUERY_RESP_HEADER_SIZE = 16;
/*
* Types of packets transferred via SDK Controller channel.
*/
/** Packet is a message. */
public static final int PACKET_TYPE_MESSAGE = 1;
/** Packet is a query. */
public static final int PACKET_TYPE_QUERY = 2;
/** Packet is a response to a query. */
public static final int PACKET_TYPE_QUERY_RESPONSE = 3;
/*
* Constants related to handshake protocol between the emulator and a channel.
*/
/**
* Query type for a special "handshake" query.
* <p/>
* When emulator connects to SDK controller, the first thing that goes
* through the socket is a special "handshake" query that delivers channel name
* to the service.
*/
public static final int QUERY_HANDSHAKE = -1;
/**
* Handshake query response on condition that service-side channel is available
* (registered).
*/
public static final int HANDSHAKE_RESP_CONNECTED = 0;
/**
* Handshake query response on condition that service-side channel is not
* available (not registered).
*/
public static final int HANDSHAKE_RESP_NOPORT = 1;
/**
* Handshake query response on condition that there is already an existing
* emulator connection for this channel. Emulator should stop connection
* attempts in this case.
*/
public static final int HANDSHAKE_RESP_DUP = -1;
/** Response to an unknown handshake query type. */
public static final int HANDSHAKE_RESP_QUERY_UNKNOWN = -2;
/*
* Constants related to multi-touch emulation.
*/
/** Received frame is JPEG image. */
public static final int MT_FRAME_JPEG = 1;
/** Received frame is RGB565 bitmap. */
public static final int MT_FRAME_RGB565 = 2;
/** Received frame is RGB888 bitmap. */
public static final int MT_FRAME_RGB888 = 3;
/** Pointer(s) moved. */
public static final int MT_MOVE = 1;
/** First pointer down message. */
public static final int MT_FISRT_DOWN = 2;
/** Last pointer up message. */
public static final int MT_LAST_UP = 3;
/** Pointer down message. */
public static final int MT_POINTER_DOWN = 4;
/** Pointer up message. */
public static final int MT_POINTER_UP = 5;
/** Sends framebuffer update. */
public static final int MT_FB_UPDATE = 6;
/** Frame buffer update has been received. */
public static final int MT_FB_ACK = 7;
/** Frame buffer update has been handled. */
public static final int MT_FB_HANDLED = 8;
/** Size of an event entry in the touch event message to the emulator. */
public static final int MT_EVENT_ENTRY_SIZE = 16;
/*
* Constants related to sensor emulation.
*/
/** Query type for a query that should return the list of available sensors. */
public static final int SENSORS_QUERY_LIST = 1;
/** Message that starts sensor emulation. */
public static final int SENSORS_START = 1;
/** Message that stops sensor emulation. */
public static final int SENSORS_STOP = 2;
/** Message that enables emulation of a particular sensor. */
public static final int SENSORS_ENABLE = 3;
/** Message that disables emulation of a particular sensor. */
public static final int SENSORS_DISABLE = 4;
/** Message that delivers sensor events to emulator. */
public static final int SENSORS_SENSOR_EVENT = 5;
}