xpctest_utils.idl (1404B)
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/. */ 4 5 /** 6 * Utility interfaces for testing. 7 */ 8 9 #include "nsISupports.idl" 10 11 [scriptable, function, uuid(d58a82ab-d8f7-4ca9-9273-b3290d42a0cf)] 12 interface nsIXPCTestFunctionInterface : nsISupports { 13 string echo(in string arg); 14 }; 15 16 [scriptable, uuid(1e9cddeb-510d-449a-b152-3c1b5b31d41d)] 17 interface nsIXPCTestUtils : nsISupports { 18 nsIXPCTestFunctionInterface doubleWrapFunction(in nsIXPCTestFunctionInterface f); 19 }; 20 21 /** 22 * TypeScript bindings specific tests. 23 */ 24 25 // Typedefs with a TSNoncompat underlying type are not defined. 26 typedef voidPtr Noncompat; 27 28 // Not [scriptable] interfaces are not generated. 29 [uuid(ddf64cfb-668a-4571-a900-0fe2babb6249)] 30 interface nsIXPCTestNotScriptable : nsISupports { 31 // Empty. 32 }; 33 34 [scriptable, uuid(1bbfe703-c67d-4995-b061-564c8a1c39d7)] 35 interface nsIXPCTestTypeScript : nsISupports { 36 attribute long exposedProp; 37 void exposedMethod(in long arg); 38 39 // Members referencing TSNoncompat typedefs are not exposed. 40 [noscript] attribute Noncompat noncompatProp; 41 [noscript] void noncompatMethod(in Noncompat arg); 42 43 // [noscript] attributes and methods are not exposed. 44 [noscript] attribute long noscriptProp; 45 [noscript] void noscriptMethod(in long arg); 46 };