--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usbmgmt/usbmgr/usbman/server/INC/UsbmanServerSecurityPolicy.h Tue Feb 02 02:02:59 2010 +0200
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2004-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:
+* USBMAN Server Security Policy definitions for Platform security.
+*
+*/
+
+/**
+ @file
+ @internalComponent
+*/
+
+#if !defined(__USBMANSERVERSECURITYPOLICY_H__)
+#define __USBMANSERVERSECURITYPOLICY_H__
+
+#include <usb/usbshared.h>
+#include "rusb.h"
+
+/** Usbman Server Security Policy Definition */
+const TUint KUsbmanServerRangeCount = 13;
+
+const TInt KUsbmanServerRanges[KUsbmanServerRangeCount] =
+ {
+ EUsbStart, /** NetworkControl */
+ EUsbRegisterObserver, /** none */
+ EUsbStartCancel, /** NetworkControl */
+ EUsbCancelObserver, /** none */
+ EUsbStopCancel, /** NetworkControl */
+ EUsbGetCurrentDeviceState, /** none */
+ EUsbTryStart, /** NetworkControl */
+ EUsbCancelInterest, /** none */
+ EUsbSetCtlSessionMode, /** NetworkControl */
+ EUsbRegisterMessageObserver, /** none */
+ EUsbEnableFunctionDriverLoading, /** NetworkControl */
+ EUsbGetSupportedLanguages, /** none */
+ EUsbGetPersonalityProperty + 1 /** fail (to KMaxTInt) */
+ };
+
+/** Index numbers into KUsbmanServerElements[] */
+const TInt KPolicyNetworkControl = 0;
+const TInt KPolicyPass = 1;
+
+/**Mapping IPCs to policy element */
+const TUint8 KUsbmanServerElementsIndex[KUsbmanServerRangeCount] =
+ {
+ KPolicyNetworkControl, /** EUsbStart */
+ /** EUsbStop */
+
+ KPolicyPass, /** EUsbRegisterObserver */
+ /** EUsbGetCurrentState */
+
+ KPolicyNetworkControl, /** EUsbStartCancel */
+
+ KPolicyPass, /** EUsbCancelObserver */
+
+ KPolicyNetworkControl, /** EUsbStopCancel */
+ KPolicyPass, /** EUsbGetCurrentDeviceState */
+ /** EUsbRegisterServiceObserver */
+ /** EUsbCancelServiceObserver */
+ /** EUsbDbgMarkHeap */
+ /** EUsbDbgCheckHeap */
+ /** EUsbDbgMarkEnd */
+ /** EUsbDbgFailNext */
+
+ KPolicyNetworkControl, /** EUsbTryStart */
+ /** EUsbTryStop */
+
+ KPolicyPass, /** EUsbCancelInterest */
+ /** EUsbGetCurrentPersonalityId */
+ /** EUsbGetSupportedClasses */
+ /** EUsbGetPersonalityIds */
+ /** EUsbGetDescription */
+ /** EUsbClassSupported */
+
+ KPolicyNetworkControl, /** EUsbSetCtlSessionMode */
+ /** EUsbBusRequest */
+ /** EUsbBusRespondSrp */
+
+ /** EUsbBusClearError */
+
+ /** EUsbBusDrop */
+
+ KPolicyPass, /** EUsbRegisterMessageObserver */
+ /** EUsbCancelMessageObserver */
+ /** EUsbRegisterHostObserver */
+ /** EUsbCancelHostObserver */
+
+ KPolicyNetworkControl, /** EUsbEnableFunctionDriverLoading */
+ /** EUsbDisableFunctionDriverLoading */
+
+ KPolicyPass, /** EUsbGetSupportedLanguages */
+ /** EUsbGetManufacturerStringDescriptor */
+ /** EUsbGetProductStringDescriptor */
+ /** EUsbGetOtgDescriptor */
+ /** EUsbDbgAlloc */
+ /** EUsbRequestSession */
+ /** EUsbGetDetailedDescription */
+ /** EUsbGetPersonalityProperty */
+
+ CPolicyServer::ENotSupported, /** EUsbGetPersonalityProperty + 1 to KMaxTInt */
+
+ };
+
+/** Individual policy elements */
+const CPolicyServer::TPolicyElement KUsbmanServerElements[] =
+ {
+ /** the EFailClient means that the if the check fails the CheckFailed method with return KErrPermissionDenied */
+ { _INIT_SECURITY_POLICY_C1(ECapabilityNetworkControl), CPolicyServer::EFailClient },
+ { _INIT_SECURITY_POLICY_PASS },
+ };
+
+/** Main policy */
+const CPolicyServer::TPolicy KUsbmanServerPolicy =
+ {
+ CPolicyServer::EAlwaysPass, /** Specifies all connect attempts should pass */
+ KUsbmanServerRangeCount,
+ KUsbmanServerRanges,
+ KUsbmanServerElementsIndex,
+ KUsbmanServerElements,
+ };
+#endif //__USBMANSERVERSECURITYPOLICY_H__