| // 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; |
| } |