commondrm/drmutility/src/DrmUtilityInfoNoteWrapper.cpp
changeset 0 95b198f216e5
child 18 8a03a285ab14
equal deleted inserted replaced
-1:000000000000 0:95b198f216e5
       
     1 /*
       
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     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".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Implementation of CDrmUtilityInfoNoteWrapper class
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 // INCLUDE FILES
       
    20 #include <stringloader.h>
       
    21 #include <aknglobalconfirmationquery.h>
       
    22 #include <avkon.hrh> // EAknSoftkeyNo
       
    23 #include <aknglobalnote.h>
       
    24 
       
    25 #include <aknmediatorfacade.h>
       
    26 #include <featmgr.h>
       
    27 #include <aknsddata.h>
       
    28 #include <drmutility.rsg>
       
    29 
       
    30 #include "drmutilitysecondarydisplay.h"
       
    31 #include "drmutilityinfonotewrapper.h"
       
    32 
       
    33 // ============================= LOCAL FUNCTIONS ===============================
       
    34 
       
    35 // ============================ MEMBER FUNCTIONS ===============================
       
    36 
       
    37 // -----------------------------------------------------------------------------
       
    38 // CDrmUtilityInfoNoteWrapper::CDrmUtilityInfoNoteWrapper
       
    39 // C++ default constructor can NOT contain any code, that
       
    40 // might leave.
       
    41 // -----------------------------------------------------------------------------
       
    42 //
       
    43 DRM::CDrmUtilityInfoNoteWrapper::CDrmUtilityInfoNoteWrapper() 
       
    44     : CActive( EPriorityStandard )
       
    45     {
       
    46     CActiveScheduler::Add( this );
       
    47     }
       
    48 
       
    49 // -----------------------------------------------------------------------------
       
    50 // CDrmUtilityInfoNoteWrapper::ConstructL
       
    51 // Symbian 2nd phase constructor can leave.
       
    52 // -----------------------------------------------------------------------------
       
    53 //
       
    54 void DRM::CDrmUtilityInfoNoteWrapper::ConstructL()
       
    55     {
       
    56     iNote = CAknGlobalNote::NewL();
       
    57     }
       
    58 
       
    59 // -----------------------------------------------------------------------------
       
    60 // CDrmUtilityInfoNoteWrapper::NewLC
       
    61 // Two-phased constructor.
       
    62 // -----------------------------------------------------------------------------
       
    63 //
       
    64 DRM::CDrmUtilityInfoNoteWrapper* DRM::CDrmUtilityInfoNoteWrapper::NewLC()
       
    65     {
       
    66     DRM::CDrmUtilityInfoNoteWrapper* self( 
       
    67                                 new (ELeave) CDrmUtilityInfoNoteWrapper() );
       
    68     CleanupStack::PushL( self );
       
    69     self->ConstructL();
       
    70     return self;
       
    71     }
       
    72 
       
    73 // -----------------------------------------------------------------------------
       
    74 // CDrmUtilityInfoNoteWrapper::NewL
       
    75 // Two-phased constructor.
       
    76 // -----------------------------------------------------------------------------
       
    77 //
       
    78 DRM::CDrmUtilityInfoNoteWrapper* DRM::CDrmUtilityInfoNoteWrapper::NewL()
       
    79     {
       
    80     DRM::CDrmUtilityInfoNoteWrapper* self( NewLC() );
       
    81     CleanupStack::Pop( self );
       
    82     return self;
       
    83     }
       
    84 
       
    85     
       
    86 // Destructor
       
    87 DRM::CDrmUtilityInfoNoteWrapper::~CDrmUtilityInfoNoteWrapper()
       
    88     {
       
    89     Cancel(); // Cancel active object
       
    90     delete iNote;
       
    91     }
       
    92 
       
    93 
       
    94 // -----------------------------------------------------------------------------
       
    95 // CDrmUtilityInfoNoteWrapper::ShowNoteL
       
    96 // -----------------------------------------------------------------------------
       
    97 //
       
    98 void DRM::CDrmUtilityInfoNoteWrapper::ShowNoteL( TAknGlobalNoteType aType , 
       
    99                                                  const TDesC& aNoteText,
       
   100                                                  TInt aResourceId,
       
   101                                                  const TDesC& aString,
       
   102                                                  TInt aValue )
       
   103     {
       
   104     RProcess myProcess;
       
   105     TUid myProcessUid( KNullUid );
       
   106         
       
   107     // Convert primary display resource ID to Cover Ui
       
   108     // do nothing if not found 
       
   109     if ( FeatureManager::FeatureSupported( KFeatureIdCoverDisplay ) &&
       
   110          EvaluateCoverResourceId( aResourceId ) )
       
   111         {  
       
   112         RThread().Process( myProcess );
       
   113         myProcessUid = myProcess.Identity();             
       
   114             
       
   115         TUtilitySDData utilityData;
       
   116         // First field is DrmUtility's Uid
       
   117         utilityData.iUtilityUid = KUidCoverUiCategoryDrmUtility;
       
   118         // ProcessId which uses DrmUtility
       
   119         utilityData.iHandlerProcessId = myProcessUid; 
       
   120         if ( aNoteText.Compare( KNullDesC ) )
       
   121             {
       
   122             // If there is filename given, it's always in the PrimaryString
       
   123             utilityData.iStringParam.Append( aString );
       
   124             }
       
   125         if ( aValue > -1 )
       
   126             {
       
   127             // If there is filename given, it's always in the PrimaryString
       
   128             utilityData.iStringParam.Append( aValue );
       
   129             }            
       
   130 
       
   131         TUtilitySDDataPckg pckg( utilityData );                   
       
   132         CAknSDData* sd( CAknSDData::NewL( KUidCoverUiCategoryDrmUtility, 
       
   133                                           aResourceId, 
       
   134                                           pckg ) );
       
   135         iNote->SetSecondaryDisplayData( sd ); // ownership to notifier client          
       
   136         }
       
   137 
       
   138     iNote->ShowNoteL( iStatus , aType , aNoteText );
       
   139     SetActive();
       
   140     }
       
   141 
       
   142 // -----------------------------------------------------------------------------
       
   143 // CDrmUtilityInfoNoteWrapper::DoCancel
       
   144 // -----------------------------------------------------------------------------
       
   145 //
       
   146 void DRM::CDrmUtilityInfoNoteWrapper::DoCancel()
       
   147     {
       
   148     }
       
   149 
       
   150 // -----------------------------------------------------------------------------
       
   151 // CDrmUtilityInfoNoteWrapper::RunL
       
   152 // -----------------------------------------------------------------------------
       
   153 //
       
   154 void DRM::CDrmUtilityInfoNoteWrapper::RunL()
       
   155     {
       
   156     }
       
   157 
       
   158 // ---------------------------------------------------------
       
   159 // CDrmUtilityInfoNoteWrapper::EvaluateCoverResourceId
       
   160 // ---------------------------------------------------------
       
   161 //     
       
   162 TBool DRM::CDrmUtilityInfoNoteWrapper::EvaluateCoverResourceId( 
       
   163     TInt& aResourceId )
       
   164     { 
       
   165     switch ( aResourceId )
       
   166         {
       
   167         case R_DRMUTILITY_CONFIRMATION_QUERY:
       
   168             {
       
   169             aResourceId = ECover_confirmation_query;
       
   170             }
       
   171             break;
       
   172         case R_DRMUTILITY_WAITING_RIGHTS_CONFIRMATION_QUERY:
       
   173             {
       
   174             aResourceId = ECover_waiting_rights_confirmation_query;
       
   175             }
       
   176             break;
       
   177         case R_DRMUTILITY_INVALID_SIM:
       
   178             {
       
   179             aResourceId = ECover_invalid_sim;
       
   180             }
       
   181             break;
       
   182         /*
       
   183         case R_DRMUTILITY_USAGE_RIGHTS_EXPIRED_BUY_NEW:
       
   184             {
       
   185             aResourceId = ECover_usage_rights_expired_buy_new;
       
   186             }
       
   187             break;
       
   188         case R_DRMUTILITY_USAGE_RIGHTS_EXPIRED:
       
   189             {
       
   190             aResourceId = ECover_usage_rights_expired;
       
   191             }
       
   192             break;
       
   193         case R_DRMUTILITY_NO_USAGE_RIGHTS_BUY_NEW:
       
   194             {
       
   195             aResourceId = ECover_no_usage_rights_buy_new;
       
   196             }
       
   197             break;
       
   198         case R_DRMUTILITY_NO_USAGE_RIGHTS:
       
   199             {
       
   200             aResourceId = ECover_no_usage_rights;
       
   201             }
       
   202             break;
       
   203         case R_DRMUTILITY_DATABASE_CORRUPTED:
       
   204             {
       
   205             aResourceId = ECover_database_corrupted;
       
   206             }
       
   207             break;
       
   208         case R_DRMUTILITY_SET_AUTOMATED:
       
   209             {
       
   210             aResourceId = ECover_set_automated;
       
   211             }
       
   212             break;
       
   213         case R_DRMUTILITY_ACTIVATE_AND_SET_AUTOMATED:
       
   214             {
       
   215             aResourceId = ECover_activate_and_set_automated;
       
   216             }
       
   217             break;
       
   218         case R_DRMUTILITY_CAL_ALERT_INVALID_SIM_BUY_NEW:
       
   219             {
       
   220             aResourceId = ECover_cal_alert_invalid_sim_buy_new;
       
   221             }
       
   222             break;
       
   223         case R_DRMUTILITY_CAL_ALERT_EXPIRED_BUY_NEW:
       
   224             {
       
   225             aResourceId = ECover_cal_alert_expired_buy_new;
       
   226             }
       
   227             break;
       
   228         case R_DRMUTILITY_CAL_ALERT_EXPIRED:
       
   229             {
       
   230             aResourceId = ECover_cal_alert_expired;
       
   231             }
       
   232             break;
       
   233         case R_DRMUTILITY_CLOCK_ALARM_INVALID_SIM_BUY_NEW:
       
   234             {
       
   235             aResourceId = ECover_clock_alarm_invalid_sim_buy_new;
       
   236             }
       
   237             break;
       
   238         case R_DRMUTILITY_CLOCK_ALARM_EXPIRED_BUY_NEW:
       
   239             {
       
   240             aResourceId = ECover_clock_alarm_expired_buy_new;
       
   241             }
       
   242             break;
       
   243         case R_DRMUTILITY_CLOCK_ALARM_EXPIRED:
       
   244             {
       
   245             aResourceId = ECover_clock_alarm_expired;
       
   246             }
       
   247             break;
       
   248         case R_DRMUTILITY_EMAIL_TONE_EXPIRED_BUY_NEW:
       
   249             {
       
   250             aResourceId = ECover_email_tone_expired_buy_new;
       
   251             }
       
   252             break;
       
   253         case R_DRMUTILITY_EMAIL_TONE_INVALID_SIM_BUY_NEW:
       
   254             {
       
   255             aResourceId = ECover_email_tone_invalid_sim_buy_new;
       
   256             }
       
   257             break;
       
   258         case R_DRMUTILITY_EMAIL_TONE_EXPIRED:
       
   259             {
       
   260             aResourceId = ECover_email_tone_expired;
       
   261             }
       
   262             break;
       
   263         case R_DRMUTILITY_IM_TONE_EXPIRED_BUY_NEW:
       
   264             {
       
   265             aResourceId = ECover_im_tone_expired_buy_new;
       
   266             }
       
   267             break;
       
   268         case R_DRMUTILITY_IM_TONE_EXPIRED:
       
   269             {
       
   270             aResourceId = ECover_im_tone_expired;
       
   271             }
       
   272             break;
       
   273         case R_DRMUTILITY_MESSAGE_TONE_INVALID_SIM_BUY_NEW:
       
   274             {
       
   275             aResourceId = ECover_message_tone_invalid_sim_buy_new;
       
   276             }
       
   277             break;
       
   278         case R_DRMUTILITY_MESSAGE_TONE_EXPIRED_BUY_NEW:
       
   279             {
       
   280             aResourceId = ECover_message_tone_expired_buy_new;
       
   281             }
       
   282             break;
       
   283         case R_DRMUTILITY_MESSAGE_TONE_EXPIRED:
       
   284             {
       
   285             aResourceId = ECover_message_tone_expired;
       
   286             }
       
   287             break;
       
   288         case R_DRMUTILITY_RINGING_TONE_EXPIRED_BUY_NEW:
       
   289             {
       
   290             aResourceId = ECover_ringing_tone_expired_buy_new;
       
   291             }
       
   292             break;
       
   293         case R_DRMUTILITY_RINGING_TONE_INVALID_SIM_BUY_NEW:
       
   294             {
       
   295             aResourceId = ECover_ringing_tone_invalid_sim_buy_new;
       
   296             }
       
   297             break;
       
   298         case R_DRMUTILITY_RINGING_TONE_EXPIRED:
       
   299             {
       
   300             aResourceId = ECover_ringing_tone_expired;
       
   301             }
       
   302             break;
       
   303         case R_DRMUTILITY_SCREENSAVER_INVALID_SIM_BUY_NEW:
       
   304             {
       
   305             aResourceId = ECover_screensaver_invalid_sim_buy_new;
       
   306             }
       
   307             break;
       
   308         case R_DRMUTILITY_SCREENSAVER_EXPIRED_BUY_NEW:
       
   309             {
       
   310             aResourceId = ECover_screensaver_expired_buy_new;
       
   311             }
       
   312             break;
       
   313         case R_DRMUTILITY_SCREENSAVER_EXPIRED:
       
   314             {
       
   315             aResourceId = ECover_screensaver_expired;
       
   316             }
       
   317             break;
       
   318         case R_DRMUTILITY_WALLPAPER_INVALID_SIM_BUY_NEW:
       
   319             {
       
   320             aResourceId = ECover_wallpaper_invalid_sim_buy_new;
       
   321             }
       
   322             break;
       
   323         case R_DRMUTILITY_WALLPAPER_EXPIRED_BUY_NEW:
       
   324             {
       
   325             aResourceId = ECover_wallpaper_expired_buy_new;
       
   326             }
       
   327             break;
       
   328         case R_DRMUTILITY_WALLPAPER_EXPIRED:
       
   329             {
       
   330             aResourceId = ECover_wallpaper_expired;
       
   331             }
       
   332             break;
       
   333         case R_DRMUTILITY_THEME_INVALID_SIM_BUY_NEW:
       
   334             {
       
   335             aResourceId = ECover_theme_invalid_sim_buy_new;
       
   336             }
       
   337             break;
       
   338         case R_DRMUTILITY_THEME_EXPIRED_BUY_NEW:
       
   339             {
       
   340             aResourceId = ECover_theme_expired_buy_new;
       
   341             }
       
   342             break;
       
   343         case R_DRMUTILITY_THEME_EXPIRED:
       
   344             {
       
   345             aResourceId = ECover_theme_expired;
       
   346             }
       
   347             break;
       
   348         case R_DRMUTILITY_USAGE_RIGHTS_IN_FUTURE:
       
   349             {
       
   350             aResourceId = ECover_usage_rights_in_future;
       
   351             }
       
   352             break;
       
   353         case R_DRMUTILITY_ACTIVATE_AFTER_PREVIEW:
       
   354             {
       
   355             aResourceId = ECover_activate_after_preview;
       
   356             }
       
   357             break;
       
   358         case R_DRMUTILITY_WAITING_FOR_RIGHTS:
       
   359             {
       
   360             aResourceId = ECover_waiting_for_rights;
       
   361             }
       
   362             break;
       
   363         case R_DRMUTILITY_RIGHTS_SHOULD_HAVE_COME:
       
   364             {
       
   365             aResourceId = ECover_rights_should_have_come;
       
   366             }
       
   367             break;
       
   368         case R_DRMUTILITY_RIGHTS_SHOULD_HAVE_COME_NO_RI:
       
   369             {
       
   370             aResourceId = ECover_rights_should_have_come_no_ri;
       
   371             }
       
   372             break;
       
   373         case R_DRMUTILITY_AUTOMATED_SD_INVALID_SIM:
       
   374             {
       
   375             aResourceId = ECover_automated_sd_invalid_sim;
       
   376             }
       
   377             break;
       
   378         case R_DRMUTILITY_AUTOMATED_SD_EXPIRED:
       
   379             {
       
   380             aResourceId = ECover_automated_sd_expired;
       
   381             }
       
   382             break;
       
   383         case R_DRMUTILITY_AUTOMATED_CD_EXPIRED:
       
   384             {
       
   385             aResourceId = ECover_automated_cd_expired;
       
   386             }
       
   387             break;
       
   388         */
       
   389         
       
   390 #ifdef RD_DRM_PREVIEW_RIGHT_FOR_AUDIO        
       
   391         
       
   392         case R_DRMUTILITY_PREV_AUDIO_GET_LIST_QUERY:
       
   393             {
       
   394             aResourceId = ECover_prev_audio_get_list_query;
       
   395             }
       
   396             break;
       
   397         case R_DRMUTILITY_PREV_VIDEO_GET_LIST_QUERY:
       
   398             {
       
   399             aResourceId = ECover_prev_video_get_list_query;
       
   400             }
       
   401             break;
       
   402         case R_DRMUTILITY_PREV_AUDIO_PLAY_LIST_QUERY:
       
   403             {
       
   404             aResourceId = ECover_prev_audio_play_list_query;
       
   405             }
       
   406             break;
       
   407         case R_DRMUTILITY_PREV_VIDEO_PLAY_LIST_QUERY:
       
   408             {
       
   409             aResourceId = ECover_prev_video_play_list_query;
       
   410             }
       
   411             break;
       
   412         case R_DRMUTILITY_AUDIO_PREV_GET_LIST:
       
   413             {
       
   414             aResourceId = ECover_audio_prev_get_list;
       
   415             }
       
   416             break;
       
   417         case R_DRMUTILITY_VIDEO_PREV_GET_LIST:
       
   418             {
       
   419             aResourceId = ECover_video_prev_get_list;
       
   420             }
       
   421             break;
       
   422         case R_DRMUTILITY_AUDIO_PREV_PLAY_LIST:
       
   423             {
       
   424             aResourceId = ECover_audio_prev_play_list;
       
   425             }
       
   426             break;
       
   427         case R_DRMUTILITY_VIDEO_PREV_PLAY_LIST:
       
   428             {
       
   429             aResourceId = ECover_video_prev_play_list;
       
   430             }
       
   431             break;
       
   432             
       
   433 #endif // RD_DRM_PREVIEW_RIGHT_FOR_AUDIO
       
   434             
       
   435         default:
       
   436             return EFalse; // No proper dialog found, skipping
       
   437         }    
       
   438     return ETrue; // Dialog found
       
   439     }
       
   440 
       
   441 //  End of File