bluetoothengine/headsetsimulator/core/inc/RemoteControl/hsremotecontrolserver.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 HSREMOTECONTROLSERVER_H
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    17
#define HSREMOTECONTROLSERVER_H
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    18
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    19
#include <bt_sock.h> 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    20
#include <e32base.h>
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    21
#include <es_sock.h>
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    22
#include <btsdp.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 CHsCore;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    26
class CHsRemoteControlDataHandler;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    27
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    28
/**  
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    29
 * The id used for advertising and discovering the remote control service. 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    30
 */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    31
const TUint32 KHsRemoteControlServiceID = 0xfabc234f;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    32
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    33
/** Avalaible service state */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    34
const TInt KServicAvailable = 0xFF;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    35
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    36
/** Unavalaible service state */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    37
const TInt KServiceUnavailable = 0x00;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    38
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    39
/** Buffer size */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    40
const TInt KHsRemoteControlBufferSize = 256;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    41
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    42
/** The number of connections allowed in the queue */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    43
const TInt KHsSizeOfListenQueue = 5;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    44
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    45
/** Useful constants */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    46
_LIT(KHsRFComm,"RFCOMM");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    47
_LIT(KServiceName, "HSControlServer");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    48
_LIT(KServiceDesc, "HSControlServer");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    49
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    50
/** Buffer for remote control */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    51
typedef TBuf8 <KHsRemoteControlBufferSize> THsRemoteControlBuffer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    52
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    53
/**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    54
 * @brief Server for remote control requests
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    55
 */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    56
class CHsControlServer : public CBase, public MBluetoothSocketNotifier
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    57
{
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    58
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    59
public:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    60
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    61
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    62
     * Two-phased constructor.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    63
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    64
     * @param aSocketServ sesion to socket server
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    65
     * @param aHsCore pointer to CHsCore
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    66
     * @return class instance
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    67
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    68
    static CHsControlServer* NewL( RSocketServ& aSocketServ, CHsCore* aHsCore );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    69
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    70
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    71
     * Two-phased constructor.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    72
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    73
     * @param aSocketServ session to socket server
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    74
     * @param aHsCore pointer to CHsCore
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    75
     * @return class instance
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    76
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    77
    static CHsControlServer* NewLC( RSocketServ& aSocketServ, 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    78
            CHsCore* aHsCore );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    79
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    80
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    81
     * Destructor.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    82
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    83
    ~CHsControlServer();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    84
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    85
public:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    86
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    87
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    88
     * Turns on server for remote control
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    89
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    90
    void StartRemoteControlServerL();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    91
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    92
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    93
     * Stops remote control server. Cancels receiving and sending data, destroys
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    94
     * all CBluetoothSockets
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    95
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    96
    void CancelListen();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    97
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    98
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    99
     * Setter for observer
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   100
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   101
     * @param aConnectionObserver observer
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   102
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   103
    void SetConnectionObserver(
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   104
            MRemoteControllerConnectionObserver &aConnectionObserver );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   105
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   106
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   107
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   108
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   109
     * Constructor for performing 1st stage construction
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   110
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   111
     * @param aSocketServ sesion to socket server
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   112
     * @param aHsCore pointer to CHsCore
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   113
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   114
    CHsControlServer( RSocketServ& aSocketServ, CHsCore* aHsCore );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   115
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   116
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   117
     * Default constructor for performing 2nd stage construction
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   118
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   119
    void ConstructL();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   120
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   121
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   122
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   123
     * Sends data to client.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   124
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   125
     * @param aData message to be send
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   126
     *  
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   127
     * @return error code
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   128
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   129
    TInt Send( const TDesC8& aData );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   130
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   131
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   132
     * Receives data from listening socket.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   133
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   134
    void Receive();
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
     * Registers service in SDP database
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   138
     *  
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   139
     * @param aChannel port number
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   140
     * @return error code. KErrNone if success
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   141
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   142
    void RegisterSdpL( TInt aChannel );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   143
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   144
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   145
     * Updates availability of service registered in SDP database
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   146
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   147
     * @param aAvailable service availability
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   148
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   149
    void UpdateAvailabilityL( TBool aAvailable );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   150
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   151
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   152
     * Deletes service record from SDP database
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   153
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   154
    void DeleteRecordSdp();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   155
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   156
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   157
     * Handles incoming remote control request
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   158
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   159
     * @param aRequest 8-bit desciptor containing request
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   160
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   161
    void HandleRequestL( TDes8& aRequest );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   162
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   163
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   164
     * Retrieves 'HsTurnOn' command's data needed for HS's initialization
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   165
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   166
     * @param aParams command's data
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   167
     * @param aPluginCod Cod plugin's name
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   168
     * @param aPluginSdp Sdp plugin's name
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   169
     * @param aPluginName profile plugin's name
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   170
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   171
    void RetrieveStartupParamsL( const TDesC8& aParams, RBuf8& aPluginCod,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   172
            RBuf8& aPluginSdp, RBuf8& aPluginProfile );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   173
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   174
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   175
    //Methods inherited from MBluetoothSocketNotifier
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   176
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   177
    void HandleConnectCompleteL( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   178
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   179
    void HandleAcceptCompleteL( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   180
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   181
    void HandleShutdownCompleteL( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   182
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   183
    void HandleSendCompleteL( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   184
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   185
    void HandleReceiveCompleteL( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   186
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   187
    void HandleIoctlCompleteL( TInt aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   188
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   189
    void HandleActivateBasebandEventNotifierCompleteL( TInt aErr,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   190
            TBTBasebandEventNotification& aEventNotification );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   191
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   192
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   193
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   194
    /** States of the Remote control server */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   195
    enum THsRemoteControlState
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   196
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   197
        /** Not initialized */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   198
        ENone = 1,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   199
        /** Connection attempt ongoing */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   200
        EConnecting,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   201
        /** Ready for clients */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   202
        EWaiting
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   203
    };
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   204
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   205
    /** Current state */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   206
    THsRemoteControlState iState;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   207
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   208
    /** Listening status */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   209
    TBool iInitialized;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   210
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   211
    /** Server port */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   212
    TInt iServerPort;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   213
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   214
    /** Service record state */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   215
    TInt iRecordState;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   216
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   217
    /** Data length */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   218
    TSockXfrLength iDataLength;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   219
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   220
    /** Holds received data */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   221
    THsRemoteControlBuffer iReceiveDataBuffer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   222
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   223
    /** Used for buffering data */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   224
    THsRemoteControlBuffer iTempDataBuffer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   225
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   226
    /** Holds data to be send */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   227
    THsRemoteControlBuffer iSendDataBuffer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   228
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   229
    /** Service record */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   230
    TSdpServRecordHandle iSdpRecordHandle;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   231
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   232
    /** Service discovery database session */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   233
    RSdp iSdpServer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   234
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   235
    /** Service discovery database subsession */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   236
    RSdpDatabase iSdpDB;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   237
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   238
    /** Creates subsession to socket server */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   239
    RSocketServ &iSocketServ;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   240
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   241
    /** Socket for listening for new connections */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   242
    CBluetoothSocket *iListenSocket;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   243
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   244
    /** Socket */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   245
    CBluetoothSocket *iSocket;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   246
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   247
    /** Pointer to CHsCore */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   248
    CHsCore *iHsCore;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   249
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   250
    /** Pointer to CHsRemoteControlDataHandler */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   251
    CHsRemoteControlDataHandler* iDataHandler;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   252
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   253
    /** Pointer to observer */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   254
    MRemoteControllerConnectionObserver *iConnectionObserver;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   255
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   256
};
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   257
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   258
#endif // HSREMOTECONTROLSERVER_H