usbmgmt/usbmgr/device/classdrivers/ncm/classimplementation/ncmpktdrv/server/inc/ncmserversecuritypolicy.h
author hgs
Wed, 07 Jul 2010 14:16:40 +0800
changeset 28 f1fd07aa74c9
permissions -rw-r--r--
201025_08
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
     1
/*
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
     3
* All rights reserved.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
     8
*
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
     9
* Initial Contributors:
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    11
*
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    12
* Contributors:
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    13
*
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    14
* Description:
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    15
*
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    16
*/
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    17
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    18
/**
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    19
 @file 
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    20
 @internalComponent
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    21
*/
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    22
 
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    23
#ifndef NCMSERVERSECURITYPOLICY_H
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    24
#define NCMSERVERSECURITYPOLICY_H
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    25
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    26
#include <e32base.h>
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    27
#include "ncmserverconsts.h"
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    28
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    29
/** NCM Server Security Policy Definition */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    30
const TInt KNcmServerRanges[] = 
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    31
    {
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    32
    ENcmTransferHandle,             /** pass */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    33
    ENcmNotSupport,        /** fail (to KMaxTInt) */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    34
    };
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    35
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    36
const TUint KNcmServerRangeCount = sizeof(KNcmServerRanges) / sizeof(KNcmServerRanges[0]);
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    37
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    38
/** Index numbers into KAcmServerElements[] */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    39
const TInt KPolicyPass = 0;
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    40
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    41
/** Mapping IPCs to policy element */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    42
const TUint8 KNcmServerElementsIndex[KNcmServerRangeCount] = 
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    43
    {
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    44
    KPolicyPass,                  /** All (valid) APIs */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    45
    CPolicyServer::ENotSupported,   /** remainder of possible IPCs */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    46
    };
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    47
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    48
/** Individual policy elements */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    49
const CPolicyServer::TPolicyElement KNcmServerElements[] = 
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    50
    {
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    51
        { 
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    52
        // These caps are those of USBSVR's process. This is the recommended 
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    53
        // way to check that an API is called by a specific process only. [The 
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    54
        // alternative would be an SID check.]
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    55
        //_INIT_SECURITY_POLICY_C5(ECapabilityCommDD, ECapabilityNetworkControl, ECapabilityNetworkServices, ECapabilityLocalServices, ECapabilityProtServ), CPolicyServer::EFailClient
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    56
        _INIT_SECURITY_POLICY_PASS
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    57
        },
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    58
    };
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    59
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    60
/** Main policy */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    61
const CPolicyServer::TPolicy KNcmServerPolicy = 
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    62
    {
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    63
    CPolicyServer::EAlwaysPass, /** Specifies all connect attempts should pass */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    64
    KNcmServerRangeCount,
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    65
    KNcmServerRanges,
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    66
    KNcmServerElementsIndex,
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    67
    KNcmServerElements,
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    68
    };
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    69
    
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    70
#endif // NCMSERVERSECURITYPOLICY_H