|
1 /* |
|
2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of the License "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #ifndef __COMPILEDSECURITYPOLICY_H_ |
|
20 #define __COMPILEDSECURITYPOLICY_H_ |
|
21 |
|
22 #include <e32cmn.h> |
|
23 |
|
24 /** |
|
25 TCompiledSecurityPolicy is a test class used for accessing private data members |
|
26 of TSecurityPolicy class. It uses the fact that TSecurityPolicy class has a friend class, |
|
27 which name is TCompiledSecurityPolicy. |
|
28 @internalComponent |
|
29 */ |
|
30 class TCompiledSecurityPolicy |
|
31 { |
|
32 public: |
|
33 TCompiledSecurityPolicy(const TSecurityPolicy& aSecurityPolicy) : |
|
34 iSecurityPolicy(aSecurityPolicy) |
|
35 { |
|
36 } |
|
37 TSecurityPolicy::TType Type() const |
|
38 { |
|
39 return static_cast <TSecurityPolicy::TType> (iSecurityPolicy.iType); |
|
40 } |
|
41 TUint32 SecureId() const |
|
42 { |
|
43 return iSecurityPolicy.iSecureId; |
|
44 } |
|
45 TUint32 VendorId() const |
|
46 { |
|
47 return iSecurityPolicy.iVendorId; |
|
48 } |
|
49 TCapability Capability(TInt aIndex) const |
|
50 { |
|
51 if(aIndex < 3) |
|
52 { |
|
53 return static_cast <TCapability> (iSecurityPolicy.iCaps[aIndex]); |
|
54 } |
|
55 else if(aIndex < 7) |
|
56 { |
|
57 return static_cast <TCapability> (iSecurityPolicy.iExtraCaps[aIndex - 3]); |
|
58 } |
|
59 User::Invariant(); |
|
60 return ECapability_None; |
|
61 } |
|
62 |
|
63 private: |
|
64 const TSecurityPolicy& iSecurityPolicy; |
|
65 }; |
|
66 |
|
67 |
|
68 inline TBool operator==(const TCompiledSecurityPolicy& aLeft, const TCompiledSecurityPolicy& aRight) |
|
69 { |
|
70 return aLeft.Type() == aRight.Type() && |
|
71 aLeft.SecureId() == aRight.SecureId() && |
|
72 aLeft.VendorId() == aRight.VendorId() && |
|
73 aLeft.Capability(0) == aRight.Capability(0) && |
|
74 aLeft.Capability(1) == aRight.Capability(1) && |
|
75 aLeft.Capability(2) == aRight.Capability(2) && |
|
76 aLeft.Capability(3) == aRight.Capability(3) && |
|
77 aLeft.Capability(4) == aRight.Capability(4) && |
|
78 aLeft.Capability(5) == aRight.Capability(5) && |
|
79 aLeft.Capability(6) == aRight.Capability(6); |
|
80 } |
|
81 |
|
82 #endif // __COMPILEDSECURITYPOLICY_H_ |