diff options
Diffstat (limited to 'ipc/ipdl/test/gtest/PTestJSON.ipdl')
-rw-r--r-- | ipc/ipdl/test/gtest/PTestJSON.ipdl | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/ipc/ipdl/test/gtest/PTestJSON.ipdl b/ipc/ipdl/test/gtest/PTestJSON.ipdl new file mode 100644 index 0000000000..2486e85378 --- /dev/null +++ b/ipc/ipdl/test/gtest/PTestJSON.ipdl @@ -0,0 +1,43 @@ +include protocol PTestJSONHandle; + +using struct mozilla::void_t from "mozilla/ipc/IPCCore.h"; +using struct mozilla::null_t from "mozilla/ipc/IPCCore.h"; + +namespace mozilla { +namespace _ipdltest { + +[Comparable] +struct KeyValue { + nsString key; + JSONVariant value; +}; + +[Comparable] +union JSONVariant { + void_t; + null_t; + bool; + int; + double; + nsString; + PTestJSONHandle; + KeyValue[]; + JSONVariant[]; +}; + +[ChildProc=any, ChildImpl=virtual, ParentImpl=virtual] +sync protocol PTestJSON { + manages PTestJSONHandle; + +child: + async Start(); + +parent: + async PTestJSONHandle(); + sync Test(JSONVariant i) + returns (JSONVariant o); + async __delete__(); +}; + +} // namespace mozilla +} // namespace _ipdltest |