1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-04 10:19:30 +02:00
OpenSTF/lib/wire/wire.proto
2014-04-01 19:29:28 +09:00

328 lines
6.5 KiB
Protocol Buffer

// Message wrapper
enum MessageType {
CopyMessage = 33;
DeviceAbsentMessage = 1;
DeviceHeartbeatMessage = 28;
DeviceIdentityMessage = 2;
DeviceLogcatEntryMessage = 3;
DeviceLogMessage = 4;
DevicePokeMessage = 5;
DevicePresentMessage = 6;
DevicePropertiesMessage = 7;
DeviceRegisteredMessage = 8;
DeviceStatusMessage = 9;
GroupMessage = 10;
InstallMessage = 30;
PhysicalIdentifyMessage = 29;
JoinGroupMessage = 11;
KeyDownMessage = 12;
KeyPressMessage = 13;
KeyUpMessage = 14;
LaunchActivityMessage = 31;
LeaveGroupMessage = 15;
LogcatApplyFiltersMessage = 16;
PasteMessage = 32;
ProbeMessage = 17;
ShellCommandMessage = 18;
ShellKeepAliveMessage = 19;
TapMessage = 20;
TouchDownMessage = 21;
TouchMoveMessage = 22;
TouchUpMessage = 23;
TransactionDoneMessage = 24;
TransactionProgressMessage = 25;
TypeMessage = 26;
UngroupMessage = 27;
}
message Envelope {
required MessageType type = 1;
required bytes message = 2;
optional string channel = 3;
}
message TransactionProgressMessage {
required string serial = 1;
required uint32 seq = 2;
optional string data = 3;
optional uint32 progress = 4 [default = 0];
}
message TransactionDoneMessage {
required string serial = 1;
required uint32 seq = 2;
required bool success = 3;
optional string data = 4;
}
// Heartbeat
message DeviceHeartbeatMessage {
required string serial = 1;
}
// 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 DeviceBrowserAppMessage {
required string name = 1;
required string component = 2;
required bool selected = 3;
required string icon = 4;
}
message DeviceBrowsersMessage {
required bool selected = 1;
repeated DeviceBrowserAppMessage apps = 2;
}
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;
required DeviceBrowsersMessage browsers = 10;
}
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 PhysicalIdentifyMessage {
}
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;
}
message PasteMessage {
required string text = 1;
}
message CopyMessage {
}
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 command = 1;
required uint32 timeout = 2;
}
message ShellKeepAliveMessage {
required uint32 timeout = 1;
}
message InstallMessage {
required string url = 1;
optional LaunchActivityMessage launchActivity = 2;
}
message LaunchActivityMessage {
required string action = 1;
required string component = 2;
repeated string category = 3;
optional uint32 flags = 4;
}