gecko/xpcom/reflect/xptinfo/public/nsIInterfaceInfoManager.idl

39 lines
1.2 KiB
Plaintext

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* The nsIInterfaceInfoManager public declaration. */
#include "nsISupports.idl"
interface nsIInterfaceInfo;
interface nsIEnumerator;
/* this is NOT intended to be scriptable */
[uuid(1d53d8d9-1d92-428f-b5cc-198b55e897d7)]
interface nsIInterfaceInfoManager : nsISupports
{
nsIInterfaceInfo getInfoForIID(in nsIIDPtr iid);
nsIInterfaceInfo getInfoForName(in string name);
nsIIDPtr getIIDForName(in string name);
string getNameForIID(in nsIIDPtr iid);
void autoRegisterInterfaces();
nsIEnumerator enumerateInterfacesWhoseNamesStartWith(in string prefix);
};
%{C++
#define NS_INTERFACEINFOMANAGER_SERVICE_CID \
{ /* 13bef784-f8e0-4f96-85c1-09f9ef4f9a19 */ \
0x13bef784, 0xf8e0, 0x4f96, \
{0x85, 0xc1, 0x09, 0xf9, 0xef, 0x4f, 0x9a, 0x19} }
#define NS_INTERFACEINFOMANAGER_SERVICE_CONTRACTID \
"@mozilla.org/xpti/interfaceinfomanager-service;1"
%}