blob: cc26319e8c2c8267047f3a01e15b4f6fd4e67ccd [file] [log] [blame]
// Message wrapper
enum MessageType {
CopyMessage = 33;
DeviceIntroductionMessage = 74;
DeviceAbsentMessage = 1;
DeviceIdentityMessage = 2;
DeviceLogcatEntryMessage = 3;
DeviceViewBridgeEntryMessage = 92;
DeviceLogMessage = 4;
DeviceReadyMessage = 5;
DevicePresentMessage = 6;
DevicePropertiesMessage = 7;
DeviceRegisteredMessage = 8;
DeviceStatusMessage = 9;
GroupMessage = 10;
InstallMessage = 30;
PhysicalIdentifyMessage = 29;
JoinGroupMessage = 11;
JoinGroupByAdbFingerprintMessage = 69;
JoinGroupByVncAuthResponseMessage = 90;
VncAuthResponsesUpdatedMessage = 91;
AutoGroupMessage = 70;
AdbKeysUpdatedMessage = 71;
KeyDownMessage = 12;
KeyPressMessage = 13;
KeyUpMessage = 14;
LaunchActivityMessage = 31;
LeaveGroupMessage = 15;
LogcatApplyFiltersMessage = 16;
PasteMessage = 32;
ProbeMessage = 17;
ShellCommandMessage = 18;
ShellKeepAliveMessage = 19;
TouchDownMessage = 21;
TouchMoveMessage = 22;
TouchUpMessage = 23;
TouchCommitMessage = 65;
TouchResetMessage = 66;
GestureStartMessage = 67;
GestureStopMessage = 68;
TransactionDoneMessage = 24;
TransactionProgressMessage = 25;
TypeMessage = 26;
UngroupMessage = 27;
UninstallMessage = 34;
RotateMessage = 35;
ForwardTestMessage = 36;
ForwardCreateMessage = 37;
ForwardRemoveMessage = 38;
LogcatStartMessage = 39;
ViewBridgeStartMessage = 93;
LogcatStopMessage = 40;
ViewBridgeStopMessage = 94;
ViewBridgeGetMessage = 95;
BrowserOpenMessage = 41;
BrowserClearMessage = 42;
AirplaneModeEvent = 43;
BatteryEvent = 44;
DeviceBrowserMessage = 45;
ConnectivityEvent = 46;
PhoneStateEvent = 47;
RotationEvent = 48;
StoreOpenMessage = 49;
ScreenCaptureMessage = 50;
DeviceHeartbeatMessage = 73;
RebootMessage = 52;
ConnectStartMessage = 53;
ConnectStopMessage = 54;
RingerSetMessage = 56;
RingerGetMessage = 64;
WifiSetEnabledMessage = 57;
WifiGetStatusMessage = 58;
AccountAddMenuMessage = 59;
AccountAddMessage = 60;
AccountCheckMessage = 63;
AccountGetMessage = 62;
AccountRemoveMessage = 55;
SdStatusMessage = 61;
ReverseForwardsEvent = 72;
FileSystemListMessage = 81;
FileSystemGetMessage = 82;
}
message FileSystemListMessage {
required string dir = 1;
}
message FileSystemGetMessage {
required string file = 1;
}
message Envelope {
required MessageType type = 1;
required bytes message = 2;
optional string channel = 3;
}
message TransactionProgressMessage {
required string source = 1;
required uint32 seq = 2;
optional string data = 3;
optional uint32 progress = 4 [default = 0];
}
message TransactionDoneMessage {
required string source = 1;
required uint32 seq = 2;
required bool success = 3;
optional string data = 4;
optional string body = 5;
}
// 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 DeviceHeartbeatMessage {
required string serial = 1;
}
message DeviceIntroductionMessage {
required string serial = 1;
required DeviceStatus status = 2;
required ProviderMessage provider = 3;
}
message DeviceRegisteredMessage {
required string serial = 1;
}
message DevicePresentMessage {
required string serial = 1;
}
message DeviceAbsentMessage {
required string serial = 1;
}
message DeviceReadyMessage {
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 int32 id = 1;
required int32 width = 2;
required int32 height = 3;
required int32 rotation = 4;
required float xdpi = 5;
required float ydpi = 6;
required float fps = 7;
required float density = 8;
required bool secure = 9;
required string url = 10;
optional float size = 11;
}
message DeviceBrowserAppMessage {
required string id = 1;
required string type = 2;
required string name = 3;
required bool selected = 4;
required bool system = 5;
}
message DeviceBrowserMessage {
required string serial = 1;
required bool selected = 2;
repeated DeviceBrowserAppMessage apps = 3;
}
message DevicePhoneMessage {
optional string imei = 1;
optional string phoneNumber = 2;
optional string iccid = 3;
optional string network = 4;
}
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 DevicePhoneMessage phone = 11;
optional string product = 12;
}
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;
optional uint32 timeout = 2;
repeated DeviceRequirement requirements = 3;
}
message AutoGroupMessage {
required OwnerMessage owner = 1;
required string identifier = 2;
}
message UngroupMessage {
repeated DeviceRequirement requirements = 2;
}
message JoinGroupMessage {
required string serial = 1;
required OwnerMessage owner = 2;
}
message JoinGroupByAdbFingerprintMessage {
required string serial = 1;
required string fingerprint = 2;
optional string comment = 3;
optional string currentGroup = 4;
}
message JoinGroupByVncAuthResponseMessage {
required string serial = 1;
required string response = 2;
optional string currentGroup = 4;
}
message AdbKeysUpdatedMessage {
}
message VncAuthResponsesUpdatedMessage {
}
message LeaveGroupMessage {
required string serial = 1;
required OwnerMessage owner = 2;
required string reason = 3;
}
// Input
message PhysicalIdentifyMessage {
}
message TouchDownMessage {
required uint32 seq = 1;
required uint32 contact = 2;
required float x = 3;
required float y = 4;
optional float pressure = 5;
}
message TouchMoveMessage {
required uint32 seq = 1;
required uint32 contact = 2;
required float x = 3;
required float y = 4;
optional float pressure = 5;
}
message TouchUpMessage {
required uint32 seq = 1;
required uint32 contact = 2;
}
message TouchCommitMessage {
required uint32 seq = 1;
}
message TouchResetMessage {
required uint32 seq = 1;
}
message GestureStartMessage {
required uint32 seq = 1;
}
message GestureStopMessage {
required uint32 seq = 1;
}
message TypeMessage {
required string text = 1;
}
message PasteMessage {
required string text = 1;
}
message CopyMessage {
}
message KeyDownMessage {
required string key = 1;
}
message KeyUpMessage {
required string key = 1;
}
message KeyPressMessage {
required string key = 1;
}
message RebootMessage {
}
// Output
message DeviceLogcatEntryMessage {
required string serial = 1;
required double date = 2;
required string message = 3;
}
message DeviceViewBridgeEntryMessage {
required string serial = 1;
required double date = 2;
required string message = 3;
}
message LogcatFilter {
required string tag = 1;
required uint32 priority = 2;
}
message LogcatStartMessage {
repeated LogcatFilter filters = 1;
optional string appId = 2;
}
message ViewBridgeStartMessage {
repeated LogcatFilter filters = 1;
optional string appId = 2;
}
message LogcatStopMessage {
optional string appId = 1;
}
message ViewBridgeStopMessage {
optional string appId = 1;
}
message ViewBridgeGetMessage {
optional string seq = 1;
}
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 href = 1;
required bool launch = 2;
optional string manifest = 3;
}
message UninstallMessage {
required string packageName = 1;
}
message LaunchActivityMessage {
required string action = 1;
required string component = 2;
repeated string category = 3;
optional uint32 flags = 4;
}
message RotateMessage {
required int32 rotation = 1;
}
message ForwardTestMessage {
required string targetHost = 1;
required uint32 targetPort = 2;
}
message ForwardCreateMessage {
required string id = 1;
required uint32 devicePort = 2;
required string targetHost = 3;
required uint32 targetPort = 4;
}
message ForwardRemoveMessage {
required string id = 1;
}
message ReverseForward {
required string id = 1;
required uint32 devicePort = 2;
required string targetHost = 3;
required uint32 targetPort = 4;
}
message ReverseForwardsEvent {
required string serial = 1;
repeated ReverseForward forwards = 2;
}
message BrowserOpenMessage {
required string url = 1;
optional string browser = 2;
}
message BrowserClearMessage {
optional string browser = 1;
}
message StoreOpenMessage {
}
message ScreenCaptureMessage {
}
message ConnectStartMessage {
}
message ConnectStopMessage {
}
message AccountAddMenuMessage {
}
message AccountAddMessage {
required string user = 1;
required string password = 2;
}
message AccountCheckMessage {
required string type = 1;
required string account = 2;
}
message AccountGetMessage {
optional string type = 1;
}
message AccountRemoveMessage {
required string type = 1;
optional string account = 2;
}
message SdStatusMessage {
}
enum RingerMode {
SILENT = 0;
VIBRATE = 1;
NORMAL = 2;
}
message RingerSetMessage {
required RingerMode mode = 1;
}
message RingerGetMessage {
}
message WifiSetEnabledMessage {
required bool enabled = 1;
}
message WifiGetStatusMessage {
}
// Events, these must be kept in sync with STFService/wire.proto
message AirplaneModeEvent {
required string serial = 1;
required bool enabled = 2;
}
message BatteryEvent {
required string serial = 1;
required string status = 2;
required string health = 3;
required string source = 4;
required uint32 level = 5;
required uint32 scale = 6;
required double temp = 7;
required double voltage = 8;
}
message ConnectivityEvent {
required string serial = 1;
required bool connected = 2;
optional string type = 3;
optional string subtype = 4;
optional bool failover = 5;
optional bool roaming = 6;
}
message PhoneStateEvent {
required string serial = 1;
required string state = 2;
required bool manual = 3;
optional string operator = 4;
}
message RotationEvent {
required string serial = 1;
required int32 rotation = 2;
}