Update contrib.
1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #include <domainpolicy.h>
17 #include "domainpolicytest.h"
19 const TInt KDomainTimeout = 2000000; /* 2000ms */
21 static const TDmDomainSpec DomainHierarchy[] =
23 { KDmIdRoot, KDmIdNone, _INIT_SECURITY_POLICY_C1(ECapabilityWriteDeviceData), EStartupCriticalStatic, KDomainTimeout },
26 { KDmIdTestA, KDmIdRoot, _INIT_SECURITY_POLICY_PASS, EStartupCriticalStatic, KDomainTimeout },
27 { KDmIdTestB, KDmIdRoot, _INIT_SECURITY_POLICY_PASS, EStartupCriticalStatic, KDomainTimeout },
28 { KDmIdTestC, KDmIdRoot, _INIT_SECURITY_POLICY_PASS, EStartupCriticalStatic, KDomainTimeout },
31 { KDmIdTestAA, KDmIdTestA, _INIT_SECURITY_POLICY_PASS, EStartupCriticalStatic, KDomainTimeout },
32 { KDmIdTestAB, KDmIdTestA, _INIT_SECURITY_POLICY_PASS, EStartupCriticalStatic, KDomainTimeout },
33 { KDmIdTestBA, KDmIdTestB, _INIT_SECURITY_POLICY_PASS, EStartupCriticalStatic, KDomainTimeout },
34 { KDmIdTestCA, KDmIdTestC, _INIT_SECURITY_POLICY_PASS, EStartupCriticalStatic, KDomainTimeout },
37 { KDmIdTestABA, KDmIdTestAB,_INIT_SECURITY_POLICY_PASS, EStartupCriticalStatic, KDomainTimeout },
38 { KDmIdTestABB, KDmIdTestAB,_INIT_SECURITY_POLICY_PASS, EStartupCriticalStatic, KDomainTimeout },
39 { KDmIdTestCAA, KDmIdTestCA,_INIT_SECURITY_POLICY_PASS, EStartupCriticalStatic, KDomainTimeout },
41 // end of array marker
42 { KDmIdNone, KDmIdNone, _INIT_SECURITY_POLICY_PASS, 0, 0 }
44 static const TDmHierarchyPolicy HierarchyPolicy =
45 {ETraverseParentsFirst, ETraverseChildrenFirst, ETransitionFailureStop};
50 Gets access to the test hierarchy specification.
52 The domain hierarchy specification is a simple array of TDmDomainSpec items.
54 The default implementation provided by Symbian OS just returns a pointer to
55 the domain hierarchy specification array.
57 @return A pointer to the domain hierarchy specification array.
59 EXPORT_C const TDmDomainSpec* DmPolicy::GetDomainSpecs()
61 return (TDmDomainSpec*) DomainHierarchy;
68 Releases access to the specified domain hierarchy specification.
70 The domain hierarchy specification is a simple array of TDmDomainSpec items.
72 As the default Symbian OS implementation of GetDomainSpecs() just returns
73 a pointer to the domain hierarchy specification array, then the default
74 implementation of Release() is empty. The API is provided to permit
75 more complex implementations, if required.
77 @param aDomainSpec A pointer to the domain hierarchy specification array.
79 EXPORT_C void DmPolicy::Release(const TDmDomainSpec* /*aDomainSpec*/)
85 Retrieves the domain hierarchy policy
87 @param aPolicy a client-supplied policy which on exit
88 will contain a copy of the policy for the requested domain hierarchy id.
93 EXPORT_C TInt DmPolicy::GetPolicy(TDmHierarchyPolicy& aPolicy)
95 aPolicy = HierarchyPolicy;