summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/gtest/PTestJSON.ipdl
diff options
context:
space:
mode:
Diffstat (limited to 'ipc/ipdl/test/gtest/PTestJSON.ipdl')
-rw-r--r--ipc/ipdl/test/gtest/PTestJSON.ipdl43
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