Bug 796834 - B2G RIL: Setup data call returns fail during radio power changed. r...
[gecko.git] / xpcom / components / nsIComponentManager.idl
blobbd3922b0662dbeb61447371b8b2b14f82c7839ee
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/. */
6 /**
7 * The nsIComponentManager interface.
8 */
10 #include "nsISupports.idl"
12 interface nsIFile;
13 interface nsIFactory;
15 [scriptable, uuid(1d940426-5fe5-42c3-84ae-a300f2d9ebd5)]
16 interface nsIComponentManager : nsISupports
18 /**
19 * getClassObject
21 * Returns the factory object that can be used to create instances of
22 * CID aClass
24 * @param aClass The classid of the factory that is being requested
26 void getClassObject(in nsCIDRef aClass,
27 in nsIIDRef aIID,
28 [iid_is(aIID),retval] out nsQIResult result);
30 /**
31 * getClassObjectByContractID
33 * Returns the factory object that can be used to create instances of
34 * CID aClass
36 * @param aClass The classid of the factory that is being requested
38 void getClassObjectByContractID(in string aContractID,
39 in nsIIDRef aIID,
40 [iid_is(aIID),retval] out nsQIResult result);
43 /**
44 * createInstance
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,
54 in nsIIDRef aIID,
55 [iid_is(aIID),retval] out nsQIResult result);
57 /**
58 * createInstanceByContractID
60 * Create an instance of the CID that implements aContractID and return the
61 * interface aIID.
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,
69 in nsIIDRef aIID,
70 [iid_is(aIID),retval] out nsQIResult result);
72 /**
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);
82 /**
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);
95 %{ C++
96 #ifdef MOZILLA_INTERNAL_API
97 #include "nsComponentManagerUtils.h"
98 #endif
99 %} C++