inc/musindicatorapi.h
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
equal deleted inserted replaced
32:73a1feb507fb 33:bc78a40cd63c
    27 #include "mussoundplayerobserver.h"
    27 #include "mussoundplayerobserver.h"
    28 #include <e32base.h>
    28 #include <e32base.h>
    29 #include <e32property.h>
    29 #include <e32property.h>
    30 
    30 
    31 
    31 
    32 class CMusIndicatorDsa;
    32 
    33 class CAknGlobalMsgQuery;
    33 class CAknGlobalMsgQuery;
    34 class CMusSoundPlayer;
    34 class CMusSoundPlayer;
    35 
    35 
    36 
    36 
    37 /**
    37 /**
    38  *  MusIndicatorApi provides means to show notes and indicate availability
    38  *  MusIndicatorApi provides means to indicate availability
    39  *  of videosharing to user.
    39  *  of videosharing to user.
    40  *
       
    41  *  @code
       
    42  *   // Shows roaming activation query
       
    43  *  if ( MusIndicatorApi::ConfirmationQueryL(
       
    44  *          MusIndicatorApi::EVsRoamingActivationQuery ) )
       
    45  *      {
       
    46  *      // respond to user response "yes"
       
    47  *      }
       
    48  *  else
       
    49  *      {
       
    50  *      // respond to user response "no"
       
    51  *      }
       
    52  *  @endcode
       
    53  *
       
    54  *  @lib musindicator.lib
    40  *  @lib musindicator.lib
    55  */
    41  */
    56 class CMusIndicatorApi : public CActive, MMusSoundPlayerObserver
    42 class CMusIndicatorApi : public CActive, MMusSoundPlayerObserver
    57     {
    43     {
    58 
    44 
    95 
    81 
    96     /**
    82     /**
    97      * Destructor.
    83      * Destructor.
    98      */
    84      */
    99     ~CMusIndicatorApi();
    85     ~CMusIndicatorApi();
   100 
       
   101     /**
       
   102      * Shows a global query to user.
       
   103      *
       
   104      * @param aQuery Identifies displayed query.
       
   105      * @return Boolean value indicating if user accepted the query.
       
   106      */
       
   107     IMPORT_C static TBool ConfirmationQueryL( TVsPopupQuery aQuery );
       
   108 
    86 
   109     /**
    87     /**
   110      * Indicates availability of video sharing.
    88      * Indicates availability of video sharing.
   111      */
    89      */
   112     IMPORT_C void IndicateAvailabilityL();
    90     IMPORT_C void IndicateAvailabilityL();
   161     /**
   139     /**
   162      * Plays indication tone.
   140      * Plays indication tone.
   163      */
   141      */
   164     void PlayToneL();
   142     void PlayToneL();
   165 
   143 
   166     /**
       
   167      * Returns text from a resource file for a specified note/query.
       
   168      *
       
   169      * @param aQuery Identifies displayed query.
       
   170      * @return Text associated with specified query. Ownership is transferred.
       
   171      */
       
   172     static HBufC* NoteTextLC( TVsPopupQuery aQuery );
       
   173 
       
   174     /**
       
   175      * Asynchronous query. Result returned via observer interface.
       
   176      */
       
   177     void ShowLiveSharingQueryL( TBool aPlayTone );
       
   178 
       
   179     static TInt LiveSharingQueryTimeout( TAny* aThis );
       
   180 
       
   181     void StartLiveSharingL();
   144     void StartLiveSharingL();
   182     void ToggleIndicatorL();
       
   183     TBool IsSubscriber() const;
       
   184     
   145     
   185         
   146         
   186 private: // data
   147 private: // data
   187 
   148 
   188     /**
       
   189      * Pointer to indicator window
       
   190      * Own.
       
   191      */
       
   192     CMusIndicatorDsa* iIndicatorWindow;
       
   193 
       
   194     /**
       
   195      * Pointer to global msg query.
       
   196      * Own.
       
   197      */
       
   198     CAknGlobalMsgQuery* iQuery;
       
   199 
   149 
   200     /**
   150     /**
   201      * Sound player.
   151      * Sound player.
   202      * Own.
   152      * Own.
   203      */
   153      */
   206     /**
   156     /**
   207      * Reference to observer interface.
   157      * Reference to observer interface.
   208      * Own.
   158      * Own.
   209      */
   159      */
   210     MMusIndicatorObserver* iObserver;
   160     MMusIndicatorObserver* iObserver;
   211 
       
   212     CPeriodic* iLiveSharingQueryTimeout;
       
   213     
   161     
   214     RProperty iProperty;
   162     RProperty iProperty;
   215             
   163             
   216     MUS_UNITTEST( UT_CMusIndicatorApi )
   164     MUS_UNITTEST( UT_CMusIndicatorApi )
   217 
   165