bluetoothengine/headsetsimulator/core/inc/hscore.h
author michal.sulewski
Wed, 15 Sep 2010 15:59:44 +0200
branchheadsetsimulator
changeset 60 90dbfc0435e3
permissions -rw-r--r--
source code commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
60
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     1
/*
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     2
 * Component Name: Headset Simulator
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     3
 * Author: Comarch S.A.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     4
 * Version: 1.0
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     5
 * Copyright (c) 2010 Comarch S.A.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     6
 *  
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     7
 * This Software is submitted by Comarch S.A. to Symbian Foundation Limited on 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     8
 * the basis of the Member Contribution Agreement entered between Comarch S.A. 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     9
 * and Symbian Foundation Limited on 5th June 2009 (“Agreement”) and may be 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    10
 * used only in accordance with the terms and conditions of the Agreement. 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    11
 * Any other usage, duplication or redistribution of this Software is not 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    12
 * allowed without written permission of Comarch S.A.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    13
 * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    14
 */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    15
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    16
#ifndef HSCORE_H
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    17
#define HSCORE_H
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    18
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    19
#include <es_sock.h>
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    20
#include <btdevice.h>
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    21
#include <bttypes.h>
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    22
#include <hsobserver.h>
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    23
#include <hsclientobservers.h>
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    24
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    25
class CHsProfileManager;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    26
class CHsControlServer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    27
class CHsServer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    28
class CHsClientManager;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    29
class CHsBTManager;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    30
class CHsAudioServer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    31
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    32
/** Index of AG to which data should be send */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    33
const TInt KHsClientSendNumber = 0;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    34
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    35
/** Length of plugin identificator data */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    36
const TInt KHsIdentificationFieldBufSize = 128;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    37
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    38
/** Length of command data */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    39
const TInt32 KHsBufferLength = 0x800;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    40
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    41
/** Headset property Uid */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    42
const TUid KHSProperty =
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    43
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    44
    0x1000008d
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    45
    };
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    46
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    47
/** Length of last-connected device bluetooth address */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    48
const TInt KLastDevAddrLength = KBTDevAddrSize * 2;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    49
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    50
/** Headset property key enum */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    51
enum THSPropertyKey
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    52
{
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    53
    /** Last-connected AG*/
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    54
    ELastDevice
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    55
};
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    56
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    57
/** Bluetooth friendly name of device */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    58
typedef TBuf <KMaxFriendlyNameLen> TBTFriendlyName;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    59
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    60
/** Data buffer from profile to be send to client */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    61
typedef TBuf8 <KHsBufferLength> TBufferFromProfileToClient;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    62
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    63
/**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    64
 * @brief Class responsible for main functionality of Headset Simulator.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    65
 */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    66
class CHsCore : public CBase, public MHsClientStateNotifier,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    67
        public MHsAcceptNewClientObserver, public MHsBTManagerObserver,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    68
        public MRemoteControllerConnectionObserver
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    69
{
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    70
public:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    71
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    72
     * Two-phase constructor
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    73
     * @param aService service UUID
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    74
     * @return instance of class
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    75
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    76
    IMPORT_C static CHsCore* NewL( const TUUID &aService );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    77
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    78
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    79
     * Two-phase constructor
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    80
     * @param aService service UUID
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    81
     * @return instance of class
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    82
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    83
    IMPORT_C static CHsCore* NewLC( const TUUID &aService );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    84
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    85
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    86
     * Destructor
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    87
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    88
    IMPORT_C ~CHsCore();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    89
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    90
public:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    91
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    92
     * Starts simulation of Headset.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    93
     * Turns bluetooth on and sets local name, starts Headset server, loads 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    94
     * CoD, Sdp and profile plugins.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    95
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    96
     * @param aCoDUid Class of Device Uid
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    97
     * @param aSdpUid Sdp Uid
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    98
     * @param aProfileUid profile Uid
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    99
     * @param aBTName bluetooth name
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   100
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   101
    IMPORT_C void StartSimulationL( const TUid &aCoDUid, const TUid &aSdpUid,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   102
            const TUid &aProfileUid, const TDesC &aBTName = KNullDesC );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   103
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   104
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   105
     * Starts simulation of Headset.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   106
     * Turns bluetooth on and sets local name, starts Headset server, loads 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   107
     * CoD, Sdp and profile plugins.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   108
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   109
     * @param aCoDUid Class of Device Uid as descriptor
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   110
     * @param aSdpUid Sdp Uid as descriptor
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   111
     * @param aProfileUid profile Uid as descriptor
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   112
     * @param aBTName bluetooth name
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   113
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   114
    IMPORT_C void StartSimulationL( const TDesC8 &aCoDUid,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   115
            const TDesC8 &aSdpUid, const TDesC8 &aProfileUid,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   116
            const TDesC &aBTName = KNullDesC );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   117
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   118
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   119
     * Stops simulation of Headset.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   120
     * Disconnects from AGs, Remote Controller, restores initial bluetooth 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   121
     * settings.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   122
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   123
    IMPORT_C void StopSimulation();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   124
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   125
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   126
     * Connects AG by its bluetooth name.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   127
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   128
     * When request completes with success notification is sent to 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   129
     * MHsObserver::HandleConnectedToClient(), otherwise to 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   130
     * MHsObserver::HandleUnableToConnectClient().
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   131
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   132
     * @param aName AG's bluetooth name
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   133
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   134
    IMPORT_C void ConnectWithName( const TDesC &aName );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   135
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   136
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   137
     * Connects AG by its bluetooth address.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   138
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   139
     * When request completes with success notification is sent to 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   140
     * MHsObserver::HandleConnectedToClient(), otherwise to 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   141
     * MHsObserver::HandleUnableToConnectClient().
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   142
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   143
     * @param aDevAddress AG's bluetooth address
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   144
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   145
    IMPORT_C void ConnectWithDevAddress( const TDesC &aDevAddress );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   146
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   147
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   148
     * Connects last-connected AG.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   149
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   150
     * When request completes with success notification is sent to 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   151
     * MHsObserver::HandleConnectedToClient(), otherwise to 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   152
     * MHsObserver::HandleUnableToConnectClient().
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   153
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   154
     * @pre Invocation of this method must be after at least one call of 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   155
     * ConnectWithName or ConnectWithDevAddress which saves connection 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   156
     * parameters.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   157
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   158
    IMPORT_C void ConnectWithLastConnectedL();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   159
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   160
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   161
     * Cancels attempt of connection with AG.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   162
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   163
    IMPORT_C void CancelConnecting();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   164
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   165
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   166
     * Disconnects from AGs.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   167
     *
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   168
     * When request completes notification is sent to 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   169
     * MHsObserver::HandleDisconnectedFromClient().
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   170
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   171
    IMPORT_C void DisconnectClients();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   172
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   173
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   174
     * Sends command to AG. Data is handled by profile manager before.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   175
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   176
     * @param aData data to be handled and response send
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   177
     * @param aNumber specifies to which AG response command should be send
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   178
     * @return KErrNone if successful, otherwise one of the system-wide 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   179
     *          error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   180
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   181
    IMPORT_C TInt Send( const TDesC8 &aData, 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   182
            TInt aNumber = KHsClientSendNumber );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   183
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   184
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   185
     * Sets observer of Headset actions.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   186
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   187
     * @param aObserver reference to MHsObserver
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   188
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   189
    IMPORT_C void SetObserver( MHsObserver &aObserver );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   190
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   191
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   192
     * Accepts incoming call. If call is not pending, nothing happens.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   193
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   194
     * @return error value
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   195
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   196
    IMPORT_C TInt AcceptIncomingCall();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   197
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   198
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   199
     * Releases ongoing call. If call does not exist, nothing happens.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   200
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   201
     * @return error value
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   202
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   203
    IMPORT_C TInt ReleaseOngoingCall();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   204
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   205
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   206
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   207
     * Constructor for performing 1st stage construction
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   208
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   209
     * @param aService service UUID
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   210
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   211
    CHsCore( const TUUID &aService );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   212
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   213
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   214
     * Constructor for performing 2nd stage construction
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   215
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   216
    void ConstructL();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   217
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   218
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   219
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   220
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   221
     * Simulation initialization. Starts bluetooth with optionally 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   222
     * specified name and server
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   223
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   224
     * @param aBTName bluetooth name 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   225
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   226
    void InitializeSimulationL( const TDesC &aBTName = KNullDesC );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   227
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   228
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   229
     * Registers Headset property.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   230
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   231
    void RegisterProperty();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   232
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   233
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   234
     * Creates Headset components.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   235
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   236
     * @leave system-wide error codes if any component's creation fails.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   237
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   238
    void CreateComponentsL();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   239
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   240
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   241
     * Destroys Headset components.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   242
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   243
    void DestroyComponents();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   244
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   245
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   246
     * Creates Headset server.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   247
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   248
     * @return KErrNone if successful, otherwise one of the system-wide 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   249
     *         error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   250
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   251
    TInt CreateHSServer();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   252
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   253
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   254
     * Starts Headset server.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   255
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   256
     * @return KErrNone if successful, otherwise one of the system-wide 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   257
     *         error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   258
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   259
    TInt StartHSServer();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   260
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   261
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   262
     * Stops Headset server.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   263
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   264
    void StopHSServer();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   265
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   266
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   267
     * Destroys Headset server.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   268
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   269
    void DestroyHSServer();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   270
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   271
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   272
     * Creates audio server.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   273
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   274
     * @return KErrNone if successful, otherwise one of the system-wide 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   275
     *         error code
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   276
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   277
    TInt CreateAudioServer( TBool aPullAudio = EFalse );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   278
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   279
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   280
     * Starts audio server.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   281
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   282
     * @param aPullAudio denotes if SCO should be accepted
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   283
     * @return KErrNone if successful, otherwise one of the system-wide 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   284
     *         error code
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   285
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   286
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   287
    TInt StartAudioServer( TBool aPullAudio = EFalse );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   288
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   289
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   290
     * Stops audio server.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   291
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   292
    void StopAudioServer();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   293
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   294
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   295
     * Destroys audio server.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   296
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   297
    void DestroyAudioServer();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   298
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   299
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   300
     * Creates AG clients manager.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   301
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   302
     * @return KErrNone if successful, otherwise one of the system-wide
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   303
     *         error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   304
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   305
    TInt CreateClientManager();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   306
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   307
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   308
     * Destroys AG clients manager.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   309
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   310
    void DestroyClientManager();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   311
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   312
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   313
     * Creates plugin manager.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   314
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   315
     * @return KErrNone if successful, otherwise one of the system-wide 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   316
     *         error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   317
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   318
    TInt CreatePluginManager();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   319
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   320
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   321
     * Destroys plugin manager.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   322
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   323
    void DestroyPluginManager();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   324
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   325
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   326
     * Creates bluetooth manager.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   327
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   328
     * @return KErrNone if successful, otherwise one of the system-wide 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   329
     *         error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   330
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   331
    TInt CreateBTManager();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   332
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   333
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   334
     * Destroys bluetooth manager.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   335
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   336
    void DestroyBTManager();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   337
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   338
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   339
     * Creates Remote Control server.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   340
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   341
     * @return KErrNone if successful, otherwise one of the system-wide 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   342
     *         error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   343
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   344
    TInt CreateControlServer();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   345
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   346
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   347
     * Destroys Remote Control server.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   348
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   349
    void DestroyControlServer();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   350
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   351
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   352
     * Sets Headset bluetooth friendly name.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   353
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   354
     * @param aBTName bluetooth name
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   355
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   356
    void SetBTName( const TBTFriendlyName &aBTName );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   357
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   358
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   359
     * Gets last-connected AG's bluetooth address.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   360
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   361
     * @param aBTDevAddr on return, the value of bluetooth address 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   362
     * @return KErrNone if successful, otherwise one of the system-wide 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   363
     *         error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   364
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   365
    TInt GetLastConnected( TBTDevAddr &aBTDevAddr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   366
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   367
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   368
     * Saves connection parameter - bluetooth address of last-connected AG.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   369
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   370
     * @param aSocket socket which AG is connected
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   371
     * @return KErrNone if successful, otherwise one of the system-wide 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   372
     *         error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   373
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   374
    TInt SaveClient( CBluetoothSocket* aSocket );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   375
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   376
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   377
     * Sets listening Headset server port to be used in settings of Sdp record.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   378
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   379
    void SetSdpRecordServicePortFromServer();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   380
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   381
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   382
     * Loads profile.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   383
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   384
     * @param aProfileName profile name
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   385
     * @pre CoD and Sdp plugins loaded.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   386
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   387
    void LoadProfileL( const TDesC8 &aProfileName );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   388
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   389
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   390
     * Loads profile.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   391
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   392
     * @param aProfileUid profile Uid
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   393
     * @pre CoD and Sdp plugins loaded.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   394
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   395
    void LoadProfileL( const TUid &aProfileUid );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   396
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   397
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   398
     * Loads Sdp.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   399
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   400
     * @param aSdpName Sdp name
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   401
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   402
    void LoadSdpL( const TDesC8 &aSdpName );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   403
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   404
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   405
     * Loads Sdp.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   406
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   407
     * @param aSdpUid Sdp Uid
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   408
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   409
    void LoadSdpL( const TUid &aSdpUid );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   410
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   411
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   412
     * Loads CoD plugin
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   413
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   414
     * @param aCodName CoD name
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   415
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   416
    void LoadCodL( const TDesC8 &aCoDName );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   417
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   418
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   419
     * Loads CoD plugin
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   420
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   421
     * @param aCodUid CoD Uid
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   422
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   423
    void LoadCodL( const TUid &aCoDUid );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   424
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   425
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   426
    //Methods inherited from MHsClientStateNotifier
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   427
    void HandleClientConnectL( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   428
    
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   429
    void HandleClientDisconnectL( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   430
    
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   431
    void HandleClientReceiveCompleteL( const TDesC8 &aData, TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   432
    
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   433
    void HandleClientSendCompleteL( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   434
    
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   435
    void HandleClientOtherProblemL( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   436
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   437
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   438
    //Methods inherited from MHsAcceptNewClientObserver
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   439
    void HandleNewClientL( CBluetoothSocket *aClientSocket, TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   440
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   441
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   442
    //Methods inherited from MHsBTManagerObserver
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   443
    void HandleDesiredDeviceFound( const TDesC &aDevName,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   444
            const TBTDevAddr &aDevAddr, const TInt aPort );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   445
    
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   446
    void HandleDesiredDeviceNotFound( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   447
    
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   448
    void HandleSdpQueryError( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   449
    
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   450
    void HandleServiceNotFound( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   451
    
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   452
    void HandlePortNotFound( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   453
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   454
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   455
    //Methods inherited from MRemoteControllerConnectionObserver
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   456
    void HandleRemoteControllerConnected( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   457
    
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   458
    void HandleRemoteControllerDisconnected( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   459
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   460
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   461
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   462
    /** Plugin types */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   463
    enum TPluginType
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   464
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   465
        /** CoD plugin */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   466
        ECoDPlugin,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   467
        /** Sdp plugin */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   468
        ESdpPlugin,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   469
        /** Profile plugin */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   470
        EProfilePlugin,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   471
        /** Number of plugins */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   472
        EEnd,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   473
    };
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   474
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   475
    /** Service UUID */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   476
    TUUID iService;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   477
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   478
    /** Bluetooth friendly name of device */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   479
    TBTFriendlyName iBTFriendlyName;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   480
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   481
    /** Data buffer from profile to be send to AG */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   482
    TBufferFromProfileToClient iBufferFromProfileToClient;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   483
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   484
    /** Session of socket server */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   485
    RSocketServ iSocketServ;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   486
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   487
    /** Pointer to CHsServer. Owned */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   488
    CHsServer* iHSServer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   489
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   490
    /** Pointer to CHsAudioServer. Owned */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   491
    CHsAudioServer* iAudioServer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   492
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   493
    /** Pointer to CHsControlServer. Owned */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   494
    CHsControlServer *iHSControlServer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   495
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   496
    /** Pointer to CHsClientManager. Owned */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   497
    CHsClientManager *iHSClientManager;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   498
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   499
    /** Pointer to CHsProfileManager. Owned */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   500
    CHsProfileManager *iHSProfileManager;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   501
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   502
    /** Pointer to CHsBTManager. Owned */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   503
    CHsBTManager *iHsBTManager;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   504
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   505
    /** Pointer to MHsObserver. Not owned */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   506
    MHsObserver *iObserver;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   507
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   508
};
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   509
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   510
#endif  // HSCORE_H