bluetoothengine/btnotif/inc/btnotifier.h
branchRCL_3
changeset 61 269724087bed
parent 56 9386f31cc85b
child 72 4b59561a31c0
--- a/bluetoothengine/btnotif/inc/btnotifier.h	Wed Sep 01 12:20:04 2010 +0100
+++ b/bluetoothengine/btnotif/inc/btnotifier.h	Tue Sep 14 21:37:10 2010 +0300
@@ -89,16 +89,14 @@
         virtual void ConstructL();
 
         /**
-        * Used in asynchronous notifier launch to store received parameters
-        * into members variables and make needed initializations.
-        * @param aBuffer A buffer containing received parameters
-        * @param aReturnVal The return value to be passed back.
-        * @param aMessage Should be completed when the notifier is deactivated.
+        * Used in asynchronous notifier launch to start the actual processing
+        * of parameters received in StartL. StartL just stores a copy of the
+        * parameter buffer, schedules a callback to call this method and returns
+        * ASAP, so the actual work begins here, safely outside of the StartL
+        * context so that waiting dialogs can be freely used if need be.
         * @return None.
         */
-        virtual void GetParamsL(const TDesC8& aBuffer,
-                                TInt aReplySlot,
-                                const RMessagePtr2& aMessage)=0;
+        virtual void ProcessStartParamsL() = 0;
 
         /**
         * A utility function for setting the power status of Bluetooth.
@@ -282,24 +280,28 @@
          */
         TBool CheckQueryInterval();
 
+        static TInt ProcessStartParamsCallBack(TAny* aNotif);
+
     protected: // Data
 
         RMessagePtr2                iMessage;               // Received message
         TInt                        iReplySlot;             // Reply slot
+        HBufC8*                     iParamBuffer;           // Copy of the param buffer received in StartL
+
+        CAsyncCallBack*             iProcessStartParamsCallBack;
+
         TNotifierInfo               iInfo;                  // Notifier parameters structure
         TBTRegistryQueryState       iBTRegistryQueryState;
         CBTDeviceArray*             iDeviceArray;  // for getting device from registry
         CBTDevice*                  iDevice;                // Current Bluetooth device
         TBTDevAddr                  iBTAddr; // Gotten from PckBuffer, constant no matter how iDevice changes.
         CBTNotifUIUtil*             iNotifUiUtil;           // Utility to show UI notes & queries
+        CBTNotifUIUtil*             iAuthoriseDialog;       // to show Authorisation dialogs
         CBTEngSettings*             iBTEngSettings;
         TBool                       iIsCoverUI;
 
     private:
         CBTEngDevMan*               iDevMan;  // for BT registry manipulation
-
-
-
     };
 
 #endif