usbmgmt/usbmgr/device/classdrivers/ncm/inc/ncminternalsrv.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
 @internalTechnology
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 NCMINTERNALSRV_H
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    24
#define NCMINTERNALSRV_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
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    28
/**
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    29
Client-side interface of the NCM internal server for the communication between the NCM Class Controller and the Packet Driver.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    30
*/
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    31
NONSHARABLE_CLASS(RNcmInternalSrv) : public RSessionBase
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    32
    {
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    33
public:
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    34
    IMPORT_C RNcmInternalSrv();
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    35
    IMPORT_C ~RNcmInternalSrv();
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    36
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    37
public:
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    38
    /**
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    39
    Connect the handle to the server.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    40
    Must be called before all other methods (except Version and Close).
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    41
    @return Symbian error code
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    42
    */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    43
    IMPORT_C TInt Connect();
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    44
    /**
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    45
    Getter for the version of the server.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    46
    @return Version of the server
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    47
    */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    48
    IMPORT_C TVersion Version() const;
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    49
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    50
public:
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    51
    /**
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    52
     Transfer the Ldd's handles from NCM Class Controller to the Packet Driver.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    53
     @param[in]   aCommHandle, the Communication Interface handle.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    54
     @param[in]   aCommChunk, the Communication Interface's RChunk handle.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    55
     @param[in]   aDataHandle, the Data Interface handle.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    56
     @param[in]   aDataChunk, the Data Interface's RChunk handle.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    57
     @return      KErrNone, successfully transferred handle to Packet Driver.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    58
                  others, system-wide error code.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    59
    */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    60
    IMPORT_C TInt TransferHandle(RHandleBase& aCommHandle, RHandleBase& aCommChunk, RHandleBase& aDataHandle, RHandleBase& aDataChunk);
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    61
    /**
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    62
    Set this RConnection's IapId to Packet Driver.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    63
    @param[in]    aIapId, the RConnection's, which loads the Packet Driver, IapId.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    64
    @return       KErrNone, successfully set IapId.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    65
                  others, system-wide error code.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    66
    */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    67
    IMPORT_C TInt SetIapId(TUint aIapId);
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    68
    /**
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    69
    Set the DHCP Provision result to Packet Driver.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    70
    @param[in]    aResult, the result of DHCP Provision done by Class Controller.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    71
    @return       KErrNone, successfully set the result to Packet Driver.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    72
                  others, system-wide error code.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    73
    */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    74
    IMPORT_C TInt SetDhcpResult(TInt aResult);
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    75
    /**
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    76
    Register the notification of doing DHCP Provision.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    77
    @param[in,out] aStatus, the request status to be registered.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    78
    */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    79
    IMPORT_C void DhcpProvisionNotify(TRequestStatus& aStatus);
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    80
    /**
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    81
    Cancel the registration of DHCP Provision.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    82
    */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    83
    IMPORT_C void DhcpProvisionNotifyCancel();
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    84
    /**
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    85
    Transfer the buffer size of in endpoint of data interface.
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    86
    */
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    87
    IMPORT_C TInt TransferBufferSize(TUint aSize);
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    88
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    89
private:
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    90
    };
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    91
f1fd07aa74c9 201025_08
hgs
parents:
diff changeset
    92
#endif // NCMINTERNALSRV_H