featuremgmt/featuremgr/src/serverexe/featmgrsecuritypolicy.h
changeset 0 08ec8eefde2f
child 10 fa9941cf3867
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/featuremgmt/featuremgr/src/serverexe/featmgrsecuritypolicy.h	Fri Jan 22 11:06:30 2010 +0200
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#ifndef FEATMGR_SECURITY_POLICY_H
+#define FEATMGR_SECURITY_POLICY_H
+
+
+/**
+ * Number of different IPC ranges
+ */
+const TUint KFeatMgrPlatSecRangeCount = 3;
+
+
+#ifndef EXTENDED_FEATURE_MANAGER_TEST
+//
+// NORMAL
+// The security ranges for messages in the framework.
+// See also featmgrclientserver.h for message enum TFeatMgrServRequest
+//
+
+/**
+ * IPC ranges segmented into groups based on their capability requirements
+ */
+const TInt KFeatMgrPlatSecRanges[KFeatMgrPlatSecRangeCount] =
+    {
+    0,  // IPC 0-7 Always passed
+    8,  // IPC 8-13 WriteDeviceData
+    16  // IPC Not supported 16 ->
+    };
+
+
+/**
+ * IPC segments and their capability requirements
+ */
+const TUint8 KFeatMgrPlatSecElementsIndex[KFeatMgrPlatSecRangeCount] =
+    {
+    CPolicyServer::EAlwaysPass,             // IPC 0-3
+    0,                                      // IPC 8-13
+    CPolicyServer::ENotSupported            // IPC 16 -> 
+    };
+
+#else
+//
+// CONFIGURED test server has debug only API(s) built into the framework. 
+// e.g. EFeatMgrNumberOfNotifyFeatures which will return debug information about 
+// the server for testing purposes. Consequently, the platform security setup 
+// for the test server differs slightly to allow these specific debug only message(s).
+//
+
+/**
+ * IPC ranges segmented into groups based on their capability requirements
+ */
+const TInt KFeatMgrPlatSecRanges[KFeatMgrPlatSecRangeCount] =
+    {
+    0,   // IPC 0-9 Always passed
+    10,  // IPC 10-15 WriteDeviceData
+    18   // IPC Not supported 18 ->
+    };
+/**
+ * IPC segments and their capability requirements
+ */
+const TUint8 KFeatMgrPlatSecElementsIndex[KFeatMgrPlatSecRangeCount] =
+    {
+    CPolicyServer::EAlwaysPass,             // IPC 0-3
+    0,                                      // IPC 10-15
+    CPolicyServer::ENotSupported            // IPC 18 ->
+    };
+
+#endif
+
+
+/**
+ * Capability sets and the action performed in case of failure
+ */
+const CPolicyServer::TPolicyElement KFeatMgrPlatSecElements[] =
+    {
+       
+        {
+        _INIT_SECURITY_POLICY_C1( ECapabilityWriteDeviceData ),
+        CPolicyServer::EFailClient
+        }
+       
+    };
+
+
+/**
+ * Platform security policy that Feature Manager server uses.
+ */
+const CPolicyServer::TPolicy KFeatMgrPlatSecPolicy =
+    {
+    CPolicyServer::EAlwaysPass,     // Specifies all connect attempts should pass
+    KFeatMgrPlatSecRangeCount,      // Number of IPC ranges
+    KFeatMgrPlatSecRanges,          // IPC Ranges
+    KFeatMgrPlatSecElementsIndex,   // Policy to IPC mapping array
+    KFeatMgrPlatSecElements         // Policies used in Feature Manager Server
+    };
+
+
+#endif