1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-04 02:09:32 +02:00
OpenSTF/lib/wire/wire.proto
2014-02-17 19:27:45 +09:00

277 lines
5.3 KiB
Protocol Buffer

// Message wrapper
enum MessageType {
DevicePokeMessage = 1;
DeviceStatusMessage = 2;
DevicePropertiesMessage = 4;
GroupMessage = 5;
UngroupMessage = 15;
JoinGroupMessage = 6;
LeaveGroupMessage = 7;
ProbeMessage = 8;
ShellCommandMessage = 9;
ShellCommandDataMessage = 10;
ShellCommandDoneMessage = 11;
ShellCommandFailMessage = 12;
DeviceIdentityMessage = 13;
DeviceLogMessage = 14;
DevicePresentMessage = 16;
DeviceAbsentMessage = 17;
TouchDownMessage = 18;
TouchMoveMessage = 19;
TouchUpMessage = 20;
TapMessage = 21;
TypeMessage = 22;
KeyDownMessage = 23;
KeyUpMessage = 24;
KeyPressMessage = 25;
DeviceRegisteredMessage = 26;
DeviceLogcatEntryMessage = 27;
LogcatApplyFiltersMessage = 28;
}
message Envelope {
required MessageType type = 1;
required bytes message = 2;
}
// Logging
message DeviceLogMessage {
required string serial = 1;
required double timestamp = 2;
required uint32 priority = 3;
required string tag = 4;
required uint32 pid = 5;
required string message = 6;
required string identifier = 7;
}
// Introductions
message ProviderMessage {
required string channel = 1;
required string name = 2;
}
message DevicePresentMessage {
required string serial = 1;
required DeviceStatus status = 2;
required ProviderMessage provider = 3;
}
message DeviceRegisteredMessage {
required string serial = 1;
}
message DeviceAbsentMessage {
required string serial = 1;
}
message DevicePokeMessage {
required string serial = 1;
required string channel = 2;
}
message ProbeMessage {
}
enum DeviceStatus {
OFFLINE = 1;
UNAUTHORIZED = 2;
ONLINE = 3;
}
message DeviceStatusMessage {
required string serial = 1;
required DeviceStatus status = 2;
}
message DeviceDisplayMessage {
required uint32 id = 1;
required uint32 width = 2;
required uint32 height = 3;
required uint32 orientation = 4;
required uint32 xdpi = 5;
required uint32 ydpi = 6;
required double fps = 7;
required double density = 8;
required bool secure = 9;
required string url = 10;
}
message DeviceIdentityMessage {
required string serial = 1;
required string platform = 2;
required string manufacturer = 3;
optional string operator = 4;
required string model = 5;
required string version = 6;
required string abi = 7;
required string sdk = 8;
required DeviceDisplayMessage display = 9;
}
message DeviceProperty {
required string name = 1;
required string value = 2;
}
message DevicePropertiesMessage {
required string serial = 1;
repeated DeviceProperty properties = 2;
}
// Grouping
enum RequirementType {
SEMVER = 1;
GLOB = 2;
EXACT = 3;
}
message DeviceRequirement {
required string name = 1;
required string value = 2;
required RequirementType type = 3;
}
message OwnerMessage {
required string email = 1;
required string name = 2;
required string group = 3;
}
message GroupMessage {
required OwnerMessage owner = 1;
required uint32 timeout = 2;
repeated DeviceRequirement requirements = 3;
}
message UngroupMessage {
repeated DeviceRequirement requirements = 2;
}
message JoinGroupMessage {
required string serial = 1;
required OwnerMessage owner = 2;
}
message LeaveGroupMessage {
required string serial = 1;
required OwnerMessage owner = 2;
}
// Input
message TouchDownMessage {
required uint32 x = 1;
required uint32 y = 2;
}
message TouchMoveMessage {
required uint32 x = 1;
required uint32 y = 2;
}
message TouchUpMessage {
required uint32 x = 1;
required uint32 y = 2;
}
message TapMessage {
required uint32 x = 1;
required uint32 y = 2;
}
message TypeMessage {
required string text = 1;
}
enum KeyCode {
HOME = 3;
BACK = 4;
BACKSPACE = 8;
ENTER = 13;
CAPS_LOCK = 20;
ESC = 27;
PAGE_UP = 33;
PAGE_DOWN = 34;
MOVE_END = 35;
MOVE_HOME = 36;
LEFT_ARROW = 37;
UP_ARROW = 38;
RIGHT_ARROW = 39;
DOWN_ARROW = 40;
INSERT = 45;
DELETE = 46;
MENU = 93;
F1 = 112;
F2 = 113;
F3 = 114;
F4 = 115;
F5 = 116;
F6 = 117;
F7 = 118;
F8 = 119;
F9 = 120;
F10 = 121;
F11 = 122;
F12 = 123;
NUM_LOCK = 144;
}
message KeyDownMessage {
required KeyCode keyCode = 1;
}
message KeyUpMessage {
required KeyCode keyCode = 1;
}
message KeyPressMessage {
required KeyCode keyCode = 1;
}
// Output
message DeviceLogcatEntryMessage {
required string serial = 1;
required double date = 2;
required uint32 pid = 3;
required uint32 tid = 4;
required uint32 priority = 5;
required string tag = 6;
required string message = 7;
}
message LogcatFilter {
required string tag = 1;
required uint32 priority = 2;
}
message LogcatApplyFiltersMessage {
repeated LogcatFilter filters = 1;
}
// Commands
message ShellCommandMessage {
required string channel = 1;
repeated string command = 2;
}
message ShellCommandDataMessage {
required string serial = 1;
required uint32 seq = 2;
required bytes data = 3;
}
message ShellCommandDoneMessage {
required string serial = 1;
}
message ShellCommandFailMessage {
required string serial = 1;
required string reason = 2;
}