1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM /builds/slave/m-beta-lnx-codecoverage/build/js/xpconnect/idl/nsIXPCSecurityManager.idl
3 : */
4 :
5 : #ifndef __gen_nsIXPCSecurityManager_h__
6 : #define __gen_nsIXPCSecurityManager_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 : #include "jspubtd.h"
18 : class nsAXPCNativeCallContext;
19 : class nsIClassInfo; /* forward declaration */
20 :
21 :
22 : /* starting interface: nsIXPCSecurityManager */
23 : #define NS_IXPCSECURITYMANAGER_IID_STR "31431440-f1ce-11d2-985a-006008962422"
24 :
25 : #define NS_IXPCSECURITYMANAGER_IID \
26 : {0x31431440, 0xf1ce, 0x11d2, \
27 : { 0x98, 0x5a, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
28 :
29 2791 : class NS_NO_VTABLE nsIXPCSecurityManager : public nsISupports {
30 : public:
31 :
32 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXPCSECURITYMANAGER_IID)
33 :
34 : enum {
35 : HOOK_CREATE_WRAPPER = 1U,
36 : HOOK_CREATE_INSTANCE = 2U,
37 : HOOK_GET_SERVICE = 4U,
38 : HOOK_CALL_METHOD = 8U,
39 : HOOK_GET_PROPERTY = 16U,
40 : HOOK_SET_PROPERTY = 32U,
41 : HOOK_ALL = 63U
42 : };
43 :
44 : /* void CanCreateWrapper (in JSContextPtr aJSContext, in nsIIDRef aIID, in nsISupports aObj, in nsIClassInfo aClassInfo, inout voidPtr aPolicy); */
45 : NS_IMETHOD CanCreateWrapper(JSContext *aJSContext, const nsIID & aIID, nsISupports *aObj, nsIClassInfo *aClassInfo, void **aPolicy NS_INOUTPARAM) = 0;
46 :
47 : /* void CanCreateInstance (in JSContextPtr aJSContext, in nsCIDRef aCID); */
48 : NS_IMETHOD CanCreateInstance(JSContext *aJSContext, const nsCID & aCID) = 0;
49 :
50 : /* void CanGetService (in JSContextPtr aJSContext, in nsCIDRef aCID); */
51 : NS_IMETHOD CanGetService(JSContext *aJSContext, const nsCID & aCID) = 0;
52 :
53 : enum {
54 : ACCESS_CALL_METHOD = 0U,
55 : ACCESS_GET_PROPERTY = 1U,
56 : ACCESS_SET_PROPERTY = 2U
57 : };
58 :
59 : /* void CanAccess (in PRUint32 aAction, in nsAXPCNativeCallContextPtr aCallContext, in JSContextPtr aJSContext, in JSObjectPtr aJSObject, in nsISupports aObj, in nsIClassInfo aClassInfo, in jsid aName, inout voidPtr aPolicy); */
60 : NS_IMETHOD CanAccess(PRUint32 aAction, nsAXPCNativeCallContext *aCallContext, JSContext *aJSContext, JSObject *aJSObject, nsISupports *aObj, nsIClassInfo *aClassInfo, jsid aName, void **aPolicy NS_INOUTPARAM) = 0;
61 :
62 : };
63 :
64 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIXPCSecurityManager, NS_IXPCSECURITYMANAGER_IID)
65 :
66 : /* Use this macro when declaring classes that implement this interface. */
67 : #define NS_DECL_NSIXPCSECURITYMANAGER \
68 : NS_IMETHOD CanCreateWrapper(JSContext *aJSContext, const nsIID & aIID, nsISupports *aObj, nsIClassInfo *aClassInfo, void **aPolicy NS_INOUTPARAM); \
69 : NS_IMETHOD CanCreateInstance(JSContext *aJSContext, const nsCID & aCID); \
70 : NS_IMETHOD CanGetService(JSContext *aJSContext, const nsCID & aCID); \
71 : NS_IMETHOD CanAccess(PRUint32 aAction, nsAXPCNativeCallContext *aCallContext, JSContext *aJSContext, JSObject *aJSObject, nsISupports *aObj, nsIClassInfo *aClassInfo, jsid aName, void **aPolicy NS_INOUTPARAM);
72 :
73 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
74 : #define NS_FORWARD_NSIXPCSECURITYMANAGER(_to) \
75 : NS_IMETHOD CanCreateWrapper(JSContext *aJSContext, const nsIID & aIID, nsISupports *aObj, nsIClassInfo *aClassInfo, void **aPolicy NS_INOUTPARAM) { return _to CanCreateWrapper(aJSContext, aIID, aObj, aClassInfo, aPolicy); } \
76 : NS_IMETHOD CanCreateInstance(JSContext *aJSContext, const nsCID & aCID) { return _to CanCreateInstance(aJSContext, aCID); } \
77 : NS_IMETHOD CanGetService(JSContext *aJSContext, const nsCID & aCID) { return _to CanGetService(aJSContext, aCID); } \
78 : NS_IMETHOD CanAccess(PRUint32 aAction, nsAXPCNativeCallContext *aCallContext, JSContext *aJSContext, JSObject *aJSObject, nsISupports *aObj, nsIClassInfo *aClassInfo, jsid aName, void **aPolicy NS_INOUTPARAM) { return _to CanAccess(aAction, aCallContext, aJSContext, aJSObject, aObj, aClassInfo, aName, aPolicy); }
79 :
80 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
81 : #define NS_FORWARD_SAFE_NSIXPCSECURITYMANAGER(_to) \
82 : NS_IMETHOD CanCreateWrapper(JSContext *aJSContext, const nsIID & aIID, nsISupports *aObj, nsIClassInfo *aClassInfo, void **aPolicy NS_INOUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->CanCreateWrapper(aJSContext, aIID, aObj, aClassInfo, aPolicy); } \
83 : NS_IMETHOD CanCreateInstance(JSContext *aJSContext, const nsCID & aCID) { return !_to ? NS_ERROR_NULL_POINTER : _to->CanCreateInstance(aJSContext, aCID); } \
84 : NS_IMETHOD CanGetService(JSContext *aJSContext, const nsCID & aCID) { return !_to ? NS_ERROR_NULL_POINTER : _to->CanGetService(aJSContext, aCID); } \
85 : NS_IMETHOD CanAccess(PRUint32 aAction, nsAXPCNativeCallContext *aCallContext, JSContext *aJSContext, JSObject *aJSObject, nsISupports *aObj, nsIClassInfo *aClassInfo, jsid aName, void **aPolicy NS_INOUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->CanAccess(aAction, aCallContext, aJSContext, aJSObject, aObj, aClassInfo, aName, aPolicy); }
86 :
87 : #if 0
88 : /* Use the code below as a template for the implementation class for this interface. */
89 :
90 : /* Header file */
91 : class nsXPCSecurityManager : public nsIXPCSecurityManager
92 : {
93 : public:
94 : NS_DECL_ISUPPORTS
95 : NS_DECL_NSIXPCSECURITYMANAGER
96 :
97 : nsXPCSecurityManager();
98 :
99 : private:
100 : ~nsXPCSecurityManager();
101 :
102 : protected:
103 : /* additional members */
104 : };
105 :
106 : /* Implementation file */
107 : NS_IMPL_ISUPPORTS1(nsXPCSecurityManager, nsIXPCSecurityManager)
108 :
109 : nsXPCSecurityManager::nsXPCSecurityManager()
110 : {
111 : /* member initializers and constructor code */
112 : }
113 :
114 : nsXPCSecurityManager::~nsXPCSecurityManager()
115 : {
116 : /* destructor code */
117 : }
118 :
119 : /* void CanCreateWrapper (in JSContextPtr aJSContext, in nsIIDRef aIID, in nsISupports aObj, in nsIClassInfo aClassInfo, inout voidPtr aPolicy); */
120 : NS_IMETHODIMP nsXPCSecurityManager::CanCreateWrapper(JSContext *aJSContext, const nsIID & aIID, nsISupports *aObj, nsIClassInfo *aClassInfo, void **aPolicy NS_INOUTPARAM)
121 : {
122 : return NS_ERROR_NOT_IMPLEMENTED;
123 : }
124 :
125 : /* void CanCreateInstance (in JSContextPtr aJSContext, in nsCIDRef aCID); */
126 : NS_IMETHODIMP nsXPCSecurityManager::CanCreateInstance(JSContext *aJSContext, const nsCID & aCID)
127 : {
128 : return NS_ERROR_NOT_IMPLEMENTED;
129 : }
130 :
131 : /* void CanGetService (in JSContextPtr aJSContext, in nsCIDRef aCID); */
132 : NS_IMETHODIMP nsXPCSecurityManager::CanGetService(JSContext *aJSContext, const nsCID & aCID)
133 : {
134 : return NS_ERROR_NOT_IMPLEMENTED;
135 : }
136 :
137 : /* void CanAccess (in PRUint32 aAction, in nsAXPCNativeCallContextPtr aCallContext, in JSContextPtr aJSContext, in JSObjectPtr aJSObject, in nsISupports aObj, in nsIClassInfo aClassInfo, in jsid aName, inout voidPtr aPolicy); */
138 : NS_IMETHODIMP nsXPCSecurityManager::CanAccess(PRUint32 aAction, nsAXPCNativeCallContext *aCallContext, JSContext *aJSContext, JSObject *aJSObject, nsISupports *aObj, nsIClassInfo *aClassInfo, jsid aName, void **aPolicy NS_INOUTPARAM)
139 : {
140 : return NS_ERROR_NOT_IMPLEMENTED;
141 : }
142 :
143 : /* End of implementation class template. */
144 : #endif
145 :
146 :
147 : #endif /* __gen_nsIXPCSecurityManager_h__ */
|