5 * @page protocol Protocol
6 * Here is a page with some descriptions about protocol explained
9 rpc killServer(ReqEmpty) returns (RspEmpty) {}
10 rpc findElement(ReqFindElement) returns (RspFindElement) {}
11 rpc getValue(ReqGetValue) returns (RspGetValue) {}
12 rpc setValue(ReqSetValue) returns (RspSetValue) {}
13 rpc getSize(ReqGetSize) returns (RspGetSize) {}
14 rpc clear(ReqClear) returns (RspClear) {}
15 rpc getAttribute(ReqGetAttribute) returns (RspGetAttribute) {}
16 rpc click(ReqClick) returns (RspClick) {}
17 rpc longClick(ReqClick) returns (RspClick) {}
18 rpc flick(ReqFlick) returns (RspFlick) {}
19 rpc touchDown(ReqTouchDown) returns (RspTouchDown) {}
20 rpc touchMove(ReqTouchMove) returns (RspTouchMove) {}
21 rpc touchUp(ReqTouchUp) returns (RspTouchUp) {}
22 rpc installApp(stream ReqInstallApp) returns (RspInstallApp) {}
23 rpc removeApp(ReqRemoveApp) returns (RspRemoveApp) {}
24 rpc getAppInfo(ReqGetAppInfo) returns (RspGetAppInfo) {}
25 rpc launchApp(ReqLaunchApp) returns (RspLaunchApp) {}
26 rpc closeApp(ReqCloseApp) returns (RspCloseApp) {}
27 rpc getDeviceTime(ReqGetDeviceTime) returns (RspGetDeviceTime) {}
28 rpc getLocation(ReqGetLocation) returns (RspGetLocation) {}
29 rpc sendKey(ReqKey) returns (RspKey) {}
30 rpc takeScreenshot(ReqTakeScreenshot) returns (stream RspTakeScreenshot) {}
31 rpc dumpObjectTree(ReqDumpObjectTree) returns (RspDumpObjectTree) {}
34 // ------------------------------------ //
51 repeated Element child = 2;
55 string widget_type = 4;
56 string widget_style = 5;
60 string automationId = 8;
65 bool isCheckable = 12;
66 bool isClickable = 13;
69 bool isFocusable = 16;
70 bool isScrollable = 17;
75 bool isSelectable = 22;
90 // ------------------------------------ //
92 message ReqFindElement {
98 string automationId = 2;
102 string textField = 3;
106 string widgetType = 4;
110 string widgetStyle = 5;
122 bool isClickable = 8;
134 bool isFocusable = 11;
137 oneof _isscrollable {
138 bool isScrollable = 12;
142 bool isSelected = 13;
161 string packageName = 18;
164 repeated ReqFindElement children = 19;
166 message RspFindElement {
167 RspStatus status = 1;
168 repeated Element elements = 2;
171 // ------------------------------------ //
173 message ReqGetValue {
174 string elementId = 1;
175 // TODO : text, widgetstyle, widgettype, automationid
177 message RspGetValue {
178 RspStatus status = 1;
181 string stringValue = 3;
183 double doubleValue = 5;
188 message ReqSetValue {
189 string elementId = 1;
192 string stringValue = 3;
194 double doubleValue = 5;
198 message RspSetValue {
199 RspStatus status = 1;
203 string elementId = 1;
206 RspStatus status = 1;
211 string elementId = 1;
214 RspStatus status = 1;
217 message ReqGetAttribute {
232 string elementId = 1;
233 RequestType attribute = 2;
235 message RspGetAttribute {
236 RspStatus status = 1;
240 // ------------------------------------ //
248 RequestType type = 1;
250 string elementId = 2;
251 Point coordination = 3;
255 RspStatus status = 1;
259 Point startPoint = 1;
261 int32 durationMs = 3;
264 RspStatus status = 1;
267 message ReqTouchDown{
268 Point coordination = 1;
270 message RspTouchDown{
271 RspStatus status = 1;
275 message ReqTouchMove{
277 Point coordination = 2;
279 message RspTouchMove{
280 RspStatus status = 1;
285 Point coordination = 2;
288 RspStatus status = 1;
291 // ------------------------------------ //
293 message ReqInstallApp{
296 message RspInstallApp{
297 RspStatus status = 1;
300 message ReqRemoveApp{
301 string packageName = 1;
303 message RspRemoveApp{
304 RspStatus status = 1;
307 message ReqGetAppInfo{
308 string packageName = 1;
310 message RspGetAppInfo {
311 RspStatus status = 1;
312 bool isInstalled = 2;
317 message ReqLaunchApp{
318 string packageName = 1;
320 message RspLaunchApp{
321 RspStatus status = 1;
325 string packageName = 1;
328 RspStatus status = 1;
331 // ------------------------------------ //
333 message ReqGetDeviceTime{
340 message RspGetDeviceTime{
341 RspStatus status = 1;
342 int64 timestampUTC = 2;
343 string localeDatetime = 3;
346 message ReqGetLocation{
348 message RspGetLocation{
349 RspStatus status = 1;
374 KeyActionType actionType = 2;
376 //uint32 keyCode = 3;
377 string XF86keyCode = 4;
381 RspStatus status = 1;
384 message ReqTakeScreenshot{
386 message RspTakeScreenshot{
390 // ------------------------------------ //
397 // ------------------------------------ //
399 message ReqDumpObjectTree {
400 string elementId = 1;
403 message RspDumpObjectTree {
404 RspStatus status = 1;
405 repeated Element roots = 2;