PTestJSON.ipdl (748B)
1 include protocol PTestJSONHandle; 2 3 using struct mozilla::void_t from "mozilla/ipc/IPCCore.h"; 4 using struct mozilla::null_t from "mozilla/ipc/IPCCore.h"; 5 6 namespace mozilla { 7 namespace _ipdltest { 8 9 [Comparable] 10 struct KeyValue { 11 nsString key; 12 JSONVariant value; 13 }; 14 15 [Comparable] 16 union JSONVariant { 17 void_t; 18 null_t; 19 bool; 20 int; 21 double; 22 nsString; 23 PTestJSONHandle; 24 KeyValue[]; 25 JSONVariant[]; 26 }; 27 28 [ChildProc=any, ChildImpl=virtual, ParentImpl=virtual] 29 sync protocol PTestJSON { 30 manages PTestJSONHandle; 31 32 child: 33 async Start(); 34 35 parent: 36 async PTestJSONHandle(); 37 sync Test(JSONVariant i) 38 returns (JSONVariant o); 39 async __delete__(); 40 }; 41 42 } // namespace mozilla 43 } // namespace _ipdltest