bluetoothengine/btnotif/btnotifsrv/inc/btnotifgeninfonotifier.h
author hgs
Tue, 19 Oct 2010 15:09:34 +0300
changeset 70 f5508c13dfe0
parent 57 5ebadcda06cb
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
57
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
     1
/*
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
     2
* ============================================================================
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
     3
*  Name        : btnotifgeninfonotifier.h
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
     4
*  Part of     : BTProximity / BTProximity
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
     5
*  Description : Class for the generic info notifier.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
     6
*
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
     7
*  Copyright © 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
     8
*  All rights reserved.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
     9
*  This component and the accompanying materials are made available
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    10
*  under the terms of "Eclipse Public License v1.0"
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    11
*  which accompanies this distribution, and is available
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    12
*  at the URL "http://www.eclipse.org/legal/epl-v10.html".
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    13
*
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    14
*  Initial Contributors:
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    15
*  Nokia Corporation - initial contribution.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    16
*
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    17
*  Contributors:
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    18
*  Nokia Corporation
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    19
* ============================================================================
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    20
* Template version: 4.2
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    21
*/
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    22
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    23
#ifndef BTNOTIFGENINFONOTIFIER_H
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    24
#define BTNOTIFGENINFONOTIFIER_H
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    25
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    26
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    27
#include "bluetoothnotification.h"
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    28
#include "btnotifserver.h"
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    29
#include <btservices/btdevextension.h>
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    30
#include <hb/hbcore/hbsymbianvariant.h>
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    31
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    32
/**
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    33
 *  CBTNotifGenInfoNotifier for generic info notifier
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    34
 *  
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    35
 *  @since Symbian^4
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    36
 */
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    37
NONSHARABLE_CLASS( CBTNotifGenInfoNotifier ) : 
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    38
        public CBase,
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    39
        public MBTNotificationResult
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    40
    {
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    41
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    42
public:
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    43
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    44
    /**
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    45
     * Two-phased constructor.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    46
     * @param aServer Pointer to our parent
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    47
     */
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    48
    static CBTNotifGenInfoNotifier* NewL( CBTNotifServer* aServer );
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    49
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    50
    /**
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    51
    * Destructor.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    52
    */
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    53
    virtual ~CBTNotifGenInfoNotifier();
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    54
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    55
    /**
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    56
     * Processes a message from a notifier client related to settings.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    57
     *
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    58
     * @since Symbian^4
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    59
     * @param aMessage The message containing the details of the client request.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    60
     */
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    61
    void HandleNotifierRequestL( const RMessage2& aMessage );
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    62
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    63
private:
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    64
// from base class MBTNotificationResult
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    65
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    66
    /**
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    67
     * From MBTNotificationResult.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    68
     * Handle an intermediate result from a user query.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    69
     * This function is called if the user query passes information
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    70
     * back before it has finished i.e. is dismissed. The final acceptance/
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    71
     * denial of a query is passed back in MBRNotificationClosed.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    72
     *
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    73
     * @since Symbian^4
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    74
     * @param aData the returned data. The actual format 
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    75
     *              is dependent on the actual notifier.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    76
     */
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    77
    virtual void MBRDataReceived( CHbSymbianVariantMap& aData );
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    78
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    79
    /**
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    80
     * From MBTNotificationResult.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    81
     * The notification is finished. The resulting data (e.g. user input or
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    82
     * acceptance/denial of the query) is passed back here.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    83
     *
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    84
     * @since Symbian^4
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    85
     * @param aErr KErrNone or one of the system-wide error codes.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    86
     * @param aData the returned data. The actual format 
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    87
     *              is dependent on the actual notifier.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    88
     */
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    89
    virtual void MBRNotificationClosed( TInt aError, const TDesC8& aData );
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    90
    
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    91
    // From MDevDiscoveryObserver
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    92
    
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    93
private:
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    94
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    95
    CBTNotifGenInfoNotifier( CBTNotifServer* aServer );
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    96
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    97
    void ConstructL();
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    98
    
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
    99
    void ShowNotificationL(const RMessage2& aMessage);
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   100
			
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   101
private: // data    
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   102
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   103
    /**
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   104
     * Reference to our parent the server class.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   105
     * Not own.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   106
     */
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   107
    CBTNotifServer* iServer;
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   108
    
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   109
    /**
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   110
     * Pointer to an outstanding user interaction.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   111
     * Not own.
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   112
     */
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   113
    CBluetoothNotification* iNotification;
70
hgs
parents: 57
diff changeset
   114
hgs
parents: 57
diff changeset
   115
    /**
hgs
parents: 57
diff changeset
   116
     * Pointer to the entering SAP notification.
hgs
parents: 57
diff changeset
   117
     * 
hgs
parents: 57
diff changeset
   118
     */    
hgs
parents: 57
diff changeset
   119
    CBluetoothNotification* iEnterSAPNotification;
hgs
parents: 57
diff changeset
   120
  
57
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   121
    };
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   122
5ebadcda06cb 201035_7
hgs
parents:
diff changeset
   123
#endif // BTNOTIFDEVICESELECTOR_H