|
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 /* The nsIInterfaceInfoManager public declaration. */ |
|
7 |
|
8 |
|
9 #include "nsISupports.idl" |
|
10 |
|
11 interface nsIInterfaceInfo; |
|
12 interface nsIEnumerator; |
|
13 |
|
14 /* this is NOT intended to be scriptable */ |
|
15 [uuid(1d53d8d9-1d92-428f-b5cc-198b55e897d7)] |
|
16 interface nsIInterfaceInfoManager : nsISupports |
|
17 { |
|
18 nsIInterfaceInfo getInfoForIID(in nsIIDPtr iid); |
|
19 nsIInterfaceInfo getInfoForName(in string name); |
|
20 |
|
21 nsIIDPtr getIIDForName(in string name); |
|
22 string getNameForIID(in nsIIDPtr iid); |
|
23 |
|
24 void autoRegisterInterfaces(); |
|
25 |
|
26 nsIEnumerator enumerateInterfacesWhoseNamesStartWith(in string prefix); |
|
27 }; |
|
28 |
|
29 %{C++ |
|
30 #define NS_INTERFACEINFOMANAGER_SERVICE_CID \ |
|
31 { /* 13bef784-f8e0-4f96-85c1-09f9ef4f9a19 */ \ |
|
32 0x13bef784, 0xf8e0, 0x4f96, \ |
|
33 {0x85, 0xc1, 0x09, 0xf9, 0xef, 0x4f, 0x9a, 0x19} } |
|
34 |
|
35 #define NS_INTERFACEINFOMANAGER_SERVICE_CONTRACTID \ |
|
36 "@mozilla.org/xpti/interfaceinfomanager-service;1" |
|
37 %} |
|
38 |