inc/musindicatorapi.h
branchRCL_3
changeset 22 73a1feb507fb
parent 18 407431f36921
child 23 bc78a40cd63c
--- a/inc/musindicatorapi.h	Thu Aug 19 09:51:39 2010 +0300
+++ b/inc/musindicatorapi.h	Tue Aug 31 15:12:07 2010 +0300
@@ -29,14 +29,28 @@
 #include <e32property.h>
 
 
-
+class CMusIndicatorDsa;
 class CAknGlobalMsgQuery;
 class CMusSoundPlayer;
 
 
 /**
- *  MusIndicatorApi provides means to indicate availability
+ *  MusIndicatorApi provides means to show notes and indicate availability
  *  of videosharing to user.
+ *
+ *  @code
+ *   // Shows roaming activation query
+ *  if ( MusIndicatorApi::ConfirmationQueryL(
+ *          MusIndicatorApi::EVsRoamingActivationQuery ) )
+ *      {
+ *      // respond to user response "yes"
+ *      }
+ *  else
+ *      {
+ *      // respond to user response "no"
+ *      }
+ *  @endcode
+ *
  *  @lib musindicator.lib
  */
 class CMusIndicatorApi : public CActive, MMusSoundPlayerObserver
@@ -85,6 +99,14 @@
     ~CMusIndicatorApi();
 
     /**
+     * Shows a global query to user.
+     *
+     * @param aQuery Identifies displayed query.
+     * @return Boolean value indicating if user accepted the query.
+     */
+    IMPORT_C static TBool ConfirmationQueryL( TVsPopupQuery aQuery );
+
+    /**
      * Indicates availability of video sharing.
      */
     IMPORT_C void IndicateAvailabilityL();
@@ -141,11 +163,39 @@
      */
     void PlayToneL();
 
+    /**
+     * Returns text from a resource file for a specified note/query.
+     *
+     * @param aQuery Identifies displayed query.
+     * @return Text associated with specified query. Ownership is transferred.
+     */
+    static HBufC* NoteTextLC( TVsPopupQuery aQuery );
+
+    /**
+     * Asynchronous query. Result returned via observer interface.
+     */
+    void ShowLiveSharingQueryL( TBool aPlayTone );
+
+    static TInt LiveSharingQueryTimeout( TAny* aThis );
+
     void StartLiveSharingL();
+    void ToggleIndicatorL();
+    TBool IsSubscriber() const;
     
         
 private: // data
 
+    /**
+     * Pointer to indicator window
+     * Own.
+     */
+    CMusIndicatorDsa* iIndicatorWindow;
+
+    /**
+     * Pointer to global msg query.
+     * Own.
+     */
+    CAknGlobalMsgQuery* iQuery;
 
     /**
      * Sound player.
@@ -158,6 +208,8 @@
      * Own.
      */
     MMusIndicatorObserver* iObserver;
+
+    CPeriodic* iLiveSharingQueryTimeout;
     
     RProperty iProperty;