Line data Source code
1 : /* -*- Mode: C++; 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/. */
5 :
6 : #ifndef nsPermission_h__
7 : #define nsPermission_h__
8 :
9 : #include "nsIPermission.h"
10 : #include "nsString.h"
11 :
12 : ////////////////////////////////////////////////////////////////////////////////
13 :
14 : class nsPermission : public nsIPermission
15 : {
16 : public:
17 : // nsISupports
18 : NS_DECL_ISUPPORTS
19 : NS_DECL_NSIPERMISSION
20 :
21 : static already_AddRefed<nsPermission> Create(nsIPrincipal* aPrincipal,
22 : const nsACString &aType,
23 : uint32_t aCapability,
24 : uint32_t aExpireType,
25 : int64_t aExpireTime);
26 :
27 : protected:
28 : nsPermission(nsIPrincipal* aPrincipal,
29 : const nsACString &aType,
30 : uint32_t aCapability,
31 : uint32_t aExpireType,
32 : int64_t aExpireTime);
33 :
34 42 : virtual ~nsPermission() {};
35 :
36 : nsCOMPtr<nsIPrincipal> mPrincipal;
37 : nsCString mType;
38 : uint32_t mCapability;
39 : uint32_t mExpireType;
40 : int64_t mExpireTime;
41 : };
42 :
43 : #endif // nsPermission_h__
|