Line data Source code
1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM ../../../dist/idl/nsIPermissionManager.idl
3 : */
4 :
5 : #ifndef __gen_nsIPermissionManager_h__
6 : #define __gen_nsIPermissionManager_h__
7 :
8 :
9 : #ifndef __gen_nsISupports_h__
10 : #include "nsISupports.h"
11 : #endif
12 :
13 : #include "mozilla/Assertions.h"
14 : #include "mozilla/DebugOnly.h"
15 :
16 : /* For IDL files that don't want to include root IDL files. */
17 : #ifndef NS_NO_VTABLE
18 : #define NS_NO_VTABLE
19 : #endif
20 : class nsIURI; /* forward declaration */
21 :
22 : class nsIObserver; /* forward declaration */
23 :
24 : class nsIPrincipal; /* forward declaration */
25 :
26 : class mozIDOMWindow; /* forward declaration */
27 :
28 : class nsIPermission; /* forward declaration */
29 :
30 : class nsISimpleEnumerator; /* forward declaration */
31 :
32 : class nsIRunnable; /* forward declaration */
33 :
34 : namespace IPC {
35 : struct Permission;
36 : }
37 : #include "nsTArrayForwardDeclare.h"
38 :
39 : /* starting interface: nsIPermissionManager */
40 : #define NS_IPERMISSIONMANAGER_IID_STR "4dcb3851-eba2-4e42-b236-82d2596fca22"
41 :
42 : #define NS_IPERMISSIONMANAGER_IID \
43 : {0x4dcb3851, 0xeba2, 0x4e42, \
44 : { 0xb2, 0x36, 0x82, 0xd2, 0x59, 0x6f, 0xca, 0x22 }}
45 :
46 3 : class NS_NO_VTABLE nsIPermissionManager : public nsISupports {
47 : public:
48 :
49 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPERMISSIONMANAGER_IID)
50 :
51 : enum {
52 : UNKNOWN_ACTION = 0U,
53 : ALLOW_ACTION = 1U,
54 : DENY_ACTION = 2U,
55 : PROMPT_ACTION = 3U,
56 : EXPIRE_NEVER = 0U,
57 : EXPIRE_SESSION = 1U,
58 : EXPIRE_TIME = 2U
59 : };
60 :
61 : /* void add (in nsIURI uri, in string type, in uint32_t permission, [optional] in uint32_t expireType, [optional] in int64_t expireTime); */
62 : NS_IMETHOD Add(nsIURI *uri, const char * type, uint32_t permission, uint32_t expireType, int64_t expireTime) = 0;
63 :
64 : /* nsISimpleEnumerator getAllForURI (in nsIURI uri); */
65 : NS_IMETHOD GetAllForURI(nsIURI *uri, nsISimpleEnumerator * *_retval) = 0;
66 :
67 : /* void addFromPrincipal (in nsIPrincipal principal, in string typed, in uint32_t permission, [optional] in uint32_t expireType, [optional] in int64_t expireTime); */
68 : NS_IMETHOD AddFromPrincipal(nsIPrincipal *principal, const char * typed, uint32_t permission, uint32_t expireType, int64_t expireTime) = 0;
69 :
70 : /* void remove (in nsIURI uri, in string type); */
71 : NS_IMETHOD Remove(nsIURI *uri, const char * type) = 0;
72 :
73 : /* void removeFromPrincipal (in nsIPrincipal principal, in string type); */
74 : NS_IMETHOD RemoveFromPrincipal(nsIPrincipal *principal, const char * type) = 0;
75 :
76 : /* void removePermission (in nsIPermission perm); */
77 : NS_IMETHOD RemovePermission(nsIPermission *perm) = 0;
78 :
79 : /* void removeAll (); */
80 : NS_IMETHOD RemoveAll(void) = 0;
81 :
82 : /* void removeAllSince (in int64_t since); */
83 : NS_IMETHOD RemoveAllSince(int64_t since) = 0;
84 :
85 : /* uint32_t testPermission (in nsIURI uri, in string type); */
86 : NS_IMETHOD TestPermission(nsIURI *uri, const char * type, uint32_t *_retval) = 0;
87 :
88 : /* uint32_t testPermissionFromPrincipal (in nsIPrincipal principal, in string type); */
89 : NS_IMETHOD TestPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval) = 0;
90 :
91 : /* uint32_t testPermissionFromWindow (in mozIDOMWindow window, in string type); */
92 : NS_IMETHOD TestPermissionFromWindow(mozIDOMWindow *window, const char * type, uint32_t *_retval) = 0;
93 :
94 : /* uint32_t testExactPermission (in nsIURI uri, in string type); */
95 : NS_IMETHOD TestExactPermission(nsIURI *uri, const char * type, uint32_t *_retval) = 0;
96 :
97 : /* uint32_t testExactPermissionFromPrincipal (in nsIPrincipal principal, in string type); */
98 : NS_IMETHOD TestExactPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval) = 0;
99 :
100 : /* uint32_t testExactPermanentPermission (in nsIPrincipal principal, in string type); */
101 : NS_IMETHOD TestExactPermanentPermission(nsIPrincipal *principal, const char * type, uint32_t *_retval) = 0;
102 :
103 : /* nsIPermission getPermissionObjectForURI (in nsIURI uri, in string type, in boolean exactHost); */
104 : NS_IMETHOD GetPermissionObjectForURI(nsIURI *uri, const char * type, bool exactHost, nsIPermission * *_retval) = 0;
105 :
106 : /* nsIPermission getPermissionObject (in nsIPrincipal principal, in string type, in boolean exactHost); */
107 : NS_IMETHOD GetPermissionObject(nsIPrincipal *principal, const char * type, bool exactHost, nsIPermission * *_retval) = 0;
108 :
109 : /* readonly attribute nsISimpleEnumerator enumerator; */
110 : NS_IMETHOD GetEnumerator(nsISimpleEnumerator * *aEnumerator) = 0;
111 :
112 : /* void removePermissionsWithAttributes (in DOMString patternAsJSON); */
113 : NS_IMETHOD RemovePermissionsWithAttributes(const nsAString & patternAsJSON) = 0;
114 :
115 : /* void updateExpireTime (in nsIPrincipal principal, in string type, in boolean exactHost, in uint64_t sessionExpireTime, in uint64_t persistentExpireTime); */
116 : NS_IMETHOD UpdateExpireTime(nsIPrincipal *principal, const char * type, bool exactHost, uint64_t sessionExpireTime, uint64_t persistentExpireTime) = 0;
117 :
118 : /* void getPermissionsWithKey (in ACString permissionKey, out IPCPermissionArrayRef perms); */
119 : NS_IMETHOD GetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms) = 0;
120 :
121 : /* void setPermissionsWithKey (in ACString permissionKey, in IPCPermissionArrayRef perms); */
122 : NS_IMETHOD SetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms) = 0;
123 :
124 : /* void broadcastPermissionsForPrincipalToAllContentProcesses (in nsIPrincipal aPrincipal); */
125 : NS_IMETHOD BroadcastPermissionsForPrincipalToAllContentProcesses(nsIPrincipal *aPrincipal) = 0;
126 :
127 : /* void whenPermissionsAvailable (in nsIPrincipal aPrincipal, in nsIRunnable aRunnable); */
128 : NS_IMETHOD WhenPermissionsAvailable(nsIPrincipal *aPrincipal, nsIRunnable *aRunnable) = 0;
129 :
130 : /* [infallible] readonly attribute boolean hasPreloadPermissions; */
131 : NS_IMETHOD GetHasPreloadPermissions(bool *aHasPreloadPermissions) = 0;
132 7 : inline bool GetHasPreloadPermissions()
133 : {
134 : bool result;
135 14 : mozilla::DebugOnly<nsresult> rv = GetHasPreloadPermissions(&result);
136 7 : MOZ_ASSERT(NS_SUCCEEDED(rv));
137 14 : return result;
138 : }
139 :
140 : };
141 :
142 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIPermissionManager, NS_IPERMISSIONMANAGER_IID)
143 :
144 : /* Use this macro when declaring classes that implement this interface. */
145 : #define NS_DECL_NSIPERMISSIONMANAGER \
146 : NS_IMETHOD Add(nsIURI *uri, const char * type, uint32_t permission, uint32_t expireType, int64_t expireTime) override; \
147 : NS_IMETHOD GetAllForURI(nsIURI *uri, nsISimpleEnumerator * *_retval) override; \
148 : NS_IMETHOD AddFromPrincipal(nsIPrincipal *principal, const char * typed, uint32_t permission, uint32_t expireType, int64_t expireTime) override; \
149 : NS_IMETHOD Remove(nsIURI *uri, const char * type) override; \
150 : NS_IMETHOD RemoveFromPrincipal(nsIPrincipal *principal, const char * type) override; \
151 : NS_IMETHOD RemovePermission(nsIPermission *perm) override; \
152 : NS_IMETHOD RemoveAll(void) override; \
153 : NS_IMETHOD RemoveAllSince(int64_t since) override; \
154 : NS_IMETHOD TestPermission(nsIURI *uri, const char * type, uint32_t *_retval) override; \
155 : NS_IMETHOD TestPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval) override; \
156 : NS_IMETHOD TestPermissionFromWindow(mozIDOMWindow *window, const char * type, uint32_t *_retval) override; \
157 : NS_IMETHOD TestExactPermission(nsIURI *uri, const char * type, uint32_t *_retval) override; \
158 : NS_IMETHOD TestExactPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval) override; \
159 : NS_IMETHOD TestExactPermanentPermission(nsIPrincipal *principal, const char * type, uint32_t *_retval) override; \
160 : NS_IMETHOD GetPermissionObjectForURI(nsIURI *uri, const char * type, bool exactHost, nsIPermission * *_retval) override; \
161 : NS_IMETHOD GetPermissionObject(nsIPrincipal *principal, const char * type, bool exactHost, nsIPermission * *_retval) override; \
162 : NS_IMETHOD GetEnumerator(nsISimpleEnumerator * *aEnumerator) override; \
163 : NS_IMETHOD RemovePermissionsWithAttributes(const nsAString & patternAsJSON) override; \
164 : NS_IMETHOD UpdateExpireTime(nsIPrincipal *principal, const char * type, bool exactHost, uint64_t sessionExpireTime, uint64_t persistentExpireTime) override; \
165 : NS_IMETHOD GetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms) override; \
166 : NS_IMETHOD SetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms) override; \
167 : NS_IMETHOD BroadcastPermissionsForPrincipalToAllContentProcesses(nsIPrincipal *aPrincipal) override; \
168 : NS_IMETHOD WhenPermissionsAvailable(nsIPrincipal *aPrincipal, nsIRunnable *aRunnable) override; \
169 : using nsIPermissionManager::GetHasPreloadPermissions; \
170 : NS_IMETHOD GetHasPreloadPermissions(bool *aHasPreloadPermissions) override;
171 :
172 : /* Use this macro when declaring the members of this interface when the
173 : class doesn't implement the interface. This is useful for forwarding. */
174 : #define NS_DECL_NON_VIRTUAL_NSIPERMISSIONMANAGER \
175 : nsresult Add(nsIURI *uri, const char * type, uint32_t permission, uint32_t expireType, int64_t expireTime); \
176 : nsresult GetAllForURI(nsIURI *uri, nsISimpleEnumerator * *_retval); \
177 : nsresult AddFromPrincipal(nsIPrincipal *principal, const char * typed, uint32_t permission, uint32_t expireType, int64_t expireTime); \
178 : nsresult Remove(nsIURI *uri, const char * type); \
179 : nsresult RemoveFromPrincipal(nsIPrincipal *principal, const char * type); \
180 : nsresult RemovePermission(nsIPermission *perm); \
181 : nsresult RemoveAll(void); \
182 : nsresult RemoveAllSince(int64_t since); \
183 : nsresult TestPermission(nsIURI *uri, const char * type, uint32_t *_retval); \
184 : nsresult TestPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval); \
185 : nsresult TestPermissionFromWindow(mozIDOMWindow *window, const char * type, uint32_t *_retval); \
186 : nsresult TestExactPermission(nsIURI *uri, const char * type, uint32_t *_retval); \
187 : nsresult TestExactPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval); \
188 : nsresult TestExactPermanentPermission(nsIPrincipal *principal, const char * type, uint32_t *_retval); \
189 : nsresult GetPermissionObjectForURI(nsIURI *uri, const char * type, bool exactHost, nsIPermission * *_retval); \
190 : nsresult GetPermissionObject(nsIPrincipal *principal, const char * type, bool exactHost, nsIPermission * *_retval); \
191 : nsresult GetEnumerator(nsISimpleEnumerator * *aEnumerator); \
192 : nsresult RemovePermissionsWithAttributes(const nsAString & patternAsJSON); \
193 : nsresult UpdateExpireTime(nsIPrincipal *principal, const char * type, bool exactHost, uint64_t sessionExpireTime, uint64_t persistentExpireTime); \
194 : nsresult GetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms); \
195 : nsresult SetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms); \
196 : nsresult BroadcastPermissionsForPrincipalToAllContentProcesses(nsIPrincipal *aPrincipal); \
197 : nsresult WhenPermissionsAvailable(nsIPrincipal *aPrincipal, nsIRunnable *aRunnable); \
198 : using nsIPermissionManager::GetHasPreloadPermissions; \
199 : nsresult GetHasPreloadPermissions(bool *aHasPreloadPermissions);
200 :
201 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
202 : #define NS_FORWARD_NSIPERMISSIONMANAGER(_to) \
203 : NS_IMETHOD Add(nsIURI *uri, const char * type, uint32_t permission, uint32_t expireType, int64_t expireTime) override { return _to Add(uri, type, permission, expireType, expireTime); } \
204 : NS_IMETHOD GetAllForURI(nsIURI *uri, nsISimpleEnumerator * *_retval) override { return _to GetAllForURI(uri, _retval); } \
205 : NS_IMETHOD AddFromPrincipal(nsIPrincipal *principal, const char * typed, uint32_t permission, uint32_t expireType, int64_t expireTime) override { return _to AddFromPrincipal(principal, typed, permission, expireType, expireTime); } \
206 : NS_IMETHOD Remove(nsIURI *uri, const char * type) override { return _to Remove(uri, type); } \
207 : NS_IMETHOD RemoveFromPrincipal(nsIPrincipal *principal, const char * type) override { return _to RemoveFromPrincipal(principal, type); } \
208 : NS_IMETHOD RemovePermission(nsIPermission *perm) override { return _to RemovePermission(perm); } \
209 : NS_IMETHOD RemoveAll(void) override { return _to RemoveAll(); } \
210 : NS_IMETHOD RemoveAllSince(int64_t since) override { return _to RemoveAllSince(since); } \
211 : NS_IMETHOD TestPermission(nsIURI *uri, const char * type, uint32_t *_retval) override { return _to TestPermission(uri, type, _retval); } \
212 : NS_IMETHOD TestPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval) override { return _to TestPermissionFromPrincipal(principal, type, _retval); } \
213 : NS_IMETHOD TestPermissionFromWindow(mozIDOMWindow *window, const char * type, uint32_t *_retval) override { return _to TestPermissionFromWindow(window, type, _retval); } \
214 : NS_IMETHOD TestExactPermission(nsIURI *uri, const char * type, uint32_t *_retval) override { return _to TestExactPermission(uri, type, _retval); } \
215 : NS_IMETHOD TestExactPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval) override { return _to TestExactPermissionFromPrincipal(principal, type, _retval); } \
216 : NS_IMETHOD TestExactPermanentPermission(nsIPrincipal *principal, const char * type, uint32_t *_retval) override { return _to TestExactPermanentPermission(principal, type, _retval); } \
217 : NS_IMETHOD GetPermissionObjectForURI(nsIURI *uri, const char * type, bool exactHost, nsIPermission * *_retval) override { return _to GetPermissionObjectForURI(uri, type, exactHost, _retval); } \
218 : NS_IMETHOD GetPermissionObject(nsIPrincipal *principal, const char * type, bool exactHost, nsIPermission * *_retval) override { return _to GetPermissionObject(principal, type, exactHost, _retval); } \
219 : NS_IMETHOD GetEnumerator(nsISimpleEnumerator * *aEnumerator) override { return _to GetEnumerator(aEnumerator); } \
220 : NS_IMETHOD RemovePermissionsWithAttributes(const nsAString & patternAsJSON) override { return _to RemovePermissionsWithAttributes(patternAsJSON); } \
221 : NS_IMETHOD UpdateExpireTime(nsIPrincipal *principal, const char * type, bool exactHost, uint64_t sessionExpireTime, uint64_t persistentExpireTime) override { return _to UpdateExpireTime(principal, type, exactHost, sessionExpireTime, persistentExpireTime); } \
222 : NS_IMETHOD GetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms) override { return _to GetPermissionsWithKey(permissionKey, perms); } \
223 : NS_IMETHOD SetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms) override { return _to SetPermissionsWithKey(permissionKey, perms); } \
224 : NS_IMETHOD BroadcastPermissionsForPrincipalToAllContentProcesses(nsIPrincipal *aPrincipal) override { return _to BroadcastPermissionsForPrincipalToAllContentProcesses(aPrincipal); } \
225 : NS_IMETHOD WhenPermissionsAvailable(nsIPrincipal *aPrincipal, nsIRunnable *aRunnable) override { return _to WhenPermissionsAvailable(aPrincipal, aRunnable); } \
226 : using nsIPermissionManager::GetHasPreloadPermissions; \
227 : NS_IMETHOD GetHasPreloadPermissions(bool *aHasPreloadPermissions) override { return _to GetHasPreloadPermissions(aHasPreloadPermissions); }
228 :
229 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
230 : #define NS_FORWARD_SAFE_NSIPERMISSIONMANAGER(_to) \
231 : NS_IMETHOD Add(nsIURI *uri, const char * type, uint32_t permission, uint32_t expireType, int64_t expireTime) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Add(uri, type, permission, expireType, expireTime); } \
232 : NS_IMETHOD GetAllForURI(nsIURI *uri, nsISimpleEnumerator * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllForURI(uri, _retval); } \
233 : NS_IMETHOD AddFromPrincipal(nsIPrincipal *principal, const char * typed, uint32_t permission, uint32_t expireType, int64_t expireTime) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddFromPrincipal(principal, typed, permission, expireType, expireTime); } \
234 : NS_IMETHOD Remove(nsIURI *uri, const char * type) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Remove(uri, type); } \
235 : NS_IMETHOD RemoveFromPrincipal(nsIPrincipal *principal, const char * type) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveFromPrincipal(principal, type); } \
236 : NS_IMETHOD RemovePermission(nsIPermission *perm) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemovePermission(perm); } \
237 : NS_IMETHOD RemoveAll(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveAll(); } \
238 : NS_IMETHOD RemoveAllSince(int64_t since) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveAllSince(since); } \
239 : NS_IMETHOD TestPermission(nsIURI *uri, const char * type, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestPermission(uri, type, _retval); } \
240 : NS_IMETHOD TestPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestPermissionFromPrincipal(principal, type, _retval); } \
241 : NS_IMETHOD TestPermissionFromWindow(mozIDOMWindow *window, const char * type, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestPermissionFromWindow(window, type, _retval); } \
242 : NS_IMETHOD TestExactPermission(nsIURI *uri, const char * type, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestExactPermission(uri, type, _retval); } \
243 : NS_IMETHOD TestExactPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestExactPermissionFromPrincipal(principal, type, _retval); } \
244 : NS_IMETHOD TestExactPermanentPermission(nsIPrincipal *principal, const char * type, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->TestExactPermanentPermission(principal, type, _retval); } \
245 : NS_IMETHOD GetPermissionObjectForURI(nsIURI *uri, const char * type, bool exactHost, nsIPermission * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPermissionObjectForURI(uri, type, exactHost, _retval); } \
246 : NS_IMETHOD GetPermissionObject(nsIPrincipal *principal, const char * type, bool exactHost, nsIPermission * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPermissionObject(principal, type, exactHost, _retval); } \
247 : NS_IMETHOD GetEnumerator(nsISimpleEnumerator * *aEnumerator) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEnumerator(aEnumerator); } \
248 : NS_IMETHOD RemovePermissionsWithAttributes(const nsAString & patternAsJSON) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemovePermissionsWithAttributes(patternAsJSON); } \
249 : NS_IMETHOD UpdateExpireTime(nsIPrincipal *principal, const char * type, bool exactHost, uint64_t sessionExpireTime, uint64_t persistentExpireTime) override { return !_to ? NS_ERROR_NULL_POINTER : _to->UpdateExpireTime(principal, type, exactHost, sessionExpireTime, persistentExpireTime); } \
250 : NS_IMETHOD GetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPermissionsWithKey(permissionKey, perms); } \
251 : NS_IMETHOD SetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPermissionsWithKey(permissionKey, perms); } \
252 : NS_IMETHOD BroadcastPermissionsForPrincipalToAllContentProcesses(nsIPrincipal *aPrincipal) override { return !_to ? NS_ERROR_NULL_POINTER : _to->BroadcastPermissionsForPrincipalToAllContentProcesses(aPrincipal); } \
253 : NS_IMETHOD WhenPermissionsAvailable(nsIPrincipal *aPrincipal, nsIRunnable *aRunnable) override { return !_to ? NS_ERROR_NULL_POINTER : _to->WhenPermissionsAvailable(aPrincipal, aRunnable); } \
254 : NS_IMETHOD GetHasPreloadPermissions(bool *aHasPreloadPermissions) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHasPreloadPermissions(aHasPreloadPermissions); }
255 :
256 : #if 0
257 : /* Use the code below as a template for the implementation class for this interface. */
258 :
259 : /* Header file */
260 : class nsPermissionManager : public nsIPermissionManager
261 : {
262 : public:
263 : NS_DECL_ISUPPORTS
264 : NS_DECL_NSIPERMISSIONMANAGER
265 :
266 : nsPermissionManager();
267 :
268 : private:
269 : ~nsPermissionManager();
270 :
271 : protected:
272 : /* additional members */
273 : };
274 :
275 : /* Implementation file */
276 : NS_IMPL_ISUPPORTS(nsPermissionManager, nsIPermissionManager)
277 :
278 : nsPermissionManager::nsPermissionManager()
279 : {
280 : /* member initializers and constructor code */
281 : }
282 :
283 : nsPermissionManager::~nsPermissionManager()
284 : {
285 : /* destructor code */
286 : }
287 :
288 : /* void add (in nsIURI uri, in string type, in uint32_t permission, [optional] in uint32_t expireType, [optional] in int64_t expireTime); */
289 : NS_IMETHODIMP nsPermissionManager::Add(nsIURI *uri, const char * type, uint32_t permission, uint32_t expireType, int64_t expireTime)
290 : {
291 : return NS_ERROR_NOT_IMPLEMENTED;
292 : }
293 :
294 : /* nsISimpleEnumerator getAllForURI (in nsIURI uri); */
295 : NS_IMETHODIMP nsPermissionManager::GetAllForURI(nsIURI *uri, nsISimpleEnumerator * *_retval)
296 : {
297 : return NS_ERROR_NOT_IMPLEMENTED;
298 : }
299 :
300 : /* void addFromPrincipal (in nsIPrincipal principal, in string typed, in uint32_t permission, [optional] in uint32_t expireType, [optional] in int64_t expireTime); */
301 : NS_IMETHODIMP nsPermissionManager::AddFromPrincipal(nsIPrincipal *principal, const char * typed, uint32_t permission, uint32_t expireType, int64_t expireTime)
302 : {
303 : return NS_ERROR_NOT_IMPLEMENTED;
304 : }
305 :
306 : /* void remove (in nsIURI uri, in string type); */
307 : NS_IMETHODIMP nsPermissionManager::Remove(nsIURI *uri, const char * type)
308 : {
309 : return NS_ERROR_NOT_IMPLEMENTED;
310 : }
311 :
312 : /* void removeFromPrincipal (in nsIPrincipal principal, in string type); */
313 : NS_IMETHODIMP nsPermissionManager::RemoveFromPrincipal(nsIPrincipal *principal, const char * type)
314 : {
315 : return NS_ERROR_NOT_IMPLEMENTED;
316 : }
317 :
318 : /* void removePermission (in nsIPermission perm); */
319 : NS_IMETHODIMP nsPermissionManager::RemovePermission(nsIPermission *perm)
320 : {
321 : return NS_ERROR_NOT_IMPLEMENTED;
322 : }
323 :
324 : /* void removeAll (); */
325 : NS_IMETHODIMP nsPermissionManager::RemoveAll()
326 : {
327 : return NS_ERROR_NOT_IMPLEMENTED;
328 : }
329 :
330 : /* void removeAllSince (in int64_t since); */
331 : NS_IMETHODIMP nsPermissionManager::RemoveAllSince(int64_t since)
332 : {
333 : return NS_ERROR_NOT_IMPLEMENTED;
334 : }
335 :
336 : /* uint32_t testPermission (in nsIURI uri, in string type); */
337 : NS_IMETHODIMP nsPermissionManager::TestPermission(nsIURI *uri, const char * type, uint32_t *_retval)
338 : {
339 : return NS_ERROR_NOT_IMPLEMENTED;
340 : }
341 :
342 : /* uint32_t testPermissionFromPrincipal (in nsIPrincipal principal, in string type); */
343 : NS_IMETHODIMP nsPermissionManager::TestPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval)
344 : {
345 : return NS_ERROR_NOT_IMPLEMENTED;
346 : }
347 :
348 : /* uint32_t testPermissionFromWindow (in mozIDOMWindow window, in string type); */
349 : NS_IMETHODIMP nsPermissionManager::TestPermissionFromWindow(mozIDOMWindow *window, const char * type, uint32_t *_retval)
350 : {
351 : return NS_ERROR_NOT_IMPLEMENTED;
352 : }
353 :
354 : /* uint32_t testExactPermission (in nsIURI uri, in string type); */
355 : NS_IMETHODIMP nsPermissionManager::TestExactPermission(nsIURI *uri, const char * type, uint32_t *_retval)
356 : {
357 : return NS_ERROR_NOT_IMPLEMENTED;
358 : }
359 :
360 : /* uint32_t testExactPermissionFromPrincipal (in nsIPrincipal principal, in string type); */
361 : NS_IMETHODIMP nsPermissionManager::TestExactPermissionFromPrincipal(nsIPrincipal *principal, const char * type, uint32_t *_retval)
362 : {
363 : return NS_ERROR_NOT_IMPLEMENTED;
364 : }
365 :
366 : /* uint32_t testExactPermanentPermission (in nsIPrincipal principal, in string type); */
367 : NS_IMETHODIMP nsPermissionManager::TestExactPermanentPermission(nsIPrincipal *principal, const char * type, uint32_t *_retval)
368 : {
369 : return NS_ERROR_NOT_IMPLEMENTED;
370 : }
371 :
372 : /* nsIPermission getPermissionObjectForURI (in nsIURI uri, in string type, in boolean exactHost); */
373 : NS_IMETHODIMP nsPermissionManager::GetPermissionObjectForURI(nsIURI *uri, const char * type, bool exactHost, nsIPermission * *_retval)
374 : {
375 : return NS_ERROR_NOT_IMPLEMENTED;
376 : }
377 :
378 : /* nsIPermission getPermissionObject (in nsIPrincipal principal, in string type, in boolean exactHost); */
379 : NS_IMETHODIMP nsPermissionManager::GetPermissionObject(nsIPrincipal *principal, const char * type, bool exactHost, nsIPermission * *_retval)
380 : {
381 : return NS_ERROR_NOT_IMPLEMENTED;
382 : }
383 :
384 : /* readonly attribute nsISimpleEnumerator enumerator; */
385 : NS_IMETHODIMP nsPermissionManager::GetEnumerator(nsISimpleEnumerator * *aEnumerator)
386 : {
387 : return NS_ERROR_NOT_IMPLEMENTED;
388 : }
389 :
390 : /* void removePermissionsWithAttributes (in DOMString patternAsJSON); */
391 : NS_IMETHODIMP nsPermissionManager::RemovePermissionsWithAttributes(const nsAString & patternAsJSON)
392 : {
393 : return NS_ERROR_NOT_IMPLEMENTED;
394 : }
395 :
396 : /* void updateExpireTime (in nsIPrincipal principal, in string type, in boolean exactHost, in uint64_t sessionExpireTime, in uint64_t persistentExpireTime); */
397 : NS_IMETHODIMP nsPermissionManager::UpdateExpireTime(nsIPrincipal *principal, const char * type, bool exactHost, uint64_t sessionExpireTime, uint64_t persistentExpireTime)
398 : {
399 : return NS_ERROR_NOT_IMPLEMENTED;
400 : }
401 :
402 : /* void getPermissionsWithKey (in ACString permissionKey, out IPCPermissionArrayRef perms); */
403 : NS_IMETHODIMP nsPermissionManager::GetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms)
404 : {
405 : return NS_ERROR_NOT_IMPLEMENTED;
406 : }
407 :
408 : /* void setPermissionsWithKey (in ACString permissionKey, in IPCPermissionArrayRef perms); */
409 : NS_IMETHODIMP nsPermissionManager::SetPermissionsWithKey(const nsACString & permissionKey, nsTArray<IPC::Permission> & perms)
410 : {
411 : return NS_ERROR_NOT_IMPLEMENTED;
412 : }
413 :
414 : /* void broadcastPermissionsForPrincipalToAllContentProcesses (in nsIPrincipal aPrincipal); */
415 : NS_IMETHODIMP nsPermissionManager::BroadcastPermissionsForPrincipalToAllContentProcesses(nsIPrincipal *aPrincipal)
416 : {
417 : return NS_ERROR_NOT_IMPLEMENTED;
418 : }
419 :
420 : /* void whenPermissionsAvailable (in nsIPrincipal aPrincipal, in nsIRunnable aRunnable); */
421 : NS_IMETHODIMP nsPermissionManager::WhenPermissionsAvailable(nsIPrincipal *aPrincipal, nsIRunnable *aRunnable)
422 : {
423 : return NS_ERROR_NOT_IMPLEMENTED;
424 : }
425 :
426 : /* [infallible] readonly attribute boolean hasPreloadPermissions; */
427 : NS_IMETHODIMP nsPermissionManager::GetHasPreloadPermissions(bool *aHasPreloadPermissions)
428 : {
429 : return NS_ERROR_NOT_IMPLEMENTED;
430 : }
431 :
432 : /* End of implementation class template. */
433 : #endif
434 :
435 : #define NS_PERMISSIONMANAGER_CONTRACTID "@mozilla.org/permissionmanager;1"
436 : #define PERM_CHANGE_NOTIFICATION "perm-changed"
437 :
438 : #endif /* __gen_nsIPermissionManager_h__ */
|