bluetoothengine/btnotif/btnotifsrv/inc/btnotifserver.h
author hgs
Mon, 17 May 2010 11:06:23 +0300
changeset 31 a0ea99b6fa53
parent 29 48ae3789ce00
child 57 5ebadcda06cb
permissions -rw-r--r--
201019_1
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;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    32
class CBtDevRepository;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    33
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    34
class CbtnotifServerTest; // ToDo: shall be refactored under compile flag?
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    35
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    36
/**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    37
 * Utility function for panicking the server.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    38
 *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    39
 * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    40
 * @param aReason The panic reason code.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    41
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    42
void PanicServer( TInt aReason );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    43
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    44
/**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    45
 * Utility function for panicking the server.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    46
 *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    47
 * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    48
 * @param aMessage The handle to the client side.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    49
 * @param aReason The panic reason code.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    50
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    51
void PanicClient( const RMessage2& aMessage, TInt aReason );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    52
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    53
/**  BTNotif panic codes */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    54
enum TBTNotifServerPanic
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    55
    {
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    56
    EBTNotifPanicUnknown,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    57
    EBTNotifPanicCorrupt,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    58
    EBTNotifPanicMissing,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    59
    EBTNotifPanicNullMember,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    60
    EBTNotifPanicBadState,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    61
    EBTNotifPanicBadArgument,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    62
    EBTNotifPanicBadResult
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    63
    };
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    64
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    65
/**  Convenience macro for indicating unimplemented events */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    66
#define NOTIF_NOTIMPL 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    67
//{ __ASSERT_ALWAYS( 1, PanicServer( EBTNotifPanicNotImplemented ) ); }
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    68
/**  Convenience macro for indicating unhandled events */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    69
#define NOTIF_NOTHANDLED( cond ) 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    70
//{ __ASSERT_ALWAYS( cond, PanicServer( EBTNotifPanicNotHandled ) ); }
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    71
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    72
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    73
/**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    74
 * CBTNotifServer handles notifications and also maintains state information related to 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    75
 * the local device as well as remote devices.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    76
 *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    77
 *  @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    78
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    79
NONSHARABLE_CLASS( CBTNotifServer ) : public CPolicyServer
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    80
    {
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    81
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    82
public:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    83
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    84
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    85
     * Two-phased constructor.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    86
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    87
    static CBTNotifServer* NewLC();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    88
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    89
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    90
    * Destructor.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    91
    */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    92
    virtual ~CBTNotifServer();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    93
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    94
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    95
     * Called when the BT power state changes.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    96
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    97
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    98
     * @param aState The new BT power state.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    99
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   100
    void HandlePowerStateChangeL( TBTPowerStateValue aState );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   101
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   102
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   103
     * Called by a session during creation, to keep track of the number
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   104
     * of active sessions.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   105
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   106
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   107
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   108
    void AddSession();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   109
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   110
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   111
     * Called by a session during destruction, to keep track of the number
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   112
     * of active sessions.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   113
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   114
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   115
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   116
    void RemoveSession();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   117
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   118
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   119
     * Returns a handle to the settings tracker.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   120
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   121
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   122
     * @param Pointer to the settings tracker.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   123
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   124
    inline CBTNotifSettingsTracker* SettingsTracker() const
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   125
        { return iSettingsTracker; }
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   126
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   127
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   128
     * Returns a handle to the connection tracker.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   129
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   130
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   131
     * @param Pointer to the connection tracker.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   132
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   133
    inline CBTNotifConnectionTracker* ConnectionTracker() const
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   134
        { return iConnectionTracker; }
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   135
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   136
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   137
     * Returns a handle to the notification manager.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   138
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   139
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   140
     * @param Pointer to the notification manager.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   141
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   142
    inline CBTNotificationManager* NotificationManager() const
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   143
        { return iNotificationMgr; }
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   144
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   145
    CBtDevRepository& DevRepository();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   146
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   147
    CBTNotifDeviceSelector& DeviceSelectorL();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   148
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   149
// from base class CPolicyServer
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   150
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   151
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   152
     * From CPolicyServer.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   153
     * Creates and returns a server-side session object.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   154
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   155
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   156
     * @param aVersion The version information supplied by the client.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   157
     * @param aMessage Represents the details of the client request that 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   158
     *                 is requesting the creation of the session.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   159
     * @return A pointer to the newly created server-side session object.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   160
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   161
    virtual CSession2* NewSessionL( const TVersion& aVersion, const RMessage2& aMessage ) const;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   162
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   163
private:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   164
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   165
    CBTNotifServer();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   166
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   167
    void ConstructL();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   168
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   169
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   170
     * Asynchronous second-phase constructor. This function is called asynchronously
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   171
     * from ConstructL, to facilitate short initial construction, and allow construction
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   172
     * of e.g. session to BTEngine. So in fact this is a third-phase constructor.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   173
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   174
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   175
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   176
    void AsyncConstructL();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   177
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   178
    void CheckIdle( TBTPowerStateValue aState );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   179
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   180
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   181
     * Callback function for asynchronous construction.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   182
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   183
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   184
     * @param aPtr Pointer to server instance.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   185
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   186
    static TInt AsyncConstructCb( TAny* aPtr );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   187
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   188
    static TInt ShutdownTimeout( TAny* aPtr );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   189
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   190
private: // data
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   191
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   192
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   193
     * Counter for the number of active sessions.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   194
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   195
    TInt iSessionCount;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   196
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   197
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   198
     * Helper class for tracking settings.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   199
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   200
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   201
    CBTNotifSettingsTracker* iSettingsTracker;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   202
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   203
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   204
     * Helper class for tracking connections.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   205
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   206
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   207
    CBTNotifConnectionTracker* iConnectionTracker;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   208
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   209
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   210
     * Helper class for managing the actual notifications.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   211
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   212
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   213
    CBTNotificationManager* iNotificationMgr;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   214
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   215
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   216
     * Remote device repository.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   217
     * Singleton in btnotifsrv. This is useful
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   218
     * for getting the correct name for displaying in UI
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   219
     * without the need getting the device everytime
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   220
     * when a name is needed.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   221
     * Pairing handling also needs this repository to drive
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   222
     * the logic flow.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   223
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   224
    CBtDevRepository* iDevRep;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   225
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   226
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   227
     * Helper class for device searching and selection.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   228
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   229
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   230
    CBTNotifDeviceSelector* iDevSelector;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   231
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   232
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   233
     * Callback for asynchronous processing.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   234
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   235
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   236
    CAsyncCallBack* iAsyncCb;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   237
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   238
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   239
     * Timer for various timeouts.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   240
     * Own.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   241
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   242
    CDeltaTimer* iTimer;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   243
    
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
   244
    /**
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
   245
     * The function entry of shutdown timeout.
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
   246
     */
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   247
    TDeltaTimerEntry iShutdownTimerEntry;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   248
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   249
    BTUNITTESTHOOK
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   250
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   251
    };
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   252
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   253
#endif // BTNOTIFSERVER_H