localconnectivityservice/headset/hidremconbearer/inc/hidremconbearerimplementation.h
author hgs
Thu, 04 Nov 2010 15:31:42 +0800
changeset 60 841f70763fbe
parent 29 3ae5cb0b4c02
permissions -rw-r--r--
201044_04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     1
/*
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     2
* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     3
* All rights reserved.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     8
*
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
     9
* Initial Contributors:
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    11
*
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    12
* Contributors:
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    13
*
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    14
* Description:  Declaration of class CHidRemconBearer.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    15
 *
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    16
*/
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    17
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    18
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    19
#ifndef C_HIDREMCONBEARER_H
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    20
#define C_HIDREMCONBEARER_H
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    21
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    22
#include <e32base.h>
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    23
#include <c32comm.h>
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    24
#include <e32property.h>
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    25
#include <remcon/remconbearerplugin.h>
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    26
#include <remcon/remconbearerinterface.h>
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    27
#include <remcon/messagetype.h>
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    28
#include <AknCapServerClient.h>
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    29
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    30
#include "hidremconbearerobserver.h"
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    31
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    32
//CONSTANTS
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    33
const TInt KDataBufferSize = 10;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    34
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    35
/**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    36
 *  CHidRemconBearer
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    37
 *  Implementation of the Rem Con Bearer Plugin
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    38
 * 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    39
 */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    40
class CHidRemconBearer : public CRemConBearerPlugin,
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    41
        public MRemConBearerInterface,
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    42
        public MCallBackReceiver
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    43
    {
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    44
public:
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    45
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    46
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    47
     * Two-phased constructor.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    48
     * @param  aParams required for the CRemConBearerPlugin
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    49
     * @return hidremconbearer plugin
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    50
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    51
    static CHidRemconBearer* NewL( TBearerParams& aParams );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    52
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    53
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    54
     * Destructor.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    55
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    56
    virtual ~CHidRemconBearer();
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    57
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    58
private:
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    59
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    60
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    61
     * Constructor
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    62
     * @param  aParams bearer parameters
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    63
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    64
    CHidRemconBearer( TBearerParams& aParams );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    65
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    66
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    67
     * Two - phase construction.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    68
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    69
    void ConstructL();
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    70
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    71
private:
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    72
    // from CRemConBearerPlugin
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    73
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    74
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    75
     * From class CRemConBearerPlugin
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    76
     * Called by RemCon server to get a pointer to an object which implements
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    77
     * the bearer API with UID aUid. This is a mechanism for allowing future 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    78
     * change to the bearer API without breaking BC in existing (non-updated) 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    79
     * bearer plugins.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    80
     *         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    81
     * @param aUid Inteface uid
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    82
     * @return  Return pointer to interface
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    83
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    84
    TAny* GetInterface( TUid aUid );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    85
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    86
private:
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    87
    // from MRemConBearerInterface
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    88
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    89
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    90
     * From class MRemConBearerInterface
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    91
     * Called by RemCon to retrieve a response on a connection.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    92
     *         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    93
     * @param  aInterfaceUid Inteface uid
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    94
     * @param  aTransactionId Transaction id
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    95
     * @param  aOperationId operation ID
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    96
     * @param  aData API-specific message data.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    97
     * @param  aAddr The connection.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    98
     * @return Error code
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
    99
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   100
    TInt GetResponse( TUid& aInterfaceUid, TUint& aTransactionId,
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   101
            TUint& aOperationId, RBuf8& aData, TRemConAddress& aAddr );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   102
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   103
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   104
     * From class MRemConBearerInterface
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   105
     * Send Remcon command
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   106
     *         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   107
     * @param  aInterfaceUid Inteface uid
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   108
     * @param  aCommand command id
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   109
     * @param  aTransactionId Transaction id         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   110
     * @param  aData API-specific message data.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   111
     * @param  aAddr The connection.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   112
     * @return Error code
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   113
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   114
    TInt SendCommand( TUid aInterfaceUid, TUint aCommand,
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   115
            TUint aTransactionId, RBuf8& aData, const TRemConAddress& aAddr );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   116
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   117
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   118
     * From class MRemConBearerInterface
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   119
     * Get Remcon command
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   120
     *
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   121
     * @param  aInterfaceUid Inteface uid
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   122
     * @param  aTransactionId Transaction id                  
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   123
     * @param  aCommand command id
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   124
     * @param  aData API-specific message data.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   125
     * @param  aAddr The connection.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   126
     * @return Error code
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   127
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   128
    TInt GetCommand( TUid& aInterfaceUid, TUint& aTransactionId,
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   129
            TUint& aCommand, RBuf8& aData, TRemConAddress& aAddr );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   130
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   131
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   132
     * From class MRemConBearerInterface
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   133
     * Send Response
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   134
     *         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   135
     * @param  aInterfaceUid Inteface uid
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   136
     * @param  aOperationID operation id
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   137
     * @param  aTransactionId Transaction id                  
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   138
     * @param  aData API-specific message data.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   139
     * @param  aAddr The connection.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   140
     * @return Error code
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   141
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   142
    TInt SendResponse( TUid aInterfaceUid, TUint aOperationId,
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   143
            TUint aTransactionId, RBuf8& aData, const TRemConAddress& aAddr );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   144
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   145
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   146
     * From class MRemConBearerInterface
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   147
     * Connect request
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   148
     *         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   149
     * @param  aAddr The connection.         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   150
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   151
    void ConnectRequest( const TRemConAddress& aAddr );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   152
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   153
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   154
     * From class MRemConBearerInterface
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   155
     * Disconnect request
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   156
     *         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   157
     * @param  aAddr The connection.         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   158
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   159
    void DisconnectRequest( const TRemConAddress& aAddr );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   160
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   161
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   162
     * From class MRemConBearerInterface
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   163
     * Clientstatus
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   164
     *
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   165
     * @param  aControllerPresent Controllerpresent status
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   166
     * @param  aTargetPresent Target present status         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   167
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   168
    void ClientStatus( TBool aControllerPresent, TBool aTargetPresent );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   169
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   170
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   171
     * From class MRemConBearerInterface
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   172
     * Return security policy
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   173
     *
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   174
     * @return Security policy
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   175
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   176
    TSecurityPolicy SecurityPolicy() const;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   177
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   178
private:
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   179
    // from MCallBackReceiver    
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   180
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   181
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   182
     * From class MCallBackReceiver
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   183
     * Return security policy
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   184
     *
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   185
     * @param aScanCode a scancode
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   186
     * @param aKeyType a Keytype         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   187
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   188
    void ReceivedKeyEvent( TInt aScanCode, TInt aKeyType );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   189
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   190
private:
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   191
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   192
     * From class MCallBackReceiver
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   193
     * Set SVK Operation ID and Data
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   194
     *
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   195
     * @param aEnumValue OperationID and data field
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   196
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   197
    void SetSVKOperationIdAndData( TInt aEnumValue );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   198
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   199
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   200
     * From class MCallBackReceiver
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   201
     * Set Mute Operation ID and Data
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   202
     *
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   203
     * @param aEnumValue OperationID and data field         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   204
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   205
    void SetMuteKeyOperationIdAndData( TInt aEnumValue );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   206
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   207
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   208
     * From class MCallBackReceiver
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   209
     * Set Media key Operation ID and Data
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   210
     *
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   211
     * @param aEnumValue OperationID and data field         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   212
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   213
    void SetMediaKeyOperationIdAndData( TInt aEnumValue );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   214
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   215
    /** 
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   216
     * From class MCallBackReceiver
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   217
     * Set Media key Operation ID and Data
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   218
     *         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   219
     * @param aEnumValue OperationID and data field         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   220
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   221
    void SetPhoneKeyOperationIdAndData( TInt aEnumValue );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   222
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   223
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   224
     * RestartExpired observer
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   225
     *
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   226
     * @param aKeyType type of key         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   227
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   228
    void RestartKeyObeserver( TInt aKeyType );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   229
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   230
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   231
     * Restart Expired observer
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   232
     *         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   233
     * @param aEnumValue a value of key
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   234
     * @param aKeyType  A type of key         
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   235
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   236
    void HandleKeyOperation( TInt aEnumValue, TInt aKeyType );
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   237
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   238
private:
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   239
    // Data
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   240
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   241
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   242
     * Interface uid of last correct-decoded message
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   243
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   244
    TUid iInterfaceUid;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   245
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   246
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   247
     * Operation uid of last correct-decoded message
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   248
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   249
    TUint iOperationId;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   250
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   251
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   252
     * Data of last correct-decoded message
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   253
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   254
    TBuf8<KDataBufferSize> iData;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   255
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   256
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   257
     * Transactionid uid of last correct-decoded message
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   258
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   259
    TUint iTransactionId;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   260
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   261
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   262
     * Media key observer
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   263
     * Own.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   264
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   265
    CHidRemconBearerObserver* iMediaKeyObserver;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   266
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   267
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   268
     * Accessory volume key observer
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   269
     * Own.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   270
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   271
    CHidRemconBearerObserver* iAccessoryVolKeyObserver;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   272
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   273
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   274
     * Mute key observer
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   275
     * Own.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   276
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   277
    CHidRemconBearerObserver* iMuteKeyObserver;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   278
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   279
    /**
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   280
     * Phone key observer
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   281
     * Own.
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   282
     */
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   283
    CHidRemconBearerObserver* iHookKeyObserver;
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   284
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   285
    };
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   286
3ae5cb0b4c02 201025_07
hgs
parents:
diff changeset
   287
#endif // HIDREMCONBEARERIMPLEMENTATION_H