diff -r 000000000000 -r 6474c204b198 ipc/ipdl/test/cxx/PTestJSON.ipdl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ipc/ipdl/test/cxx/PTestJSON.ipdl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,54 @@ +include protocol PTestHandle; + +using struct mozilla::void_t from "ipc/IPCMessageUtils.h"; +using struct mozilla::null_t from "ipc/IPCMessageUtils.h"; + +namespace mozilla { +namespace _ipdltest { + +union Key { +// int; +// double; + nsString; +}; + +struct KeyValue { + Key key; + JSONVariant value; +}; + +union JSONVariant { + void_t; + null_t; + bool; + int; + double; + nsString; + PTestHandle; + KeyValue[]; + JSONVariant[]; +}; + +sync protocol PTestJSON { + manages PTestHandle; + +child: + async Start(); + +parent: + async PTestHandle(); + sync Test(JSONVariant i) + returns (JSONVariant o); + async __delete__(); + +state START: + send Start goto TEST; + +state TEST: + recv PTestHandle goto TEST; + recv Test goto TEST; + recv __delete__; +}; + +} // namespace mozilla +} // namespace _ipdltest