|
1 /* |
|
2 * Copyright (c) 2004 - 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 CDRMHelperInfoNoteWrapper class |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 |
|
20 // INCLUDE FILES |
|
21 #include "DRMHelperInfoNoteWrapper.h" |
|
22 |
|
23 #include <stringloader.h> |
|
24 #include <AknGlobalConfirmationQuery.h> |
|
25 #include <avkon.hrh> // EAknSoftkeyNo |
|
26 #include <aknglobalnote.h> |
|
27 |
|
28 #include <SecondaryDisplay/DRMHelperSecondaryDisplay.h> |
|
29 #include <aknmediatorfacade.h> |
|
30 #include <featmgr.h> |
|
31 #include <aknsddata.h> |
|
32 #include <DrmHelper.h> |
|
33 #include <DrmHelper.rsg> |
|
34 |
|
35 // EXTERNAL DATA STRUCTURES |
|
36 |
|
37 // EXTERNAL FUNCTION PROTOTYPES |
|
38 |
|
39 // CONSTANTS |
|
40 |
|
41 // MACROS |
|
42 |
|
43 // LOCAL CONSTANTS AND MACROS |
|
44 |
|
45 // MODULE DATA STRUCTURES |
|
46 |
|
47 // LOCAL FUNCTION PROTOTYPES |
|
48 |
|
49 // FORWARD DECLARATIONS |
|
50 |
|
51 // ============================= LOCAL FUNCTIONS =============================== |
|
52 |
|
53 |
|
54 // ============================ MEMBER FUNCTIONS =============================== |
|
55 |
|
56 // ----------------------------------------------------------------------------- |
|
57 // CDRMHelperInfoNoteWrapper::CDRMHelperInfoNoteWrapper |
|
58 // C++ default constructor can NOT contain any code, that |
|
59 // might leave. |
|
60 // ----------------------------------------------------------------------------- |
|
61 // |
|
62 CDRMHelperInfoNoteWrapper::CDRMHelperInfoNoteWrapper() : CActive( EPriorityStandard ) |
|
63 { |
|
64 CActiveScheduler::Add( this ); |
|
65 } |
|
66 |
|
67 // ----------------------------------------------------------------------------- |
|
68 // CDRMHelperInfoNoteWrapper::ConstructL |
|
69 // Symbian 2nd phase constructor can leave. |
|
70 // ----------------------------------------------------------------------------- |
|
71 // |
|
72 void CDRMHelperInfoNoteWrapper::ConstructL() |
|
73 { |
|
74 iNote = CAknGlobalNote::NewL(); |
|
75 } |
|
76 |
|
77 // ----------------------------------------------------------------------------- |
|
78 // CDRMHelperInfoNoteWrapper::NewL |
|
79 // Two-phased constructor. |
|
80 // ----------------------------------------------------------------------------- |
|
81 // |
|
82 CDRMHelperInfoNoteWrapper* CDRMHelperInfoNoteWrapper::NewLC() |
|
83 { |
|
84 CDRMHelperInfoNoteWrapper* self = new (ELeave) CDRMHelperInfoNoteWrapper(); |
|
85 CleanupStack::PushL( self ); |
|
86 self->ConstructL(); |
|
87 return self; |
|
88 } |
|
89 |
|
90 CDRMHelperInfoNoteWrapper* CDRMHelperInfoNoteWrapper::NewL() |
|
91 { |
|
92 CDRMHelperInfoNoteWrapper* self = NewLC(); |
|
93 CleanupStack::Pop( self ); |
|
94 return self; |
|
95 } |
|
96 |
|
97 |
|
98 // Destructor |
|
99 CDRMHelperInfoNoteWrapper::~CDRMHelperInfoNoteWrapper() |
|
100 { |
|
101 Cancel(); // Cancel active object |
|
102 delete iNote; |
|
103 } |
|
104 |
|
105 |
|
106 // ----------------------------------------------------------------------------- |
|
107 // CDRMHelperInfoNoteWrapper::ShowNoteL |
|
108 // ----------------------------------------------------------------------------- |
|
109 // |
|
110 void CDRMHelperInfoNoteWrapper::ShowNoteL( TAknGlobalNoteType aType , |
|
111 const TDesC& aNoteText, |
|
112 TInt aResourceId, |
|
113 const TDesC& aString, |
|
114 TInt aValue ) |
|
115 { |
|
116 |
|
117 RProcess myProcess; |
|
118 TUid myProcessUid( KNullUid ); |
|
119 |
|
120 // Convert primary display resource ID to Cover Ui |
|
121 // do nothing if not found |
|
122 if ( FeatureManager::FeatureSupported( KFeatureIdCoverDisplay ) && |
|
123 CDRMHelperInfoNoteWrapper::EvaluateCoverResourceId( aResourceId ) ) |
|
124 { |
|
125 RThread().Process( myProcess ); |
|
126 myProcessUid = myProcess.Identity(); |
|
127 |
|
128 THelperSDData helperData; |
|
129 helperData.iHelperUid = KUidCoverUiCategoryDRMHelper; // First field is DRMHelper's Uid |
|
130 helperData.iHandlerProcessId = myProcessUid; // ProcessId which uses DRMHelper |
|
131 if( aNoteText.Compare( KNullDesC ) ) |
|
132 { |
|
133 // If there is filename given, it's always in the PrimaryString |
|
134 helperData.iStringParam.Append( aString ); |
|
135 } |
|
136 if( aValue > -1 ) |
|
137 { |
|
138 // If there is filename given, it's always in the PrimaryString |
|
139 helperData.iStringParam.Append( aValue ); |
|
140 } |
|
141 |
|
142 THelperSDDataPckg pckg( helperData ); |
|
143 CAknSDData* sd = CAknSDData::NewL( KUidCoverUiCategoryDRMHelper, aResourceId, pckg ); |
|
144 iNote->SetSecondaryDisplayData( sd ); // ownership to notifier client |
|
145 } |
|
146 |
|
147 iNote->ShowNoteL( iStatus , aType , aNoteText ); |
|
148 SetActive(); |
|
149 } |
|
150 |
|
151 // ----------------------------------------------------------------------------- |
|
152 // CDRMHelperInfoNoteWrapper::DoCancel |
|
153 // ----------------------------------------------------------------------------- |
|
154 // |
|
155 void CDRMHelperInfoNoteWrapper::DoCancel() |
|
156 { |
|
157 } |
|
158 |
|
159 // ----------------------------------------------------------------------------- |
|
160 // CDRMHelperInfoNoteWrapper::RunL |
|
161 // ----------------------------------------------------------------------------- |
|
162 // |
|
163 void CDRMHelperInfoNoteWrapper::RunL() |
|
164 { |
|
165 } |
|
166 |
|
167 // --------------------------------------------------------- |
|
168 // CDRMHelperInfoNoteWrapper::EvaluateCoverResourceId |
|
169 // --------------------------------------------------------- |
|
170 // |
|
171 TBool CDRMHelperInfoNoteWrapper::EvaluateCoverResourceId( TInt& aResourceId ) |
|
172 { |
|
173 switch ( aResourceId ) |
|
174 { |
|
175 case R_DRMHELPER_CONFIRMATION_QUERY: |
|
176 { |
|
177 aResourceId = ECover_confirmation_query; |
|
178 } |
|
179 break; |
|
180 case R_DRMHELPER_WAITING_RIGHTS_CONFIRMATION_QUERY: |
|
181 { |
|
182 aResourceId = ECover_waiting_rights_confirmation_query; |
|
183 } |
|
184 break; |
|
185 case R_DRMHELPER_USAGE_RIGHTS_EXPIRED_BUY_NEW: |
|
186 { |
|
187 aResourceId = ECover_usage_rights_expired_buy_new; |
|
188 } |
|
189 break; |
|
190 case R_DRMHELPER_USAGE_RIGHTS_EXPIRED: |
|
191 { |
|
192 aResourceId = ECover_usage_rights_expired; |
|
193 } |
|
194 break; |
|
195 case R_DRMHELPER_NO_USAGE_RIGHTS_BUY_NEW: |
|
196 { |
|
197 aResourceId = ECover_no_usage_rights_buy_new; |
|
198 } |
|
199 break; |
|
200 case R_DRMHELPER_NO_USAGE_RIGHTS: |
|
201 { |
|
202 aResourceId = ECover_no_usage_rights; |
|
203 } |
|
204 break; |
|
205 #ifndef RD_DRM_REMOVAL_OF_EXPIRATION_WARNING_PROMPTS |
|
206 case R_DRMHELPER_USAGE_RIGHTS_TO_EXPIRE: |
|
207 { |
|
208 aResourceId = ECover_usage_rights_to_expire; |
|
209 } |
|
210 break; |
|
211 #endif |
|
212 case R_DRMHELPER_SET_AUTOMATED: |
|
213 { |
|
214 aResourceId = ECover_set_automated; |
|
215 } |
|
216 break; |
|
217 case R_DRMHELPER_ACTIVATE_AND_SET_AUTOMATED: |
|
218 { |
|
219 aResourceId = ECover_activate_and_set_automated; |
|
220 } |
|
221 break; |
|
222 case R_DRMHELPER_CAL_ALERT_INVALID_SIM_BUY_NEW: |
|
223 { |
|
224 aResourceId = ECover_cal_alert_invalid_sim_buy_new; |
|
225 } |
|
226 break; |
|
227 case R_DRMHELPER_CAL_ALERT_EXPIRED_BUY_NEW: |
|
228 { |
|
229 aResourceId = ECover_cal_alert_expired_buy_new; |
|
230 } |
|
231 break; |
|
232 case R_DRMHELPER_CAL_ALERT_EXPIRED: |
|
233 { |
|
234 aResourceId = ECover_cal_alert_expired; |
|
235 } |
|
236 break; |
|
237 case R_DRMHELPER_CLOCK_ALARM_INVALID_SIM_BUY_NEW: |
|
238 { |
|
239 aResourceId = ECover_clock_alarm_invalid_sim_buy_new; |
|
240 } |
|
241 break; |
|
242 case R_DRMHELPER_CLOCK_ALARM_EXPIRED_BUY_NEW: |
|
243 { |
|
244 aResourceId = ECover_clock_alarm_expired_buy_new; |
|
245 } |
|
246 break; |
|
247 case R_DRMHELPER_CLOCK_ALARM_EXPIRED: |
|
248 { |
|
249 aResourceId = ECover_clock_alarm_expired; |
|
250 } |
|
251 break; |
|
252 case R_DRMHELPER_EMAIL_TONE_EXPIRED_BUY_NEW: |
|
253 { |
|
254 aResourceId = ECover_email_tone_expired_buy_new; |
|
255 } |
|
256 break; |
|
257 case R_DRMHELPER_EMAIL_TONE_INVALID_SIM_BUY_NEW: |
|
258 { |
|
259 aResourceId = ECover_email_tone_invalid_sim_buy_new; |
|
260 } |
|
261 break; |
|
262 case R_DRMHELPER_EMAIL_TONE_EXPIRED: |
|
263 { |
|
264 aResourceId = ECover_email_tone_expired; |
|
265 } |
|
266 break; |
|
267 case R_DRMHELPER_IM_TONE_EXPIRED_BUY_NEW: |
|
268 { |
|
269 aResourceId = ECover_im_tone_expired_buy_new; |
|
270 } |
|
271 break; |
|
272 case R_DRMHELPER_IM_TONE_EXPIRED: |
|
273 { |
|
274 aResourceId = ECover_im_tone_expired; |
|
275 } |
|
276 break; |
|
277 case R_DRMHELPER_MESSAGE_TONE_INVALID_SIM_BUY_NEW: |
|
278 { |
|
279 aResourceId = ECover_message_tone_invalid_sim_buy_new; |
|
280 } |
|
281 break; |
|
282 case R_DRMHELPER_MESSAGE_TONE_EXPIRED_BUY_NEW: |
|
283 { |
|
284 aResourceId = ECover_message_tone_expired_buy_new; |
|
285 } |
|
286 break; |
|
287 case R_DRMHELPER_MESSAGE_TONE_EXPIRED: |
|
288 { |
|
289 aResourceId = ECover_message_tone_expired; |
|
290 } |
|
291 break; |
|
292 case R_DRMHELPER_RINGING_TONE_EXPIRED_BUY_NEW: |
|
293 { |
|
294 aResourceId = ECover_ringing_tone_expired_buy_new; |
|
295 } |
|
296 break; |
|
297 case R_DRMHELPER_RINGING_TONE_INVALID_SIM_BUY_NEW: |
|
298 { |
|
299 aResourceId = ECover_ringing_tone_invalid_sim_buy_new; |
|
300 } |
|
301 break; |
|
302 case R_DRMHELPER_RINGING_TONE_EXPIRED: |
|
303 { |
|
304 aResourceId = ECover_ringing_tone_expired; |
|
305 } |
|
306 break; |
|
307 case R_DRMHELPER_SCREENSAVER_INVALID_SIM_BUY_NEW: |
|
308 { |
|
309 aResourceId = ECover_screensaver_invalid_sim_buy_new; |
|
310 } |
|
311 break; |
|
312 case R_DRMHELPER_SCREENSAVER_EXPIRED_BUY_NEW: |
|
313 { |
|
314 aResourceId = ECover_screensaver_expired_buy_new; |
|
315 } |
|
316 break; |
|
317 case R_DRMHELPER_SCREENSAVER_EXPIRED: |
|
318 { |
|
319 aResourceId = ECover_screensaver_expired; |
|
320 } |
|
321 break; |
|
322 case R_DRMHELPER_WALLPAPER_INVALID_SIM_BUY_NEW: |
|
323 { |
|
324 aResourceId = ECover_wallpaper_invalid_sim_buy_new; |
|
325 } |
|
326 break; |
|
327 case R_DRMHELPER_WALLPAPER_EXPIRED_BUY_NEW: |
|
328 { |
|
329 aResourceId = ECover_wallpaper_expired_buy_new; |
|
330 } |
|
331 break; |
|
332 case R_DRMHELPER_WALLPAPER_EXPIRED: |
|
333 { |
|
334 aResourceId = ECover_wallpaper_expired; |
|
335 } |
|
336 break; |
|
337 case R_DRMHELPER_THEME_INVALID_SIM_BUY_NEW: |
|
338 { |
|
339 aResourceId = ECover_theme_invalid_sim_buy_new; |
|
340 } |
|
341 break; |
|
342 case R_DRMHELPER_THEME_EXPIRED_BUY_NEW: |
|
343 { |
|
344 aResourceId = ECover_theme_expired_buy_new; |
|
345 } |
|
346 break; |
|
347 case R_DRMHELPER_THEME_EXPIRED: |
|
348 { |
|
349 aResourceId = ECover_theme_expired; |
|
350 } |
|
351 break; |
|
352 case R_DRMHELPER_USAGE_RIGHTS_IN_FUTURE: |
|
353 { |
|
354 aResourceId = ECover_usage_rights_in_future; |
|
355 } |
|
356 break; |
|
357 case R_DRMHELPER_ACTIVATE_AFTER_PREVIEW: |
|
358 { |
|
359 aResourceId = ECover_activate_after_preview; |
|
360 } |
|
361 break; |
|
362 case R_DRMHELPER_WAITING_FOR_RIGHTS: |
|
363 { |
|
364 aResourceId = ECover_waiting_for_rights; |
|
365 } |
|
366 break; |
|
367 case R_DRMHELPER_RIGHTS_SHOULD_HAVE_COME: |
|
368 { |
|
369 aResourceId = ECover_rights_should_have_come; |
|
370 } |
|
371 break; |
|
372 case R_DRMHELPER_RIGHTS_SHOULD_HAVE_COME_NO_RI: |
|
373 { |
|
374 aResourceId = ECover_rights_should_have_come_no_ri; |
|
375 } |
|
376 break; |
|
377 case R_DRMHELPER_AUTOMATED_SD_INVALID_SIM: |
|
378 { |
|
379 aResourceId = ECover_automated_sd_invalid_sim; |
|
380 } |
|
381 break; |
|
382 case R_DRMHELPER_AUTOMATED_SD_EXPIRED: |
|
383 { |
|
384 aResourceId = ECover_automated_sd_expired; |
|
385 } |
|
386 break; |
|
387 case R_DRMHELPER_AUTOMATED_CD_EXPIRED: |
|
388 { |
|
389 aResourceId = ECover_automated_cd_expired; |
|
390 } |
|
391 break; |
|
392 #ifndef RD_DRM_REMOVAL_OF_EXPIRATION_WARNING_PROMPTS |
|
393 case R_DRMHELPER_INFO_EXP_1_USE: |
|
394 { |
|
395 aResourceId = ECover_info_exp_1_use; |
|
396 } |
|
397 break; |
|
398 case R_DRMHELPER_INFO_EXP_N_USES: |
|
399 { |
|
400 aResourceId = ECover_info_exp_n_uses; |
|
401 } |
|
402 break; |
|
403 case R_DRMHELPER_INFO_EXP_1_DAY: |
|
404 { |
|
405 aResourceId = ECover_info_exp_1_day; |
|
406 } |
|
407 break; |
|
408 case R_DRMHELPER_INFO_EXP_N_DAYS: |
|
409 { |
|
410 aResourceId = ECover_info_exp_n_days; |
|
411 } |
|
412 break; |
|
413 case R_DRMHELPER_QUERY_EXP_1_USE_GET_NEW: |
|
414 { |
|
415 aResourceId = ECover_query_exp_1_use_get_new; |
|
416 } |
|
417 break; |
|
418 case R_DRMHELPER_QUERY_EXP_N_USE_GET_NEW: |
|
419 { |
|
420 aResourceId = ECover_query_exp_n_use_get_new; |
|
421 } |
|
422 break; |
|
423 case R_DRMHELPER_QUERY_EXP_1_DAY_GET_NEW: |
|
424 { |
|
425 aResourceId = ECover_query_exp_1_day_get_new; |
|
426 } |
|
427 break; |
|
428 case R_DRMHELPER_QUERY_EXP_N_DAY_GET_NEW: |
|
429 { |
|
430 aResourceId = ECover_query_exp_n_day_get_new; |
|
431 } |
|
432 break; |
|
433 case R_DRMHELPER_QUERY_EXP_1_MIN_GET_NEW: |
|
434 { |
|
435 aResourceId = ECover_query_exp_1_min_get_new; |
|
436 } |
|
437 break; |
|
438 case R_DRMHELPER_QUERY_EXP_N_MIN_GET_NEW: |
|
439 { |
|
440 aResourceId = ECover_query_exp_n_min_get_new; |
|
441 } |
|
442 break; |
|
443 case R_DRMHELPER_QUERY_EXP_MANY_CONSTR: |
|
444 { |
|
445 aResourceId = ECover_query_exp_many_constr; |
|
446 } |
|
447 break; |
|
448 #endif //RD_DRM_REMOVAL_OF_EXPIRATION_WARNING_PROMPTS |
|
449 #ifdef RD_DRM_PREVIEW_RIGHT_FOR_AUDIO |
|
450 case R_DRMHELPER_PREV_AUDIO_GET_LIST_QUERY: |
|
451 { |
|
452 aResourceId = ECover_prev_audio_get_list_query; |
|
453 } |
|
454 break; |
|
455 case R_DRMHELPER_PREV_VIDEO_GET_LIST_QUERY: |
|
456 { |
|
457 aResourceId = ECover_prev_video_get_list_query; |
|
458 } |
|
459 break; |
|
460 case R_DRMHELPER_PREV_AUDIO_PLAY_LIST_QUERY: |
|
461 { |
|
462 aResourceId = ECover_prev_audio_play_list_query; |
|
463 } |
|
464 break; |
|
465 case R_DRMHELPER_PREV_VIDEO_PLAY_LIST_QUERY: |
|
466 { |
|
467 aResourceId = ECover_prev_video_play_list_query; |
|
468 } |
|
469 break; |
|
470 case R_DRMHELPER_AUDIO_PREV_GET_LIST: |
|
471 { |
|
472 aResourceId = ECover_audio_prev_get_list; |
|
473 } |
|
474 break; |
|
475 case R_DRMHELPER_VIDEO_PREV_GET_LIST: |
|
476 { |
|
477 aResourceId = ECover_video_prev_get_list; |
|
478 } |
|
479 break; |
|
480 #endif //RD_DRM_PREVIEW_RIGHT_FOR_AUDIO |
|
481 case R_DRMHELPER_INVALID_SIM: |
|
482 { |
|
483 aResourceId = ECover_invalid_sim; |
|
484 } |
|
485 break; |
|
486 case R_DRMHELPER_AUDIO_PREV_PLAY_LIST: |
|
487 { |
|
488 aResourceId = ECover_audio_prev_play_list; |
|
489 } |
|
490 break; |
|
491 case R_DRMHELPER_VIDEO_PREV_PLAY_LIST: |
|
492 { |
|
493 aResourceId = ECover_video_prev_play_list; |
|
494 } |
|
495 break; |
|
496 case R_DRM_ERR_OPENING_FAIL_PERM: |
|
497 { |
|
498 aResourceId = ECover_err_opening_fail_perm; |
|
499 } |
|
500 break; |
|
501 case R_DRM_WARN_NO_CONN_DEFINED: |
|
502 { |
|
503 aResourceId = ECover_warn_no_conn_defined; |
|
504 } |
|
505 break; |
|
506 case R_DRM_WARN_INVALID_OR_NO_AP: |
|
507 { |
|
508 aResourceId = ECover_warn_invalid_or_no_ap; |
|
509 } |
|
510 break; |
|
511 default: |
|
512 return EFalse; // No proper dialog found, skipping |
|
513 } |
|
514 return ETrue; // Dialog found |
|
515 } |
|
516 |
|
517 // ========================== OTHER EXPORTED FUNCTIONS ========================= |
|
518 |
|
519 // End of File |