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-01-29 19:50:47 +09:00

164 lines
2.9 KiB
Protocol Buffer

// Message wrapper
enum MessageType {
DEVICE_POKE = 1;
DEVICE_STATUS = 2;
DEVICE_TYPE = 3;
DEVICE_PROPERTIES = 4;
GROUP = 5;
JOIN_GROUP = 6;
LEAVE_GROUP = 7;
PROBE = 8;
SHELL_COMMAND = 9;
DEVICE_DATA = 10;
DEVICE_DONE = 11;
DEVICE_FAIL = 12;
DEVICE_IDENTITY = 13;
DEVICE_LOG = 14;
}
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;
}
// Introductions
message DevicePokeMessage {
required string serial = 1;
required string channel = 2;
}
message ProbeMessage {
}
enum DeviceStatus {
ABSENT = 1;
OFFLINE = 2;
UNAUTHORIZED = 3;
ONLINE = 4;
}
message DeviceStatusMessage {
required string serial = 1;
required DeviceStatus status = 2;
}
enum DeviceType {
PHYSICAL = 1;
VIRTUAL = 2;
}
message DeviceTypeMessage {
required string serial = 1;
required DeviceType type = 2;
}
enum DevicePlatform {
ANDROID = 100;
IOS = 200;
FIREFOX = 300;
}
enum DeviceManufacturer {
ACER = 1100;
APPLE = 1200;
ASUS = 1300;
CASIO = 1400;
FUJITSU = 1500;
HTC = 1600;
HUAWEI = 1700;
KYOCERA = 1800;
LG = 1900;
MOTOROLA = 2000;
NEC = 2100;
PANASONIC = 2200;
PANTECH = 2300;
RIM = 2400;
SAMSUNG = 2500;
SHARP = 2600;
SONY = 2700;
TOSHIBA = 2800;
ZTE = 2900;
}
message DeviceIdentityMessage {
required string serial = 1;
required DevicePlatform platform = 2;
required DeviceManufacturer manufacturer = 3;
required string model = 4;
required string version = 5;
required string abi = 6;
required string sdk = 7;
}
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 GroupMessage {
required string channel = 1;
required uint32 timeout = 2;
repeated DeviceRequirement requirements = 3;
}
message JoinGroupMessage {
required string serial = 1;
}
message LeaveGroupMessage {
required string serial = 1;
}
// Commands
message ShellCommandMessage {
required string channel = 1;
repeated string command = 2;
}
message DeviceDataMessage {
required string serial = 1;
required uint32 seq = 2;
required bytes data = 3;
}
message DeviceDoneMessage {
required string serial = 1;
}
message DeviceFailMessage {
required string serial = 1;
required string reason = 2;
}