bluetoothengine/headsetsimulator/core/src/Server/hsserver.cpp
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
#include "hsserver.h"
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    17
#include "hsclientobservers.h"
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    18
#include "debug.h"
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    19
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    20
CHsServer* CHsServer::NewL( RSocketServ &aSocketServ )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    21
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    22
    CHsServer* self = CHsServer::NewLC( aSocketServ );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    23
    CleanupStack::Pop( self );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    24
    return self;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    25
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    26
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    27
CHsServer* CHsServer::NewLC( RSocketServ &aSocketServ )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    28
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    29
    CHsServer* self = new ( ELeave ) CHsServer( aSocketServ );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    30
    CleanupStack::PushL( self );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    31
    self->ConstructL();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    32
    return self;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    33
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    34
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    35
CHsServer::~CHsServer()
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    36
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    37
    TRACE_FUNC_ENTRY
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    38
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    39
    if ( iSocketServer )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    40
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    41
        delete iSocketServer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    42
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    43
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    44
    if ( iBlankSocket )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    45
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    46
        delete iBlankSocket;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    47
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    48
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    49
    TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    50
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    51
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    52
TInt CHsServer::Listen()
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    53
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    54
    TRACE_FUNC_ENTRY
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    55
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    56
    TInt error = KErrNone;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    57
    TProtocolDesc protDesc;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    58
    TBTSockAddr addr;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    59
    TProtocolName protName( KRFCOMMDesC );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    60
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    61
    if ( iListen )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    62
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    63
        TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    64
        return KErrAlreadyExists;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    65
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    66
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    67
    error = iSServ.FindProtocol( protName, protDesc );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    68
    if ( error != KErrNone )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    69
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    70
        TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    71
        return error;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    72
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    73
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    74
    TRAP(error, iSocketServer = CBluetoothSocket::NewL(*this, iSServ, 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    75
            protDesc.iSockType, protDesc.iProtocol));
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    76
    
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    77
    if ( error != KErrNone )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    78
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    79
        TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    80
        return error;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    81
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    82
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    83
    error = iSocketServer->GetOpt( KRFCOMMGetAvailableServerChannel,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    84
            KSolBtRFCOMM, iPort );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    85
    if ( error != KErrNone )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    86
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    87
        TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    88
        return error;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    89
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    90
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    91
    addr.SetPort( iPort );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    92
    addr.SetSecurity( iServerSecurity );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    93
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    94
    error = iSocketServer->Bind( addr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    95
    if ( error != KErrNone )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    96
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    97
        TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    98
        return error;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    99
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   100
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   101
    error = iSocketServer->Listen( KListenQueueSize );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   102
    if ( error != KErrNone )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   103
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   104
        TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   105
        return error;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   106
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   107
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   108
    if ( !iBlankSocket )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   109
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   110
        TRAP(error, iBlankSocket=CBluetoothSocket::NewL(*this, iSServ));
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   111
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   112
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   113
    if ( error != KErrNone )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   114
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   115
        TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   116
        return error;
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
    error = iSocketServer->Accept( *iBlankSocket );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   120
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   121
    iListen = ETrue;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   122
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   123
    TRACE_INFO( ( _L("Returned value = %d"), error) );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   124
    TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   125
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   126
    return error;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   127
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   128
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   129
TBool CHsServer::IsReady()
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   130
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   131
    return iListen;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   132
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   133
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   134
void CHsServer::Shutdown()
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   135
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   136
    TRACE_FUNC_ENTRY
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   137
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   138
    if ( iSocketServer )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   139
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   140
        if ( iListen )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   141
            {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   142
            iSocketServer->CancelAccept();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   143
            iListen = EFalse;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   144
            }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   145
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   146
        // Return value may be ignored
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   147
        iSocketServer->Shutdown( RSocket::EImmediate );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   148
        delete iSocketServer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   149
        iSocketServer = NULL;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   150
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   151
    else
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   152
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   153
        TRAP_IGNORE( HandleShutdownCompleteL(KErrNone) );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   154
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   155
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   156
    TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   157
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   158
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   159
void CHsServer::SetNewClientObserver(
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   160
        MHsAcceptNewClientObserver &aNewClientObserv )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   161
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   162
    iNewClientObserver = &aNewClientObserv;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   163
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   164
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   165
TInt CHsServer::GetPort()
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   166
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   167
    return iPort;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   168
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   169
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   170
void CHsServer::GetSocketAndTryToConnectL( const TBTSockAddr &aAddr )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   171
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   172
    TRACE_FUNC_ENTRY
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   173
    TBTSockAddr sockaddr( aAddr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   174
    TProtocolName protocolName( KRFCOMMDesC );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   175
    TProtocolDesc protocolDesc;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   176
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   177
    if ( iBlankSocket2 != NULL )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   178
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   179
        delete iBlankSocket2;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   180
        iBlankSocket2 = NULL;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   181
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   182
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   183
    User::LeaveIfError( iSServ.FindProtocol( protocolName, protocolDesc ) );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   184
    iBlankSocket2 = CBluetoothSocket::NewL( *this, iSServ,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   185
            protocolDesc.iSockType, protocolDesc.iProtocol );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   186
    User::LeaveIfError( iBlankSocket2->Connect( sockaddr ) );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   187
    TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   188
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   189
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   190
CHsServer::CHsServer( RSocketServ &aSocketServ ) :
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   191
    iSServ( aSocketServ )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   192
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   193
    iServerSecurity.SetUid( TUid::Uid( 0x10ff ) );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   194
    iServerSecurity.SetAuthentication( EFalse );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   195
    iServerSecurity.SetAuthorisation( EFalse );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   196
    iServerSecurity.SetEncryption( EFalse );
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
void CHsServer::ConstructL()
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   200
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   201
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   202
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   203
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   204
void CHsServer::HandleConnectCompleteL( TInt aErr )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   205
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   206
    TRACE_FUNC_ENTRY
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   207
    TRACE_INFO( ( _L("aErr = %d"), aErr) );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   208
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   209
    iNewClientObserver->HandleNewClientL( aErr == KErrNone ? iBlankSocket2
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   210
            : NULL, aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   211
    if ( aErr != KErrNone )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   212
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   213
        delete iBlankSocket2;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   214
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   215
    iBlankSocket2 = NULL;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   216
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   217
    TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   218
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   219
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   220
void CHsServer::HandleAcceptCompleteL( TInt aErr )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   221
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   222
    TRACE_FUNC_ENTRY
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   223
    TRACE_INFO( ( _L("aErr = %d"), aErr) );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   224
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   225
    if ( iNewClientObserver )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   226
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   227
        iNewClientObserver->HandleNewClientL( iBlankSocket, aErr );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   228
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   229
    else
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   230
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   231
        iNewClientObserver->HandleNewClientL( NULL, KErrBadHandle );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   232
        delete iBlankSocket;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   233
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   234
    iBlankSocket = NULL;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   235
    iBlankSocket = CBluetoothSocket::NewL( *this, iSServ );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   236
    User::LeaveIfError( iSocketServer->Accept( *iBlankSocket ) );
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   237
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   238
    TRACE_FUNC_EXIT
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
void CHsServer::HandleShutdownCompleteL( TInt /** aErr */)
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   242
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   243
    TRACE_FUNC_ENTRY
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   244
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   245
    if ( iBlankSocket )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   246
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   247
        delete iBlankSocket;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   248
        iBlankSocket = NULL;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   249
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   250
    if ( iSocketServer )
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   251
        {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   252
        delete iSocketServer;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   253
        iSocketServer = NULL;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   254
        }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   255
    iListen = EFalse;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   256
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   257
    TRACE_FUNC_EXIT
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   258
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   259
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   260
void CHsServer::HandleSendCompleteL( TInt /** aErr */)
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   261
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   262
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   263
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   264
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   265
void CHsServer::HandleReceiveCompleteL( TInt /** aErr */)
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   266
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   267
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   268
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   269
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   270
void CHsServer::HandleIoctlCompleteL( TInt /** aErr */)
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   271
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   272
    }
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   273
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   274
void CHsServer::HandleActivateBasebandEventNotifierCompleteL( TInt /** aErr */,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   275
        TBTBasebandEventNotification& /** aEventNotification */)
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   276
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   277
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   278
    }