bluetoothengine/btnotif/btnotifclient/inc/btnotifclient.h
author hgs
Fri, 03 Sep 2010 16:17:59 +0300
changeset 57 5ebadcda06cb
parent 29 48ae3789ce00
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
/*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     2
* ============================================================================
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     3
*  Name        : btnotifclient.h
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     4
*  Part of     : bluetoothengine / btnotifclient
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     5
*  Description : Session class for client-server interaction with btnotifserver.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     6
*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     7
*  Copyright © 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     8
*  All rights reserved.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     9
*  This component and the accompanying materials are made available
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    10
*  under the terms of "Eclipse Public License v1.0"
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    11
*  which accompanies this distribution, and is available
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    12
*  at the URL "http://www.eclipse.org/legal/epl-v10.html".
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    13
*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    14
*  Initial Contributors:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    15
*  Nokia Corporation - initial contribution.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    16
*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    17
*  Contributors:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    18
*  Nokia Corporation
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    19
* ============================================================================
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    20
* Template version: 4.2
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    21
*/
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    22
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    23
#ifndef RBTNOTIFCLIENT_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    24
#define RBTNOTIFCLIENT_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    25
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    26
#include <e32base.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    27
#include <btmanclient.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    28
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    29
/**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    30
 *  A handle to a session with the Bluetooth notifier server for showing
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    31
 *  Bluetooth-related notifications to the user.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    32
 *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    33
 *  ?more_complete_description
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    34
 *  @code
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    35
 *   ?good_class_usage_example(s)
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    36
 *  @endcode
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    37
 *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    38
 *  @lib ?library
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    39
 *  @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    40
 */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    41
NONSHARABLE_CLASS( RBTNotifier ) : public RSessionBase
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    42
    {
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    43
public:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    44
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    45
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    46
     * Constructor.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    47
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    48
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    49
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    50
    IMPORT_C RBTNotifier();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    51
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    52
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    53
     * Connect to the Bluetooth notifier server.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    54
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    55
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    56
     * @return KErrNone, if successful. Otherwise one of 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    57
     *         the system-wide error codes.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    58
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    59
    IMPORT_C TInt Connect();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    60
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    61
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    62
     * Get the version information about the client.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    63
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    64
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    65
     * @return The version of the client-server interface implemented by this client.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    66
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    67
    IMPORT_C TVersion Version();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    68
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    69
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    70
     * Requests the extended notifier server to start the notifier
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    71
     * identified by the specified UID. The request is synchronous; 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    72
     * the call returns when the request is complete.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    73
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    74
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    75
     * @param aNotifierUid The UID identifying the notifier. This is 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    76
     *        the same UID as used with RNotifier for the same purpose.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    77
     * @param aBuffer Data that can be passed to the notifier; the format and 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    78
     *        meaning of this depends on the notifier.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    79
     * @return KErrNone, if successful; KErrNotFound, if there 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    80
     *         is no notifier matching the specified UID; otherwise 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    81
     *         one of the other system-wide error codes.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    82
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    83
    IMPORT_C TInt StartNotifier( TUid aNotifierUid, const TDesC8& aBuffer );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    84
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    85
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    86
     * Requests the extended notifier server to start the notifier 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    87
     * identified by the specified UID. This is an asynchronous request.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    88
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    89
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    90
     * @param aRs The request status. On request completion, contains KErrNone, 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    91
     *        if successful; KErrNotFound, if there is no notifier matching the 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    92
     *        specified UID; KErrCancel, if the notifier was cancelled through 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    93
     *        RBTNotifier::CancelNotifier; otherwise, one of the other system 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    94
     *        wide error codes.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    95
     * @param aNotifierUid The UID identifying the notifier. This is 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    96
     *        the same UID as used with RNotifier for the same purpose.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    97
     * @param aBuffer Data that can be passed to the notifier; the format and 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    98
     *        meaning of this depends on the notifier.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    99
     * @param aResponse Response data from the notifier; the format and meaning 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   100
     *        of this depends on the notifier.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   101
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   102
    IMPORT_C void StartNotifierAndGetResponse( TRequestStatus& aRs, 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   103
                TUid aNotifierUid, const TDesC8& aBuffer, TDes8& aResponse );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   104
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   105
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   106
     * Requests the Bluetooth notifier server to cancel the notifier 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   107
     * identified by the specified UID. The request is synchronous; 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   108
     * the call returns when the request is complete.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   109
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   110
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   111
     * @param aNotifierUid The UID identifying the notifier. This is 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   112
     *        the same UID as used with RNotifier for the same purpose.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   113
     * @return KErrNone, if successful; KErrNotFound, if there 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   114
     *         is no notifier matching the specified UID; otherwise 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   115
     *         one of the other system-wide error codes.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   116
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   117
    IMPORT_C TInt CancelNotifier( TUid aNotifierUid );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   118
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   119
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   120
     * Requests the Bluetooth notifier server to update the active
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   121
     * notifier identified by the specified UID, with the data supplied.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   122
     * The request is synchronous; the call returns when the request is complete.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   123
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   124
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   125
     * @param aNotifierUid The UID identifying the notifier. This is 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   126
     *        the same UID as used with RNotifier for the same purpose.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   127
     * @param aBuffer Data that can be passed to the notifier; the format and 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   128
     *        meaning of this depends on the notifier.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   129
     * @param aResponse Response data from the notifier; the format and meaning 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   130
     *        of this depends on the notifier.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   131
     * @return KErrNone, if successful; KErrNotFound, if there 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   132
     *         is no notifier matching the specified UID; otherwise 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   133
     *         one of the other system-wide error codes.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   134
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   135
    IMPORT_C TInt UpdateNotifier( TUid aNotifierUid, 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   136
                const TDesC8& aBuffer, TDes8& aResponse );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   137
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   138
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   139
     * Requests the Bluetooth notifier server to pair with the device 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   140
     * specified by the given Bluetooth device address.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   141
     * The request is asynchronous; Use CancelPairing() to cancel
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   142
     * an outstanding pairing request.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   143
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   144
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   145
     * @param aAddr The address of the remote device to perform pairing with.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   146
     * @param aDeviceClass the CoD of the remote device.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   147
     * @param aStatus The request status. On request completion, contains KErrNone, 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   148
     *        if successful; KErrCancel, if the notifier was cancelled through 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   149
     *        RBTNotifier::CancelPair; otherwise, one of the other system 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   150
     *        wide error codes.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   151
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   152
    IMPORT_C void PairDevice( const TBTDevAddrPckgBuf& aAddr, TInt32 aDeviceClass,
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   153
                TRequestStatus& aStatus );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   154
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   155
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   156
     * Requests the Bluetooth notifier server to cancel the current pairing 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   157
     * request. The request is synchronous; 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   158
     * the call returns when the request is complete.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   159
     * 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   160
     * If this request is issued when the Bluetooth
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   161
     * notifier server has completed pairing with the device, the pairing 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   162
     * will not be un-done. That is, the device will not be unpaired. 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   163
     *
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   164
     * @since Symbian^4
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   165
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   166
    IMPORT_C void CancelPairDevice();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   167
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   168
private:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   169
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   170
private: // data
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   171
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   172
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   173
     * ?description_of_member
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   174
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   175
//    ?type ?member_name;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   176
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   177
    };
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   178
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   179
#endif // RBTNOTIFCLIENT_H