diff options
Diffstat (limited to 'ipc/ipdl/test/cxx/PTestJSON.ipdl')
-rw-r--r-- | ipc/ipdl/test/cxx/PTestJSON.ipdl | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/ipc/ipdl/test/cxx/PTestJSON.ipdl b/ipc/ipdl/test/cxx/PTestJSON.ipdl new file mode 100644 index 0000000000..c785abe77a --- /dev/null +++ b/ipc/ipdl/test/cxx/PTestJSON.ipdl @@ -0,0 +1,49 @@ +include protocol PTestHandle; + +include "mozilla/_ipdltest/TestJSON.h"; + +using struct mozilla::void_t from "mozilla/ipc/IPCCore.h"; +using struct mozilla::null_t from "mozilla/ipc/IPCCore.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[]; +}; + +[ManualDealloc, ChildImpl="TestJSONChild", ParentImpl="TestJSONParent"] +sync protocol PTestJSON { + manages PTestHandle; + +child: + async Start(); + +parent: + async PTestHandle(); + sync Test(JSONVariant i) + returns (JSONVariant o); + async __delete__(); +}; + +} // namespace mozilla +} // namespace _ipdltest |