1 /* -*- Mode: IDL; tab-width: 4; 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/. */
7 * The nsIComponentManager interface.
10 #include
"nsISupports.idl"
15 [scriptable
, uuid(1d940426
-5fe5
-42c3
-84ae
-a300f2d9ebd5
)]
16 interface nsIComponentManager
: nsISupports
21 * Returns the factory object that can be used to create instances of
24 * @param aClass The classid of the factory that is being requested
26 void getClassObject
(in nsCIDRef aClass
,
28 [iid_is(aIID
),retval] out nsQIResult result
);
31 * getClassObjectByContractID
33 * Returns the factory object that can be used to create instances of
36 * @param aClass The classid of the factory that is being requested
38 void getClassObjectByContractID
(in string aContractID
,
40 [iid_is(aIID
),retval] out nsQIResult result
);
46 * Create an instance of the CID aClass and return the interface aIID.
48 * @param aClass : ClassID of object instance requested
49 * @param aDelegate : Used for aggregation
50 * @param aIID : IID of interface requested
52 void createInstance
(in nsCIDRef aClass
,
53 in nsISupports aDelegate
,
55 [iid_is(aIID
),retval] out nsQIResult result
);
58 * createInstanceByContractID
60 * Create an instance of the CID that implements aContractID and return the
63 * @param aContractID : aContractID of object instance requested
64 * @param aDelegate : Used for aggregation
65 * @param aIID : IID of interface requested
67 void createInstanceByContractID
(in string aContractID
,
68 in nsISupports aDelegate
,
70 [iid_is(aIID
),retval] out nsQIResult result
);
73 * addBootstrappedManifestLocation
75 * Adds a bootstrapped manifest location on runtime.
77 * @param aLocation : A directory where chrome.manifest resides,
78 * or an XPI with it on the root.
80 void addBootstrappedManifestLocation
(in nsIFile aLocation
);
83 * removeBootstrappedManifestLocation
85 * Removes a bootstrapped manifest location on runtime.
87 * @param aLocation : A directory where chrome.manifest resides,
88 * or an XPI with it on the root.
90 void removeBootstrappedManifestLocation
(in nsIFile aLocation
);
96 #ifdef MOZILLA_INTERNAL_API
97 #include
"nsComponentManagerUtils.h"