Buttplug sex toy control library
at master 138 lines 1.9 kB view raw
1syntax = "proto3"; 2package handyplug; 3 4/* 5[ 6 { 7 "Ok": { 8 "Id": 1 9 } 10 } 11] 12*/ 13 14message Ok { 15 uint32 Id = 1; 16} 17 18/* 19[ 20 { 21 "Error": { 22 "Id": 1, 23 "ErrorMessage": "Server received invalid JSON.", 24 "ErrorCode": 3 25 } 26 } 27] 28*/ 29 30message Error { 31 uint32 Id = 1; 32 string ErrorMessage = 2; 33 int32 ErrorCode = 3; 34} 35 36/* 37[ 38 { 39 "Ping": { 40 "Id": 1 41 } 42 } 43] 44*/ 45 46message Ping { 47 uint32 Id = 1; 48} 49 50/* 51[ 52 { 53 "RequestServerInfo": { 54 "Id": 1, 55 "ClientName": "Test Client", 56 "MessageVersion": 1 57 } 58 } 59] 60*/ 61 62message RequestServerInfo { 63 uint32 Id = 1; 64 string ClientName = 2; 65 uint32 MessageVersion = 3; 66} 67 68/* 69[ 70 { 71 "ServerInfo": { 72 "Id": 1, 73 "ServerName": "Test Server", 74 "MessageVersion": 1, 75 "MaxPingTime": 100 76 } 77 } 78] 79*/ 80 81message ServerInfo { 82 uint32 Id = 1; 83 string ServerName = 2; 84 uint32 MessageVersion = 3; 85 uint32 MaxPingTime = 4; 86} 87 88/* 89[ 90 { 91 "LinearCmd": { 92 "Id": 1, 93 "DeviceIndex": 0, 94 "Vectors": [ 95 { 96 "Index": 0, 97 "Duration": 500, 98 "Position": 0.3 99 }, 100 { 101 "Index": 1, 102 "Duration": 1000, 103 "Position": 0.8 104 } 105 ] 106 } 107 } 108] 109*/ 110 111message LinearCmd { 112 uint32 Id = 1; 113 uint32 DeviceIndex = 2; 114 message Vector { 115 uint32 Index = 1; 116 uint32 Duration = 2; 117 double Position = 3; 118 } 119 repeated Vector Vectors = 3; 120} 121 122message Message { 123 oneof Message { 124 /* Status Messages */ 125 Ok Ok = 100; 126 Error Error = 101; 127 Ping Ping = 102; 128 /* Handshake Messages */ 129 RequestServerInfo RequestServerInfo = 200; 130 ServerInfo ServerInfo = 201; 131 /* Generic Device Messages */ 132 LinearCmd LinearCmd = 403; 133 } 134} 135 136message Payload { 137 repeated Message Messages = 1; 138}