bluetoothengine/btnotif/btnotifsrv/inc/btnotificationmanager.h
changeset 31 a0ea99b6fa53
parent 29 48ae3789ce00
equal deleted inserted replaced
30:df7a93ede42e 31:a0ea99b6fa53
     1 /*
     1 /*
     2 * ============================================================================
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3 *  Name        : btnotificationmanager.h
     3 * All rights reserved.
     4 *  Part of     : bluetoothengine / btnotif
     4 * This component and the accompanying materials are made available
     5 *  Description : Class for managing user notification and query objects, and for serializing access to the notification server.
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 *
     8 *
     7 *  Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies).
     9 * Initial Contributors:
     8 *  All rights reserved.
    10 * Nokia Corporation - initial contribution.
     9 *  This component and the accompanying materials are made available
       
    10 *  under the terms of "Eclipse Public License v1.0"
       
    11 *  which accompanies this distribution, and is available
       
    12 *  at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
    13 *
    11 *
    14 *  Initial Contributors:
    12 * Contributors:
    15 *  Nokia Corporation - initial contribution.
       
    16 *
    13 *
    17 *  Contributors:
    14 * Description: Class for managing user notification and query objects, 
    18 *  Nokia Corporation
    15 * and for serializing access to the notification server.
    19 * ============================================================================
    16 *
    20 * Template version: 4.2
       
    21 */
    17 */
    22 
    18 
    23 #ifndef BTNOTIFICATIONMANAGER_H
    19 #ifndef BTNOTIFICATIONMANAGER_H
    24 #define BTNOTIFICATIONMANAGER_H
    20 #define BTNOTIFICATIONMANAGER_H
    25 
    21 
    72      * @param aPriority The priority of the notification. EPriorityHigh means 
    68      * @param aPriority The priority of the notification. EPriorityHigh means 
    73      *                  that the note is put to the front of the queue.
    69      *                  that the note is put to the front of the queue.
    74      *                  EPriorityStandard means that it is appended to the end,
    70      *                  EPriorityStandard means that it is appended to the end,
    75      *                  and should be used for most notes. EPriorityLow is not 
    71      *                  and should be used for most notes. EPriorityLow is not 
    76      *                  used yet.
    72      *                  used yet.
    77      * @return Error code.
       
    78      */
    73      */
    79     TInt QueueNotification( CBluetoothNotification* aNotification, 
    74     void QueueNotificationL( CBluetoothNotification* aNotification, 
    80                 TNotificationPriority aPriority = EPriorityStandard );
    75                 TNotificationPriority aPriority = EPriorityStandard );
    81 
    76 
    82 private:
    77 private:
    83 
    78 
    84     CBTNotificationManager( const CBTNotifServer* aServer );
    79     CBTNotificationManager( const CBTNotifServer* aServer );
   105      *
   100      *
   106      * @since Symbian^4
   101      * @since Symbian^4
   107      */
   102      */
   108     void CheckIdle();
   103     void CheckIdle();
   109 
   104 
   110     /**
       
   111      * Callback function for asynchronous processing of 
       
   112      * queued notification requests.
       
   113      *
       
   114      * @since Symbian^4
       
   115      * @param aPtr Pointer to notification manager instance.
       
   116      */
       
   117     static TInt AsyncCallback( TAny* aPtr );
       
   118 
       
   119 private: // data
   105 private: // data
   120 
   106 
   121     /**
   107     /**
   122      * The queue of notifications to be shown to the user.
   108      * The queue of notifications to be shown to the user.
   123      */
   109      */
   124     RPointerArray<CBluetoothNotification> iNotificationQ;
   110     RPointerArray<CBluetoothNotification> iNotificationQ;
   125 
       
   126     /**
       
   127      * The queue of spare notifications.
       
   128      */
       
   129     RPointerArray<CBluetoothNotification> iUnusedQ;
       
   130 
       
   131     /**
       
   132      * Callback for asynchronous processing.
       
   133      * Own.
       
   134      */
       
   135     CAsyncCallBack* iAsyncCb;
       
   136     
   111     
   137     /**
   112     /**
   138      * Pointer to our parent.
   113      * Pointer to our parent.
   139      * Not own.
   114      * Not own.
   140      */
   115      */