deadYokai

wearable.proto

Mar 2nd, 2026
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.50 KB | Source Code | 0 0
  1. /*
  2. * SPDX-FileCopyrightText: 2015, microG Project Team
  3. * SPDX-License-Identifier: Apache-2.0
  4. */
  5.  
  6. option java_package = "org.microg.gms.wearable.proto";
  7. option java_outer_classname = "WearableProto";
  8.  
  9. message AckAsset {
  10. optional string digest = 1;
  11. }
  12.  
  13. message AppKey {
  14. optional string packageName = 1;
  15. optional string signatureDigest = 2;
  16. }
  17.  
  18. message AppKeys {
  19. repeated AppKey appKeys = 1;
  20. }
  21.  
  22. message Asset {
  23. // cannot find what other fields is
  24. // maybe deprecated and
  25. // not used anymore in new google gms
  26. optional string digest = 4;
  27. }
  28.  
  29. message AssetEntry {
  30. optional string key = 1;
  31. optional Asset value = 2;
  32. optional int32 unknown3 = 3;
  33. }
  34.  
  35. message ChannelControlRequest {
  36. optional int32 type = 1;
  37. optional sfixed64 channelId = 2;
  38. optional bool fromChannelOperator = 3;
  39. optional string packageName = 4;
  40. optional string signatureDigest = 5;
  41. optional string path = 6;
  42. optional int32 closeErrorCode = 7;
  43. optional bool isReliable = 8;
  44. }
  45.  
  46. message ChannelDataAckRequest {
  47. optional ChannelDataHeader header = 1;
  48. optional bool finalMessage = 2;
  49. }
  50.  
  51. message ChannelDataHeader {
  52. optional sfixed64 channelId = 1;
  53. optional bool fromChannelOperator = 2;
  54. optional int64 requestId = 3;
  55. }
  56.  
  57. message ChannelDataRequest {
  58. optional ChannelDataHeader header = 1;
  59. optional bytes payload = 2;
  60. optional bool finalMessage = 3;
  61. }
  62.  
  63. message ChannelTransferInfo {
  64. optional int64 offset = 1;
  65. optional bool is_last_chunk = 2;
  66. optional int64 total_size = 3;
  67. }
  68.  
  69. message ChannelTransferRequest {
  70. optional ChannelTransferInfo transfer_info = 1;
  71. optional bytes payload = 2;
  72. optional bool isFinal = 3;
  73. }
  74.  
  75. message ChannelCloseRequest {
  76. optional ChannelTransferInfo transfer_info = 1;
  77. optional bool isCancelled = 2;
  78. }
  79.  
  80. message ChannelOpenRequest {
  81. enum ChannelType {
  82. CHANNEL_TYPE_UNKNOWN = 0;
  83. CHANNEL_TYPE_DUPLEX = 1;
  84. CHANNEL_TYPE_SOURCE = 2;
  85. CHANNEL_TYPE_SINK = 3;
  86. }
  87.  
  88. optional ChannelType type = 1;
  89. optional sfixed64 channelId = 2;
  90. optional bool isEncrypted = 3;
  91. optional string sourceNodeId = 4;
  92. optional string targetNodeId = 5;
  93. optional string path = 6;
  94. optional int32 flags = 7;
  95. optional bool isReliable = 8;
  96. optional bytes payload = 9;
  97. }
  98.  
  99. message ChannelRequest {
  100. optional ChannelTransferRequest channelControlRequest = 2;
  101. optional ChannelOpenRequest channelDataRequest = 3;
  102. optional ChannelCloseRequest channelDataAckRequest = 4;
  103. optional int32 status_code = 6;
  104. optional int32 error_code = 7;
  105. }
  106.  
  107. message Connect {
  108. optional string id = 1;
  109. optional string name = 2;
  110. optional int64 peerAndroidId = 3;
  111. optional int32 peerVersion = 4;
  112. optional int32 peerMinimumVersion = 5;
  113. optional int32 capabilities = 6;
  114. optional string networkId = 7;
  115. optional string packageName = 8;
  116. optional bool migrating = 9;
  117. optional string migratingFromNodeId = 10;
  118. optional int32 androidSdkVersion = 11;
  119. }
  120.  
  121. message FetchAsset {
  122. optional string digest = 1;
  123. optional string target_node_id = 2;
  124. optional string source_node_id = 3;
  125. optional bool is_urgent = 4;
  126. }
  127.  
  128. message FilePiece {
  129. optional string fileName = 1;
  130. optional bool isFinalPiece = 2;
  131. optional bytes data = 3;
  132. optional string mime_type = 4;
  133. }
  134.  
  135. message Heartbeat {
  136.  
  137. }
  138.  
  139. message MessagePiece {
  140. optional bytes data = 1;
  141. optional string digest = 2;
  142. optional int32 thisPiece = 3;
  143. optional int32 totalPieces = 4;
  144. optional int32 queueId = 5;
  145. }
  146.  
  147. message Request {
  148. enum Type {
  149. TYPE_REQUEST = 0;
  150. TYPE_RESPONSE = 1;
  151. TYPE_ERROR = 2;
  152. }
  153.  
  154. optional int32 requestId = 1;
  155. optional string targetNodeId = 2;
  156. optional string sourceNodeId = 3;
  157. optional string path = 4;
  158. optional int32 response_id = 5; // 0 if request, >0 for reply
  159. optional string packageName = 6;
  160. optional bytes rawData = 7;
  161. optional string correlation_id = 8;
  162. optional ChannelRequest request = 9;
  163. optional int32 channel_id = 10;
  164. optional bool is_response = 11;
  165. optional int32 flags = 12;
  166. optional Type priority = 13;
  167. }
  168.  
  169. //message Request {
  170. // enum Priority {
  171. // PRIORITY_LOW = 0;
  172. // PRIORITY_DEFAULT = 1;
  173. // PRIORITY_HIGH = 2;
  174. // }
  175. //
  176. // optional int32 requestId = 1;
  177. // optional string packageName = 2;
  178. // optional string signatureDigest = 3;
  179. // optional string targetNodeId = 4;
  180. // optional int32 unknown5 = 5; // always has to be 0, same in gms
  181. // optional string path = 6;
  182. // optional bytes rawData = 7;
  183. // optional string sourceNodeId = 8;
  184. // optional ChannelRequest request = 9;
  185. // optional int32 generation = 10;
  186. // optional bool requiresResponse = 11;
  187. // optional int32 senderRequestId = 12;
  188. // optional Priority priority = 13;
  189. //}
  190.  
  191. message RootMessage {
  192. optional SetAsset setAsset = 4;
  193. optional AckAsset ackAsset = 5;
  194. optional FetchAsset fetchAsset = 6;
  195. optional Connect connect = 7;
  196. optional Request rpcRequest = 8;
  197. optional Heartbeat heartbeat = 9;
  198. optional FilePiece filePiece = 10;
  199. optional Request channelRequest = 11;
  200. optional EncryptionHandshake encryption_handshake = 12;
  201. optional Request rpcWithResponseId = 13;
  202. optional bool hasFileAttachment = 16;
  203. optional SyncStart syncStart = 17;
  204. // IosMultiAppAuth = 18
  205. optional SetDataItem setDataItem = 19;
  206. optional ControlMessage control_message = 20;
  207. }
  208.  
  209. //message RootMessage {
  210. // optional SetAsset setAsset = 4;
  211. // optional AckAsset ackAsset = 5;
  212. // optional FetchAsset fetchAsset = 6;
  213. // optional Connect connect = 7;
  214. // optional SyncStart syncStart = 8;
  215. // optional SetDataItem setDataItem = 9;
  216. // optional Request rpcRequest = 10;
  217. // optional Heartbeat heartbeat = 11;
  218. // optional FilePiece filePiece = 12;
  219. // optional bool hasAsset = 13;
  220. // optional Request channelRequest = 16;
  221. // optional EncryptionHandshake encryption_handshake = 17;
  222. // optional Request rpcWithResponseId = 18;
  223. // // IosMultiAppAuth = 19
  224. // optional ControlMessage control_message = 20;
  225. //}
  226.  
  227. message SetAsset {
  228. optional string digest = 1;
  229. optional bytes data = 2;
  230. optional AppKeys appkeys = 3;
  231. }
  232.  
  233. message SetDataItem {
  234. optional string packageName = 1;
  235. optional string uri = 2;
  236. repeated string unknown3 = 3;
  237. optional bytes data = 4;
  238. optional int64 seqId = 5;
  239. optional bool deleted = 6;
  240. optional string source = 7;
  241. repeated AssetEntry assets = 8;
  242. optional string signatureDigest = 9;
  243. optional int64 lastModified = 10;
  244. }
  245.  
  246. message PathEntry {
  247. optional string path = 1;
  248. }
  249.  
  250. message PathList {
  251. repeated PathEntry items = 1;
  252. }
  253.  
  254. message DataDigest {
  255. enum AlgoType {
  256. ALGO_TYPE_UNKNOWN = 0;
  257. ALGO_TYPE_MD5 = 1;
  258. ALGO_TYPE_SHA1 = 2;
  259. }
  260.  
  261. optional AlgoType algorithm = 1;
  262. optional string value = 2;
  263. }
  264.  
  265. message DataDigestList {
  266. repeated DataDigest items = 1;
  267. }
  268.  
  269. message SyncStartItem {
  270. optional string uri = 1;
  271. optional DataDigestList digest_list = 2;
  272. optional PathList path_list = 3;
  273. }
  274.  
  275. message SyncStartItems {
  276. repeated SyncStartItem items = 1;
  277. }
  278.  
  279. message SyncStart {
  280. optional int64 timestamp = 1;
  281. repeated SyncTableEntry syncTable = 2;
  282. optional int32 sync_type = 3;
  283. optional SyncStartItems items = 4;
  284. }
  285.  
  286. message SyncTableEntry {
  287. optional string uri = 1;
  288. optional int64 version = 2;
  289. }
  290.  
  291. message EncryptionHandshake {
  292. enum Role {
  293. ROLE_UNKNOWN = 0;
  294. ROLE_INITIATOR = 1;
  295. ROLE_RESPONDER = 2;
  296. }
  297.  
  298. optional bytes pubKey = 1;
  299. optional bytes nonce = 2;
  300. optional bool isResumed = 3;
  301. optional Role role = 4;
  302. }
  303.  
  304. message ControlMessage {
  305. enum Type {
  306. TYPE_UNKNOWN = 0;
  307. TYPE_CONNECTION_REQ = 1;
  308. TYPE_CONNECTION_ACK = 2;
  309. TYPE_DISCONNECT = 3;
  310. TYPE_BANDWIDTH_UPGRADE = 4;
  311. TYPE_KEEP_ALIVE = 5;
  312. TYPE_DISCONNECT_ACK = 6;
  313. TYPE_PAYLOAD_TRANSFER = 7;
  314. }
  315.  
  316. optional Type type = 1;
  317. optional AccountMatchingMessage account_matching_message = 2;
  318. }
  319.  
  320. message AccountMatchingEntry {
  321. optional string key = 1;
  322. optional string value = 2;
  323. }
  324.  
  325. message AccountMatchingMessage {
  326. optional int32 status = 1;
  327. repeated AccountMatchingEntry entries = 2;
  328. optional string token = 3;
  329. }
  330.  
Advertisement
Add Comment
Please, Sign In to add comment