// // Copyright © 2019 contains code contributed by Orange SA, authors: Denis Barbaron - Licensed under the Apache license 2.0 // // Message wrapper enum MessageType { CopyMessage = 33; DeviceIntroductionMessage = 74; DeviceAbsentMessage = 1; DeviceIdentityMessage = 2; DeviceLogcatEntryMessage = 3; 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; LogcatStopMessage = 40; 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; ConnectStartedMessage = 92; ConnectStoppedMessage = 93; GroupUserChangeMessage = 1200; DeviceGroupChangeMessage = 1201; DeviceOriginGroupMessage = 1202; DeleteUserMessage = 1203; UpdateAccessTokenMessage = 1204; GroupChangeMessage = 1205; UserChangeMessage = 1206; DeviceChangeMessage = 1207; } message UpdateAccessTokenMessage { } message DeleteUserMessage { required string email = 1; } message DeviceOriginGroupMessage { required string signature = 1; } message UserQuotasDetailField { required double duration = 1; required uint32 number = 2; } message UserQuotasField { required UserQuotasDetailField allocated = 1; required UserQuotasDetailField consumed = 2; required uint32 defaultGroupsDuration = 3; required uint32 defaultGroupsNumber = 4; required uint32 defaultGroupsRepetitions = 5; required uint32 repetitions = 6; } message UserGroupsField { required UserQuotasField quotas = 1; repeated string subscribed = 2; } message UserField { required string email = 1; required string name = 2; required string privilege = 3; required UserGroupsField groups = 4; } message UserChangeMessage { required UserField user = 1; required bool isAddedGroup = 2; repeated string groups = 3; required string action = 4; repeated string targets = 5; required double timeStamp = 6; } message DeviceNetworkField { optional string type = 1; optional string subtype = 2; } message DeviceDisplayField { optional uint32 height = 1; optional uint32 width = 2; } message DevicePhoneField { optional string imei = 1; } message DeviceProviderField { optional string name = 1; } message DeviceGroupField { optional string origin = 1; optional string originName = 2; } message DeviceField { required string serial = 1; optional string model = 2; optional string version = 3; optional string operator = 4; optional DeviceNetworkField network = 5; optional DeviceDisplayField display = 6; optional string manufacturer = 7; optional string sdk = 8; optional string abi = 9; optional string cpuPlatform = 10; optional string openGLESVersion = 11; optional DevicePhoneField phone = 12; optional DeviceProviderField provider = 13; optional DeviceGroupField group = 14; } message DeviceChangeMessage { required DeviceField device = 1; required string action = 2; required string oldOriginGroupId = 3; required double timeStamp = 4; } message GroupDateField { required string start = 1; required string stop = 2; } message GroupOwnerField { required string email = 1; required string name = 2; } message GroupField { required string id = 1; required string name = 2; required string class = 3; required string privilege = 4; required GroupOwnerField owner = 5; repeated GroupDateField dates = 6; required uint32 duration = 7; required uint32 repetitions = 8; repeated string devices = 9; repeated string users = 10; required string state = 11; required bool isActive = 12; } message GroupChangeMessage { required GroupField group = 1; required string action = 2; repeated string subscribers = 3; required bool isChangedDates = 4; required bool isChangedClass = 5; required bool isAddedUser = 6; repeated string users = 7; required bool isAddedDevice = 8; repeated string devices = 9; required double timeStamp = 10; } message DeviceGroupChangeMessage { required string id = 1; required DeviceGroupMessage group = 2; required string serial = 3; } message GroupUserChangeMessage { repeated string users = 1; required bool isAdded = 2; required string id = 3; required bool isDeletedLater = 4; repeated string devices = 5; } message ConnectStartedMessage { required string serial = 1; required string url = 2; } message ConnectStoppedMessage { required string serial = 1; } 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 DeviceGroupOwnerMessage { required string email = 1; required string name = 2; } message DeviceGroupLifetimeMessage { required double start = 1; required double stop = 2; } message DeviceGroupMessage { required string id = 1; required string name = 2; required DeviceGroupOwnerMessage owner = 3; required DeviceGroupLifetimeMessage lifeTime = 4; required string class = 5; required uint32 repetitions = 6; required string originName = 7; } 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; optional DeviceGroupMessage group = 4; } 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; CONNECTING = 4; AUTHORIZING = 5; } 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 imsi = 5; 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; optional string cpuPlatform = 13; optional string openGLESVersion = 14; optional string marketName = 15; } 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; optional string usage = 4; } 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; optional string usage = 3; } 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 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 LogcatStartMessage { repeated LogcatFilter filters = 1; } message LogcatStopMessage { } 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; }