1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM /builds/slave/m-beta-lnx-codecoverage/build/xpcom/components/nsIFactory.idl
3 : */
4 :
5 : #ifndef __gen_nsIFactory_h__
6 : #define __gen_nsIFactory_h__
7 :
8 :
9 : #ifndef __gen_nsISupports_h__
10 : #include "nsISupports.h"
11 : #endif
12 :
13 : /* For IDL files that don't want to include root IDL files. */
14 : #ifndef NS_NO_VTABLE
15 : #define NS_NO_VTABLE
16 : #endif
17 :
18 : /* starting interface: nsIFactory */
19 : #define NS_IFACTORY_IID_STR "00000001-0000-0000-c000-000000000046"
20 :
21 : #define NS_IFACTORY_IID \
22 : {0x00000001, 0x0000, 0x0000, \
23 : { 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 }}
24 :
25 101243 : class NS_NO_VTABLE NS_SCRIPTABLE nsIFactory : public nsISupports {
26 : public:
27 :
28 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IFACTORY_IID)
29 :
30 : /* void createInstance (in nsISupports aOuter, in nsIIDRef iid, [iid_is (iid), retval] out nsQIResult result); */
31 : NS_SCRIPTABLE NS_IMETHOD CreateInstance(nsISupports *aOuter, const nsIID & iid, void **result NS_OUTPARAM) = 0;
32 :
33 : /* void lockFactory (in boolean lock); */
34 : NS_SCRIPTABLE NS_IMETHOD LockFactory(bool lock) = 0;
35 :
36 : };
37 :
38 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIFactory, NS_IFACTORY_IID)
39 :
40 : /* Use this macro when declaring classes that implement this interface. */
41 : #define NS_DECL_NSIFACTORY \
42 : NS_SCRIPTABLE NS_IMETHOD CreateInstance(nsISupports *aOuter, const nsIID & iid, void **result NS_OUTPARAM); \
43 : NS_SCRIPTABLE NS_IMETHOD LockFactory(bool lock);
44 :
45 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
46 : #define NS_FORWARD_NSIFACTORY(_to) \
47 : NS_SCRIPTABLE NS_IMETHOD CreateInstance(nsISupports *aOuter, const nsIID & iid, void **result NS_OUTPARAM) { return _to CreateInstance(aOuter, iid, result); } \
48 : NS_SCRIPTABLE NS_IMETHOD LockFactory(bool lock) { return _to LockFactory(lock); }
49 :
50 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
51 : #define NS_FORWARD_SAFE_NSIFACTORY(_to) \
52 : NS_SCRIPTABLE NS_IMETHOD CreateInstance(nsISupports *aOuter, const nsIID & iid, void **result NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateInstance(aOuter, iid, result); } \
53 : NS_SCRIPTABLE NS_IMETHOD LockFactory(bool lock) { return !_to ? NS_ERROR_NULL_POINTER : _to->LockFactory(lock); }
54 :
55 : #if 0
56 : /* Use the code below as a template for the implementation class for this interface. */
57 :
58 : /* Header file */
59 : class nsFactory : public nsIFactory
60 : {
61 : public:
62 : NS_DECL_ISUPPORTS
63 : NS_DECL_NSIFACTORY
64 :
65 : nsFactory();
66 :
67 : private:
68 : ~nsFactory();
69 :
70 : protected:
71 : /* additional members */
72 : };
73 :
74 : /* Implementation file */
75 : NS_IMPL_ISUPPORTS1(nsFactory, nsIFactory)
76 :
77 : nsFactory::nsFactory()
78 : {
79 : /* member initializers and constructor code */
80 : }
81 :
82 : nsFactory::~nsFactory()
83 : {
84 : /* destructor code */
85 : }
86 :
87 : /* void createInstance (in nsISupports aOuter, in nsIIDRef iid, [iid_is (iid), retval] out nsQIResult result); */
88 : NS_IMETHODIMP nsFactory::CreateInstance(nsISupports *aOuter, const nsIID & iid, void **result NS_OUTPARAM)
89 : {
90 : return NS_ERROR_NOT_IMPLEMENTED;
91 : }
92 :
93 : /* void lockFactory (in boolean lock); */
94 : NS_IMETHODIMP nsFactory::LockFactory(bool lock)
95 : {
96 : return NS_ERROR_NOT_IMPLEMENTED;
97 : }
98 :
99 : /* End of implementation class template. */
100 : #endif
101 :
102 :
103 : #endif /* __gen_nsIFactory_h__ */
|