usbmgmt/usbmgr/usbman/server/INC/UsbmanServerSecurityPolicy.h
changeset 0 c9bc50fca66e
child 15 f92a4f87e424
equal deleted inserted replaced
-1:000000000000 0:c9bc50fca66e
       
     1 /*
       
     2 * Copyright (c) 2004-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 "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 * USBMAN Server Security Policy definitions for Platform security.
       
    16 *
       
    17 */
       
    18 
       
    19 /**
       
    20  @file 
       
    21  @internalComponent
       
    22 */
       
    23  
       
    24 #if !defined(__USBMANSERVERSECURITYPOLICY_H__)
       
    25 #define __USBMANSERVERSECURITYPOLICY_H__
       
    26 
       
    27 #include <usb/usbshared.h>
       
    28 #include "rusb.h"
       
    29 
       
    30 /** Usbman Server Security Policy Definition */
       
    31 const TUint KUsbmanServerRangeCount = 13;
       
    32 
       
    33 const TInt KUsbmanServerRanges[KUsbmanServerRangeCount] = 
       
    34 	{
       
    35 	EUsbStart,                 			/** NetworkControl 		*/
       
    36 	EUsbRegisterObserver,       		/** none 				*/
       
    37 	EUsbStartCancel,            		/** NetworkControl 		*/
       
    38 	EUsbCancelObserver,        			/** none 				*/
       
    39 	EUsbStopCancel,            			/** NetworkControl 		*/
       
    40 	EUsbGetCurrentDeviceState, 			/** none 				*/
       
    41 	EUsbTryStart,              			/** NetworkControl 		*/
       
    42 	EUsbCancelInterest,        			/** none 				*/
       
    43 	EUsbSetCtlSessionMode,	   			/** NetworkControl 		*/
       
    44 	EUsbRegisterMessageObserver, 		/** none 				*/
       
    45 	EUsbEnableFunctionDriverLoading,	/** NetworkControl 		*/
       
    46 	EUsbGetSupportedLanguages, 			/** none 				*/
       
    47 	EUsbGetPersonalityProperty + 1	 				/** fail (to KMaxTInt) 	*/
       
    48 	};
       
    49 
       
    50 /** Index numbers into KUsbmanServerElements[] */
       
    51 const TInt KPolicyNetworkControl = 0;
       
    52 const TInt KPolicyPass = 1;
       
    53 
       
    54 /**Mapping IPCs to policy element */
       
    55 const TUint8 KUsbmanServerElementsIndex[KUsbmanServerRangeCount] = 
       
    56 	{
       
    57 	KPolicyNetworkControl, 	/** EUsbStart */
       
    58 				 			/** EUsbStop  */
       
    59 
       
    60 	KPolicyPass, 		 	/** EUsbRegisterObserver */
       
    61 				 			/** EUsbGetCurrentState */
       
    62 
       
    63 	KPolicyNetworkControl, 	/** EUsbStartCancel */
       
    64 
       
    65 	KPolicyPass,		 	/** EUsbCancelObserver */
       
    66 
       
    67 	KPolicyNetworkControl, 	/** EUsbStopCancel */
       
    68 	KPolicyPass, 		 	/** EUsbGetCurrentDeviceState */
       
    69 				 			/** EUsbRegisterServiceObserver */
       
    70 		                 	/** EUsbCancelServiceObserver */
       
    71 		           	 		/** EUsbDbgMarkHeap */
       
    72 				 			/** EUsbDbgCheckHeap */
       
    73 				 			/** EUsbDbgMarkEnd */
       
    74 				 			/** EUsbDbgFailNext */
       
    75 
       
    76 	KPolicyNetworkControl,	/** EUsbTryStart */
       
    77 				 			/** EUsbTryStop */
       
    78 
       
    79 	KPolicyPass,		 	/** EUsbCancelInterest */
       
    80 					 		/** EUsbGetCurrentPersonalityId */
       
    81 					 		/** EUsbGetSupportedClasses */
       
    82 					 		/** EUsbGetPersonalityIds */
       
    83 					 		/** EUsbGetDescription */
       
    84 					 		/** EUsbClassSupported */
       
    85 
       
    86 	KPolicyNetworkControl,	/** EUsbSetCtlSessionMode */
       
    87 							/** EUsbBusRequest */
       
    88 				 			/** EUsbBusRespondSrp */
       
    89 
       
    90 				 			/** EUsbBusClearError */
       
    91 
       
    92 				 			/** EUsbBusDrop */
       
    93 
       
    94 	KPolicyPass,		 	/** EUsbRegisterMessageObserver */
       
    95 					 		/** EUsbCancelMessageObserver */
       
    96 					 		/** EUsbRegisterHostObserver */
       
    97 					 		/** EUsbCancelHostObserver */
       
    98 
       
    99 	KPolicyNetworkControl,	/** EUsbEnableFunctionDriverLoading */
       
   100 				 			/** EUsbDisableFunctionDriverLoading */
       
   101 
       
   102 	KPolicyPass,		 	/** EUsbGetSupportedLanguages */
       
   103 					 		/** EUsbGetManufacturerStringDescriptor */
       
   104 					 		/** EUsbGetProductStringDescriptor */
       
   105                             /** EUsbGetOtgDescriptor */
       
   106 				 			/** EUsbDbgAlloc */
       
   107 							/** EUsbRequestSession */
       
   108                             /** EUsbGetDetailedDescription */
       
   109 							/** EUsbGetPersonalityProperty */
       
   110 
       
   111 	CPolicyServer::ENotSupported, /** EUsbGetPersonalityProperty + 1 to KMaxTInt */
       
   112 
       
   113 	};
       
   114 
       
   115 /** Individual policy elements */
       
   116 const CPolicyServer::TPolicyElement KUsbmanServerElements[] = 
       
   117 	{
       
   118 		/** the EFailClient means that the if the check fails the CheckFailed method with return KErrPermissionDenied */
       
   119   		{ _INIT_SECURITY_POLICY_C1(ECapabilityNetworkControl), CPolicyServer::EFailClient },
       
   120   		{ _INIT_SECURITY_POLICY_PASS },
       
   121 	};
       
   122 
       
   123 /** Main policy */
       
   124 const CPolicyServer::TPolicy KUsbmanServerPolicy = 
       
   125 	{
       
   126 	CPolicyServer::EAlwaysPass, /** Specifies all connect attempts should pass */
       
   127 	KUsbmanServerRangeCount,
       
   128 	KUsbmanServerRanges,
       
   129 	KUsbmanServerElementsIndex,
       
   130 	KUsbmanServerElements,
       
   131 	};
       
   132 #endif //__USBMANSERVERSECURITYPOLICY_H__