bluetoothengine/btnotif/btnotifsrv/inc/btnotifserver.h
author hgs
Fri, 03 Sep 2010 16:17:59 +0300
changeset 57 5ebadcda06cb
parent 31 a0ea99b6fa53
permissions -rw-r--r--
201035_7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     1
/*
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
     3
* All rights reserved.
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
     4
* This component and the accompanying materials are made available
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
     6
* which accompanies this distribution, and is available
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
     8
*
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
     9
* Initial Contributors:
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    10
* Nokia Corporation - initial contribution.
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    11
*
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    12
* Contributors:
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    13
*
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    14
* Description: Server class for handling commands from clients, and the 
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    15
*                central class in btnotif thread.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    16
*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    17
*/
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    18
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    19
#ifndef BTNOTIFSERVER_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    20
#define BTNOTIFSERVER_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    21
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    22
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    23
#include <e32base.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    24
#include <btengsettings.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    25
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    26
#include "bluetoothtrace.h"
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    27
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    28
class CBTNotifConnectionTracker;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    29
class CBTNotifSettingsTracker;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    30
class CBTNotificationManager;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    31
class CBTNotifDeviceSelector;
57
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
    32
class CBTNotifGenInfoNotifier;
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
    33
class CBTNotifPowerNotifier;
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    34
class CBtDevRepository;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    35
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    36
class CbtnotifServerTest; // ToDo: shall be refactored under compile flag?
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    37
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    38
/**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    39
 * Utility function for panicking the server.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    40
 *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    41
 * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    42
 * @param aReason The panic reason code.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    43
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    44
void PanicServer( TInt aReason );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    45
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    46
/**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    47
 * Utility function for panicking the server.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    48
 *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    49
 * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    50
 * @param aMessage The handle to the client side.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    51
 * @param aReason The panic reason code.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    52
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    53
void PanicClient( const RMessage2& aMessage, TInt aReason );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    54
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    55
/**  BTNotif panic codes */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    56
enum TBTNotifServerPanic
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    57
    {
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    58
    EBTNotifPanicUnknown,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    59
    EBTNotifPanicCorrupt,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    60
    EBTNotifPanicMissing,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    61
    EBTNotifPanicNullMember,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    62
    EBTNotifPanicBadState,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    63
    EBTNotifPanicBadArgument,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    64
    EBTNotifPanicBadResult
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    65
    };
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    66
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    67
/**  Convenience macro for indicating unimplemented events */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    68
#define NOTIF_NOTIMPL 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    69
//{ __ASSERT_ALWAYS( 1, PanicServer( EBTNotifPanicNotImplemented ) ); }
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    70
/**  Convenience macro for indicating unhandled events */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    71
#define NOTIF_NOTHANDLED( cond ) 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    72
//{ __ASSERT_ALWAYS( cond, PanicServer( EBTNotifPanicNotHandled ) ); }
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    73
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    74
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    75
/**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    76
 * CBTNotifServer handles notifications and also maintains state information related to 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    77
 * the local device as well as remote devices.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    78
 *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    79
 *  @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    80
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    81
NONSHARABLE_CLASS( CBTNotifServer ) : public CPolicyServer
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    82
    {
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    83
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    84
public:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    85
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    86
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    87
     * Two-phased constructor.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    88
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    89
    static CBTNotifServer* NewLC();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    90
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    91
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    92
    * Destructor.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    93
    */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    94
    virtual ~CBTNotifServer();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    95
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    96
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    97
     * Called when the BT power state changes.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    98
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    99
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   100
     * @param aState The new BT power state.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   101
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   102
    void HandlePowerStateChangeL( TBTPowerStateValue aState );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   103
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   104
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   105
     * Called by a session during creation, to keep track of the number
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   106
     * of active sessions.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   107
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   108
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   109
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   110
    void AddSession();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   111
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   112
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   113
     * Called by a session during destruction, to keep track of the number
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   114
     * of active sessions.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   115
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   116
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   117
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   118
    void RemoveSession();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   119
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   120
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   121
     * Returns a handle to the settings tracker.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   122
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   123
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   124
     * @param Pointer to the settings tracker.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   125
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   126
    inline CBTNotifSettingsTracker* SettingsTracker() const
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   127
        { return iSettingsTracker; }
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   128
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   129
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   130
     * Returns a handle to the connection tracker.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   131
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   132
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   133
     * @param Pointer to the connection tracker.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   134
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   135
    inline CBTNotifConnectionTracker* ConnectionTracker() const
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   136
        { return iConnectionTracker; }
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   137
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   138
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   139
     * Returns a handle to the notification manager.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   140
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   141
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   142
     * @param Pointer to the notification manager.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   143
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   144
    inline CBTNotificationManager* NotificationManager() const
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   145
        { return iNotificationMgr; }
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   146
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   147
    CBtDevRepository& DevRepository();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   148
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   149
    CBTNotifDeviceSelector& DeviceSelectorL();
57
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   150
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   151
    /**
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   152
     * Returns a handle to the Generic info notifier.
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   153
     *
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   154
     * @since Symbian^4
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   155
     * @param Pointer to the Generic info notifier.
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   156
     */
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   157
    inline CBTNotifGenInfoNotifier* GenericInfoNotifier() const
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   158
        { return iGenInfoNotifier; }
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   159
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   160
// from base class CPolicyServer
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   161
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   162
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   163
     * From CPolicyServer.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   164
     * Creates and returns a server-side session object.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   165
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   166
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   167
     * @param aVersion The version information supplied by the client.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   168
     * @param aMessage Represents the details of the client request that 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   169
     *                 is requesting the creation of the session.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   170
     * @return A pointer to the newly created server-side session object.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   171
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   172
    virtual CSession2* NewSessionL( const TVersion& aVersion, const RMessage2& aMessage ) const;
57
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   173
    
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   174
    /**
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   175
     * Returns a handle to the BT poser notifier.
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   176
     * @since Symbian^4
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   177
     * @return A pointer to the newly created server-side session object.
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   178
     */
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   179
    inline CBTNotifPowerNotifier* BTPowerNotifier() const
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   180
            { return iBTPowerNotifier; }
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   181
    
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   182
private:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   183
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   184
    CBTNotifServer();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   185
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   186
    void ConstructL();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   187
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   188
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   189
     * Asynchronous second-phase constructor. This function is called asynchronously
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   190
     * from ConstructL, to facilitate short initial construction, and allow construction
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   191
     * of e.g. session to BTEngine. So in fact this is a third-phase constructor.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   192
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   193
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   194
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   195
    void AsyncConstructL();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   196
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   197
    void CheckIdle( TBTPowerStateValue aState );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   198
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   199
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   200
     * Callback function for asynchronous construction.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   201
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   202
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   203
     * @param aPtr Pointer to server instance.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   204
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   205
    static TInt AsyncConstructCb( TAny* aPtr );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   206
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   207
    static TInt ShutdownTimeout( TAny* aPtr );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   208
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   209
private: // data
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   210
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   211
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   212
     * Counter for the number of active sessions.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   213
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   214
    TInt iSessionCount;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   215
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   216
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   217
     * Helper class for tracking settings.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   218
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   219
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   220
    CBTNotifSettingsTracker* iSettingsTracker;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   221
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   222
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   223
     * Helper class for tracking connections.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   224
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   225
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   226
    CBTNotifConnectionTracker* iConnectionTracker;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   227
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   228
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   229
     * Helper class for managing the actual notifications.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   230
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   231
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   232
    CBTNotificationManager* iNotificationMgr;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   233
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   234
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   235
     * Remote device repository.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   236
     * Singleton in btnotifsrv. This is useful
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   237
     * for getting the correct name for displaying in UI
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   238
     * without the need getting the device everytime
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   239
     * when a name is needed.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   240
     * Pairing handling also needs this repository to drive
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   241
     * the logic flow.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   242
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   243
    CBtDevRepository* iDevRep;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   244
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   245
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   246
     * Helper class for device searching and selection.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   247
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   248
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   249
    CBTNotifDeviceSelector* iDevSelector;
57
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   250
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   251
    /**
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   252
     * Generic info notifier.
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   253
     */    
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   254
    CBTNotifGenInfoNotifier* iGenInfoNotifier;
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   255
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   256
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   257
     * Callback for asynchronous processing.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   258
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   259
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   260
    CAsyncCallBack* iAsyncCb;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   261
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   262
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   263
     * Timer for various timeouts.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   264
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   265
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   266
    CDeltaTimer* iTimer;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   267
    
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
   268
    /**
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
   269
     * The function entry of shutdown timeout.
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
   270
     */
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   271
    TDeltaTimerEntry iShutdownTimerEntry;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   272
    
57
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   273
    /**
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   274
     * BT power notifier
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   275
     */
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   276
    CBTNotifPowerNotifier* iBTPowerNotifier;
5ebadcda06cb 201035_7
hgs
parents: 31
diff changeset
   277
    
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   278
    BTUNITTESTHOOK
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   279
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   280
    };
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   281
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   282
#endif // BTNOTIFSERVER_H