--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommsengine/mmcesrv/mmceserver/inc/mcecsplatsecpolicy.h Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2005 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: The security policy for MCE Server
+*
+*/
+
+
+
+
+#ifndef TMCECSPLATSECPOLICY_H
+#define TMCECSPLATSECPOLICY_H
+
+/**
+ * Number of different IPC ranges
+ */
+const TUint KMceCSPlatSecRangeCount = 13;
+
+
+/**
+ * IPC ranges segmented into groups based on their capability requirements
+ */
+const TInt TMceCSPlatSecRanges[KMceCSPlatSecRangeCount] =
+ {
+ 0, // IPC message 0
+ 1, // IPC message 1 - 14
+ 15, // IPC message 15 - 20
+ 21, // IPC message 21
+ 22, // IPC message 22 - 24
+ 25, // IPC message 25 - 32
+ 33, // IPC message 33
+ 34, // IPC message 34 - 35
+ 36, // IPC message 36
+ 37, // IPC message 37 - 41
+ 42, // IPC message 42 - 49
+ 50, // IPC messages 50 - 150
+ 150 // Not Supported 150 ->
+ };
+
+/**
+ * IPC segments and their capability requirements
+ */
+const TUint8 TMceCSPlatSecElementsIndex[KMceCSPlatSecRangeCount] =
+ {
+ CPolicyServer::EAlwaysPass,// Security policy for IPC 0
+ 0, // Security policy for IPC message 1 - 14 (NetworkServices)
+ CPolicyServer::EAlwaysPass,// Security policy for IPC message 15 - 20 (None)
+ 0, // Security policy for IPC message 21 (NetworkServices)
+ CPolicyServer::EAlwaysPass,// Security policy for IPC message 22 - 24 (None)
+ 0, // Security policy for IPC message 25 - 32 (NetworkServices)
+ 1, // Security policy for IPC message 33 (WriteDeviceData)
+ CPolicyServer::EAlwaysPass,// Security policy for IPC message 34 - 35 (None)
+ 1, // Security policy for IPC message 36 (WriteDeviceData)
+ CPolicyServer::EAlwaysPass,// Security policy for IPC message 37 - 41 (None)
+ 2, // Security policy for IPC message 42 - 49 (MultimediaDD)
+ CPolicyServer::EAlwaysPass,// Security policy for IPC message 50 - 150 (None)
+ CPolicyServer::ENotSupported // Not Supported ->
+ };
+
+/**
+ * Capability sets and the action performed in case of failure
+ */
+const CPolicyServer::TPolicyElement TMceCSPlatSecElements[3] =
+ {
+ // Requires the user to have NetworkServices capability, otherwise the message is
+ // completed with KErrPermissionDenied
+ { _INIT_SECURITY_POLICY_C1(ECapabilityNetworkServices), CPolicyServer::EFailClient },
+
+ // Requires the user to have WriteDeviceData capability, otherwise the message is
+ // completed with KErrPermissionDenied
+ { _INIT_SECURITY_POLICY_C1(ECapabilityWriteDeviceData), CPolicyServer::EFailClient },
+
+
+ // Requires the user to have MultimediaDD capability, otherwise the message is
+ // completed with KErrPermissionDenied
+ { _INIT_SECURITY_POLICY_C1(ECapabilityMultimediaDD), CPolicyServer::EFailClient }
+
+ };
+
+/**
+ * Platform security policy that MCE Server uses.
+ */
+const CPolicyServer::TPolicy TMceCSPlatSecPolicy =
+ {
+ CPolicyServer::EAlwaysPass, // Specifies all connect attempts should pass
+ KMceCSPlatSecRangeCount, // Number of ITC ranges
+ TMceCSPlatSecRanges, // ITC Ranges
+ TMceCSPlatSecElementsIndex, // Policy to ITC mapping array
+ TMceCSPlatSecElements // Policies used in MCE Server
+ };
+
+#endif//TMCECSPLATSECPOLICY_H