1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-04 18:29:17 +02:00
OpenSTF/lib/wire/wire.proto
2014-02-07 00:58:39 +09:00

244 lines
4.7 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;
}
message KeyDownMessage {
required uint32 key = 1;
}
message KeyUpMessage {
required uint32 key = 1;
}
message KeyPressMessage {
required uint32 key = 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;
}