1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 * Utility interfaces for testing.
9 #include
"nsISupports.idl"
11 [scriptable
, function
, uuid(d58a82ab
-d8f7
-4ca9
-9273-b3290d42a0cf
)]
12 interface nsIXPCTestFunctionInterface
: nsISupports
{
13 string echo
(in string arg
);
16 [scriptable
, uuid(1e9cddeb
-510d
-449a
-b152
-3c1b5b31d41d
)]
17 interface nsIXPCTestUtils
: nsISupports
{
18 nsIXPCTestFunctionInterface doubleWrapFunction
(in nsIXPCTestFunctionInterface f
);
22 * TypeScript bindings specific tests.
25 // Typedefs with a TSNoncompat underlying type are not defined.
26 typedef voidPtr Noncompat
;
28 // Not [scriptable] interfaces are not generated.
29 [uuid(ddf64cfb
-668a
-4571-a900
-0fe2babb6249
)]
30 interface nsIXPCTestNotScriptable
: nsISupports
{
34 [scriptable
, uuid(1bbfe703
-c67d
-4995-b061
-564c8a1c39d7
)]
35 interface nsIXPCTestTypeScript
: nsISupports
{
36 attribute
long exposedProp
;
37 void exposedMethod
(in long arg
);
39 // Members referencing TSNoncompat typedefs are not exposed.
40 [noscript
] attribute Noncompat noncompatProp
;
41 [noscript
] void noncompatMethod
(in Noncompat arg
);
43 // [noscript] attributes and methods are not exposed.
44 [noscript
] attribute
long noscriptProp
;
45 [noscript
] void noscriptMethod
(in long arg
);