00001 /* 00002 * ============================================================================== 00003 * Name : drmhelper.h 00004 * Part of : DRMHelper 00005 * Interface : 00006 * Description : Class to show miscellaneous DRM related error notes and 00007 * details about rights 00008 * Version : 00009 * 00010 * Copyright (c) 2003, 2004 Nokia Corporation. 00011 * This material, including documentation and any related 00012 * computer programs, is protected by copyright controlled by 00013 * Nokia Corporation. All rights are reserved. Copying, 00014 * including reproducing, storing, adapting or translating, any 00015 * or all of this material requires the prior written consent of 00016 * Nokia Corporation. This material also contains confidential 00017 * information which may not be disclosed to others without the 00018 * prior written consent of Nokia Corporation. 00019 * ============================================================================== 00020 */ 00021 00022 00023 #ifndef __DRMHELPER_H__ 00024 #define __DRMHELPER_H__ 00025 00026 // INCLUDES 00027 #include <e32base.h> 00028 #include <ConeResLoader.h> 00029 #include <apparc.h> 00030 #include <rdrmhelper.h> 00031 #include <aknserverapp.h> 00032 #include <caf\caf.h> 00033 #include <caf\content.h> 00034 #include <caf\data.h> 00035 #start_since SINCE_3_1_SDK 00036 #include <eikdialg.h> 00037 #end_since SINCE_3_1_SDK 00038 00039 // CONSTANTS 00040 const TInt KDRMHelperDefaultCountThreshold = 3; 00041 const TInt KDRMHelperDefaultTimeThreshold = 7; 00042 const TInt KDRMHelperDefaultPercentageThreshold = 10; 00043 const TInt KDRMHelperNoteMaxSize ( 256 ); 00044 00045 // MACROS 00046 00047 // DATA TYPES 00048 #start_since SINCE_3_1_SDK 00049 00052 enum TDRMHelperPreviewMediaType 00053 { 00054 EPreviewTypeAudio, 00055 EPreviewTypeVideo 00056 }; 00057 #end_since SINCE_3_1_SDK 00058 // FUNCTION PROTOTYPES 00059 00060 // FORWARD DECLARATIONS 00061 class DRMCommon; 00062 class CDRMRightsConstraints; 00063 class CDRMRights; 00064 class CStringResourceReader; 00065 class TDataType; 00066 class CCoeEnv; 00067 class CConsumeData; 00068 class CDRMPermission; 00069 class CDRMConstraint; 00070 #start_since SINCE_3_1_SDK 00071 class CAknGlobalNote; 00072 class CAknWaitDialog; 00073 class CDRMHelperInfoNoteWrapper; 00074 class CSchemeHandler; 00075 #end_since SINCE_3_1_SDK 00076 00077 // CLASS DECLARATION 00078 00085 class CDRMHelperRightsConstraints : public CBase 00086 { 00087 public: // Constructors and destructor 00088 00092 static CDRMHelperRightsConstraints* NewL( 00093 CDRMRightsConstraints* aConstraints ); 00094 static CDRMHelperRightsConstraints* NewLC( 00095 CDRMRightsConstraints* aConstraints ); 00096 00100 IMPORT_C ~CDRMHelperRightsConstraints(); 00101 00102 public: // New functions 00103 00109 IMPORT_C TBool FullRights(); 00110 00115 IMPORT_C TBool IsPreview(); 00116 00125 IMPORT_C void GetCountersL( TUint32& aCounter, 00126 TUint32& aOriginalCounter ); 00127 00134 IMPORT_C void GetStartTimeL( TTime& aStartTime ); 00135 00142 IMPORT_C void GetEndTimeL( TTime& aEndTime ); 00143 00150 IMPORT_C void GetIntervalL( TTimeIntervalSeconds& aInterval ); 00151 00159 IMPORT_C void GetIntervalStartL( TTime& aStartTime ); 00171 IMPORT_C void GetTimedCountL( TUint32& aCounter, 00172 TUint32& aOriginalCounter, TTimeIntervalSeconds& aTimer ); 00173 00182 IMPORT_C void GetAccumulatedTimeL( TTimeIntervalSeconds& aAccumulatedTime ); 00183 00184 private: 00185 00189 CDRMHelperRightsConstraints( CDRMRightsConstraints* aConstrains ); 00190 00194 void ConstructL(); 00195 00196 private: // Data 00197 // pointer to CDRMRightsConstraints object 00198 CDRMRightsConstraints* iConstraints; 00199 }; 00200 00201 00208 class CDRMHelper : public CBase, public MAknServerAppExitObserver 00209 { 00210 public: // Data 00211 00212 enum TDRMHelperNotificationID 00213 { 00214 ETActivateTextId = 1, 00215 ETCountBasedErrorTextId = 2 , 00216 ETCountUsageReduceId = 3, 00217 ETCountUsageReduceMediaId = 4 00218 }; 00219 00220 enum TDRMHelperConsumeAction 00221 { 00222 EStart, 00223 EFinish, 00224 EPause, 00225 EContinue 00226 }; 00227 00228 enum TDRMHelperOMALevel 00229 { 00230 EOMA_None, 00231 EOMA_1_0, 00232 EOMA_2_0 00233 }; 00234 00235 enum TDRMHelperPreviewType 00236 { 00237 ENoPreview, 00238 EEmbeddedPreview, 00239 EPreviewRights 00240 }; 00241 00242 enum TDRMHelperAutomatedType 00243 { 00244 EAutomatedTypeRingingTone, 00245 EAutomatedTypeMessageAlert, 00246 EAutomatedTypeEmailAlert, 00247 EAutomatedTypeIMAlert, 00248 EAutomatedTypeCalendarAlarm, 00249 EAutomatedTypeScreenSaver, 00250 EAutomatedTypeWallpaper, 00251 EAutomatedTypeTheme, 00252 EAutomatedTypeClockAlarm, 00253 EAutomatedTypeOther = KMaxTUint8 00254 }; 00255 00256 enum TDRMHelperDRMMethods 00257 { 00258 EForwardLock = 0x0001, 00259 ECombinedDelivery = 0x0002, 00260 ESeparateDelivery = 0x0004, 00261 ESuperDistribution = 0x0008 00262 }; 00263 00264 public: // Constructors and destructor 00265 00269 IMPORT_C static CDRMHelper* NewL( CCoeEnv& aCoeEnv ); 00270 IMPORT_C static CDRMHelper* NewLC( CCoeEnv& aCoeEnv ); 00271 00276 IMPORT_C static CDRMHelper* NewL(); 00277 IMPORT_C static CDRMHelper* NewLC(); 00278 00283 IMPORT_C static CDRMHelper* NewL( CCoeEnv& aCoeEnv, RFs& aFs ); 00284 IMPORT_C static CDRMHelper* NewLC( CCoeEnv& aCoeEnv, RFs& aFs ); 00285 00290 IMPORT_C static CDRMHelper* NewL( RFs& aFs ); 00291 IMPORT_C static CDRMHelper* NewLC( RFs& aFs ); 00292 00296 IMPORT_C ~CDRMHelper(); 00297 00298 00299 public: 00300 00312 IMPORT_C TInt HandleErrorL( TInt aError, 00313 const TDesC8& aURI ); 00314 00315 00329 IMPORT_C TInt HandleErrorL( TInt aError, 00330 const TDesC& aFileName ); 00331 00332 00347 IMPORT_C TInt HandleErrorL( TInt aError, 00348 RFile& aFileHandle ); 00349 00350 #start_since SINCE_3_1_SDK 00351 00371 IMPORT_C TInt HandleErrorOrPreviewL( 00372 TInt aError, 00373 RFile& aFile, 00374 HBufC8*& aEmbeddedPreviewUri ); 00375 #end_since SINCE_3_1_SDK 00376 00377 #start_since SINCE_3_1_SDK 00378 00398 IMPORT_C TInt HandleErrorOrPreviewL( 00399 TInt aError, 00400 const TDesC& aFileName, 00401 HBufC8*& aEmbeddedPreviewUri ); 00402 #end_since SINCE_3_1_SDK 00403 00411 // causes conflict with other CheckRightsAmount method, removed for now... 00412 // IMPORT_C TInt CheckRightsAmountL( const TDesC8& aURI ); 00413 00414 00422 // causes conflict with other CheckRightsAmount method, removed for now... 00423 // IMPORT_C TInt CheckRightsAmountL( const TDesC& aFileName ); 00424 00425 00434 // causes conflict with other CheckRightsAmount method, removed for now... 00435 // IMPORT_C TInt CheckRightsAmountL( RFile& aFileHandle ); 00436 00437 00454 IMPORT_C TInt CheckRightsAmountL( const TDesC& aFileName, 00455 TInt aCount = KDRMHelperDefaultCountThreshold, 00456 TInt aDays = KDRMHelperDefaultTimeThreshold ); 00457 00458 00476 IMPORT_C TInt CheckRightsAmountL( RFile& aFileHandle, 00477 TInt aCount = KDRMHelperDefaultCountThreshold, 00478 TInt aDays = KDRMHelperDefaultTimeThreshold ); 00479 00480 00497 IMPORT_C TInt CheckRightsAmountL( const TDesC8& aUri, 00498 TInt aCount = KDRMHelperDefaultCountThreshold, 00499 TInt aDays = KDRMHelperDefaultTimeThreshold ); 00500 00501 00517 IMPORT_C TInt CheckRightsPercentL( const TDesC& aFileName, 00518 TInt aThreshold = KDRMHelperDefaultPercentageThreshold ); 00519 00520 00537 IMPORT_C TInt CheckRightsPercentL( RFile& aFileHandle, 00538 TInt aThreshold = KDRMHelperDefaultPercentageThreshold ); 00539 00540 00547 IMPORT_C void LaunchDetailsViewEmbeddedL( 00548 const TDesC8& aURI ); 00549 00550 00557 IMPORT_C void LaunchDetailsViewEmbeddedL( 00558 const TDesC& aFileName ); 00559 00560 00568 IMPORT_C void LaunchDetailsViewEmbeddedL( 00569 RFile& aFileHandle ); 00570 00571 00578 IMPORT_C void LaunchDetailsViewEmbeddedL( 00579 const HBufC8* aContentURI ); 00580 00581 00601 IMPORT_C void GetRightsDetailsL( const TDesC& aFileName, 00602 TUint32 aIntent, TBool& aExpired, TBool& aSendingAllowed, 00603 CDRMHelperRightsConstraints*& aPlay, 00604 CDRMHelperRightsConstraints*& aDisplay, 00605 CDRMHelperRightsConstraints*& aExecute, 00606 CDRMHelperRightsConstraints*& aPrint ); 00607 00608 00630 IMPORT_C void GetRightsDetailsL( RFile& aFileHandle, 00631 TUint32 aIntent, TBool& aExpired, TBool& aSendingAllowed, 00632 CDRMHelperRightsConstraints*& aPlay, 00633 CDRMHelperRightsConstraints*& aDisplay, 00634 CDRMHelperRightsConstraints*& aExecute, 00635 CDRMHelperRightsConstraints*& aPrint ); 00636 00637 00657 IMPORT_C void GetRightsDetailsL( const TDesC& aFileName, 00658 TUint32 aIntent, TBool& aExpired, TBool& aSendingAllowed, 00659 CDRMRightsConstraints*& aPlay, 00660 CDRMRightsConstraints*& aDisplay, 00661 CDRMRightsConstraints*& aExecute, 00662 CDRMRightsConstraints*& aPrint ); 00663 00664 00686 IMPORT_C void GetRightsDetailsL( RFile& aFileHandle, 00687 TUint32 aIntent, TBool& aExpired, TBool& aSendingAllowed, 00688 CDRMRightsConstraints*& aPlay, 00689 CDRMRightsConstraints*& aDisplay, 00690 CDRMRightsConstraints*& aExecute, 00691 CDRMRightsConstraints*& aPrint ); 00692 00693 00703 IMPORT_C TInt SetAutomated( const TDesC8& aURI ); 00704 00705 00715 IMPORT_C TInt SetAutomated( const TDesC& aFilename ); 00716 00717 00726 IMPORT_C TInt SetAutomated( RFile& aFileHandle ); 00727 00728 00738 IMPORT_C TInt ShowAutomatedNote( const TDesC8& aURI ); 00739 00740 00750 IMPORT_C TInt ShowAutomatedNote( const TDesC& aFilename ); 00751 00752 00762 IMPORT_C TInt ShowAutomatedNote( RFile& aFileHandle ); 00763 00764 00773 IMPORT_C TInt SetAutomatedPassive( const TDesC8& aURI ); 00774 00775 00784 IMPORT_C TInt SetAutomatedPassive( const TDesC& aFilename ); 00785 00786 00795 IMPORT_C TInt SetAutomatedPassive( RFile& aFileHandle ); 00796 00797 00808 IMPORT_C TInt SetAutomatedSilent( const TDesC8& aURI, TBool aActive ); 00809 00810 00821 IMPORT_C TInt SetAutomatedSilent( const TDesC& aFilename, 00822 TBool aActive ); 00823 00824 00835 IMPORT_C TInt SetAutomatedSilent( RFile& aFileHandle, 00836 TBool aActive ); 00837 00838 00845 IMPORT_C TInt RemoveAutomated( const TDesC8& aURI ); 00846 00847 00854 IMPORT_C TInt RemoveAutomated( const TDesC& aFilename ); 00855 00856 00863 IMPORT_C TInt RemoveAutomated( RFile& aFileHandle ); 00864 00865 00874 IMPORT_C TInt RemoveAutomatedPassive( const TDesC8& aURI ); 00875 00876 00885 IMPORT_C TInt RemoveAutomatedPassive( const TDesC& aFilename ); 00886 00887 00896 IMPORT_C TInt RemoveAutomatedPassive( RFile& aFileHandle ); 00897 00898 00906 IMPORT_C TInt CanSetAutomated( const TDesC8& aURI, 00907 TBool& aValue ); 00908 00909 00917 IMPORT_C TInt CanSetAutomated( const TDesC& aFilename, 00918 TBool& aValue ); 00919 00920 00928 IMPORT_C TInt CanSetAutomated( RFile& aFileHandle, 00929 TBool& aValue ); 00930 00931 00937 IMPORT_C void IndicateIdle(); 00938 00946 IMPORT_C TInt ShowDRMUINotification2L( TDRMHelperNotificationID aTextId, 00947 const TDesC8& aURI ); 00948 00949 00957 IMPORT_C TInt ShowDRMUINotification2L( TDRMHelperNotificationID aTextId, 00958 const TDesC& aFileName ); 00959 00960 00966 IMPORT_C void SetCountLimitL( TUint aCounts ); 00967 00968 00974 IMPORT_C void SetTimeLimitL( TUint aDays ); 00975 00976 00982 IMPORT_C void SetPercentageLimitL( TUint aPercentage ); 00983 00984 00995 IMPORT_C TInt GetContentURIList( 00996 RPointerArray<HBufC8>*& aURIList); 00997 00998 01009 IMPORT_C TInt DataTypesCount( 01010 TInt& aCount); 01011 01012 01023 IMPORT_C TInt SupportedDataType( 01024 const TInt aIndex, TDataType& aDataType); 01025 01026 01036 IMPORT_C TInt RegisterDataType( 01037 const TDataType& aDataType); 01038 01039 01049 IMPORT_C TInt UnRegisterDataType( 01050 const TInt aIndex); 01051 01052 01067 IMPORT_C TInt SupportedDRMMethods2( 01068 TInt& aDRMMethod, TDRMHelperOMALevel& aOMALevel); 01069 01070 01092 IMPORT_C TInt Consume2( 01093 const TDesC8& aContentURI, 01094 TUint32 aRightsSpec, 01095 TDRMHelperConsumeAction anAction); 01096 01097 01119 IMPORT_C TInt ConsumeFile2( 01120 const TDesC& aFileName, 01121 TUint32 aRightsSpec, 01122 TDRMHelperConsumeAction anAction); 01123 01124 01146 IMPORT_C TInt ConsumeFile2( 01147 RFile& aFileHandle, 01148 TUint32 aRightsSpec, 01149 TDRMHelperConsumeAction anAction); 01150 01158 IMPORT_C void ActivateContentL(CData& aContent); 01159 01167 IMPORT_C void ActivateContentL(TDesC& aFileName); 01168 01176 IMPORT_C TDRMHelperPreviewType HasPreviewL(CData& aContent, HBufC8*& aPreviewUri); 01177 01185 IMPORT_C TDRMHelperPreviewType HasPreviewL(TDesC& aFileName, HBufC8*& aPreviewUri); 01186 01192 IMPORT_C void GetPreviewRightsL(CData& aContent); 01193 01199 IMPORT_C void GetPreviewRightsL(TDesC& aFileName); 01200 01208 IMPORT_C TBool EmbeddedPreviewCompletedL(CData& aContent); 01209 01217 IMPORT_C TBool EmbeddedPreviewCompletedL(TDesC& aFileName); 01218 01226 IMPORT_C TBool HasInfoUrlL(CData& aContent, HBufC8*& aInfoUrl); 01227 01235 IMPORT_C TBool HasInfoUrlL(TDesC& aFileName, HBufC8*& aInfoUrl); 01236 01242 IMPORT_C void OpenInfoUrlL(CData& aContent); 01243 01249 IMPORT_C void OpenInfoUrlL(TDesC& aFileName); 01250 01258 IMPORT_C TInt SetAutomatedType( TDRMHelperAutomatedType aAutomatedType ); 01259 01260 #start_since SINCE_3_1_SDK 01261 01269 IMPORT_C TInt SetPreviewMediaType( 01270 TDRMHelperPreviewMediaType aMediaType ); 01271 #end_since SINCE_3_1_SDK 01272 01273 protected: // New functions 01274 01281 //?type ?member_function( ?type ?arg1 ); 01282 01283 protected: // Functions from base classes 01284 01288 //?type ?member_function(); 01289 01290 01291 private: 01292 01296 CDRMHelper( CCoeEnv& aCoeEnv ); 01297 CDRMHelper(); 01298 01302 void ConstructL( RFs* aFs ); 01303 01304 // Prohibit copy constructor if not deriving from CBase. 01305 // ?classname( const ?classname& ); 01306 // Prohibit assigment operator if not deriving from CBase. 01307 // ?classname& operator=( const ?classname& ); 01308 01312 TInt DisplayQueryWithIdL( TInt aTextResourceId, TInt aQueryResourceId ); 01313 TInt DisplayQueryWithIdValueL( TInt aTextResourceId, TInt aQueryResourceId, 01314 const TDesC& aString ); 01315 TInt DisplayQueryL( TInt aTextResourceId, TInt aValue ); 01316 TInt DisplayQueryL( TInt aTextResourceId, const TDesC& aString ); 01317 TInt DisplayQueryL( 01318 TInt aTextResourceId, 01319 const TDesC& aString, 01320 TInt aValue, 01321 TInt aStringPos = -1, 01322 TInt aValuePos = -1 ); 01323 TInt DisplayQueryL( TDesC& aPromptText, TInt aQueryResourceId ); 01324 01328 void DisplayInfoNoteL( TInt aTextResourceId ); 01329 void DisplayInfoNoteL( TInt aTextResourceId, const TDesC& aString ); 01330 void DisplayInfoNoteL( TInt aTextResourceId, TInt aValue ); 01331 void DisplayInfoNoteL( TDesC& aPromptText, TInt aResourceId ); 01332 01336 void LaunchBrowserL( HBufC8* aUrl ); 01337 void LaunchBrowserL( HBufC* aUrl ); 01338 01342 void GetRightsIssuerL( const CData& aContent, HBufC*& aIssuer ); 01343 01347 TInt GetCounts( CDRMRightsConstraints* aConstraint, 01348 TUint32& aOriginalCount, TTimeIntervalDays& aDuration ); 01349 01350 TInt GetCounts( CDRMRightsConstraints* aConstraint, 01351 TUint32& aCountLeft, TTime& aEndTime ); 01352 01353 TInt GetCounts( CDRMConstraint* aConstraint, 01354 TUint32& aOriginalCount, TTimeIntervalDays& aDuration ); 01355 01356 TInt GetCounts( CDRMConstraint* aConstraint, 01357 TUint32& aCountLeft, TTime& aEndTime ); 01358 01362 void LaunchRightsManagerUiL( const TDesC& aParam16 ); 01363 01367 void CreateLaunchParamL( TUint32 aLocalId, const HBufC8* aUrl, 01368 HBufC*& aLaunchParam ); 01369 01374 TPtrC StripPathAndExtension( const TDesC& aFileName ); 01375 01381 TInt GetExpirationDetails( HBufC8* aContentUri, TInt aIntent, 01382 CDRMRights*& aRightsObject ); 01383 01387 TInt CalculateEndTime( CDRMRights* aRights, TInt aIntent, 01388 TTime& aEndTime, TBool& aInactive ); 01389 01393 TInt GetEndTime( CDRMRightsConstraints* aConstraint, 01394 TTime& aEndTime, TBool& aInactive ); 01395 01399 TInt PerformSetAutomatedL( const CData& aContent, TBool aActive ); 01400 TInt DoSetAutomatedL( const TDesC8& aURI, TBool aActive, 01401 const HBufC* aMimeType ); 01402 01407 TInt PerformShowAutomatedNoteL( const CData& aContent ); 01408 TInt DoShowAutomatedNoteL( const TDesC8& aURI, 01409 const HBufC* aMimeType ); 01410 01414 TInt PerformSetAutomatedSilentL( const CData& aContent, TBool aActive ); 01415 TInt DoSetAutomatedSilent( const TDesC8& aURI, TBool aActive, TInt aIntent ); 01416 01420 TInt Intent( const HBufC* aMimeType ); 01421 01425 TInt PerformCanSetAutomatedL( const CData& aContent,TBool& aValue ); 01426 TInt DoCanSetAutomated( const TDesC8& aURI, const HBufC* aMimeType, 01427 TBool& aValue ); 01428 TBool DoCheckSkinCanSetAutomated(CDRMRights* aRights); 01429 01433 HBufC* MimeTypeFromURIL( const TDesC8& aURI ); 01434 01439 TInt GetFileHandleFromURIL( const TDesC8& aURI, RFile& aFileHandle ); 01440 01444 TInt GetStartTime( CDRMRights* aRights, TInt aIntent, 01445 TTime& aStartTime ); 01446 01450 TInt ShowFutureNoteL( const HBufC* aMimeType, CDRMRights* aRightsObject ); 01451 01455 TInt DoHandleErrorL( TInt aError, HBufC8* aContentUri, HBufC* aMimeType, 01456 HBufC* aRIUrl, HBufC* aDomainRoUrl, HBufC* aEta, HBufC8* aRiId8, 01457 HBufC8* aDomainId8, const TDesC& aFileName ); 01458 01462 TInt DoCheckRightsPercentL( HBufC8* aContentUri, HBufC* aMimeType, 01463 HBufC* aRIUrl, const TDesC& aFileName, TInt aThreshold ); 01464 01465 TInt DoCheckRightsAmountL( HBufC8* aContentUri, HBufC* aMimeType, 01466 HBufC* aRIUrl, const TDesC& aFileName, TInt aCount, TInt aDays ); 01467 01471 void DoGetRightsDetailsL( HBufC8* aContentUri, TUint32 aIntent, 01472 TBool& aExpired, CDRMHelperRightsConstraints*& aPlay, 01473 CDRMHelperRightsConstraints*& aDisplay, 01474 CDRMHelperRightsConstraints*& aExecute, 01475 CDRMHelperRightsConstraints*& aPrint ); 01476 01477 void DoGetRightsDetailsL( CData* aContent, TUint32 aIntent, 01478 TBool& aExpired, TBool& aSendingAllowed, CDRMRightsConstraints*& aPlay, 01479 CDRMRightsConstraints*& aDisplay, 01480 CDRMRightsConstraints*& aExecute, 01481 CDRMRightsConstraints*& aPrint ); 01482 01486 void GetConstraintsL( 01487 CDRMRights& aRights, 01488 CDRMHelperRightsConstraints*& aPlay, 01489 CDRMHelperRightsConstraints*& aDisplay, 01490 CDRMHelperRightsConstraints*& aExecute, 01491 CDRMHelperRightsConstraints*& aPrint ); 01492 01496 TInt PerformRemoveAutomatedL( const CData& aContent, TBool aActive ); 01497 01498 void HandleServerAppExit(TInt aReason); 01499 01500 void CheckPreviewUriL( 01501 const CData* aContent, 01502 HBufC*& aEmbeddedPreviewUri, 01503 TInt& aPreviewType ); 01504 01505 TInt DisplayPopupWindowsForPreviewL(TInt aPreviewType); 01506 01513 TInt AutomatedResIdL( TBool aExpired, TBool aSecondParameter, TUint32 aRejectReason ); 01514 01518 TInt ErrorResIdL( const TDesC8& aContentUri, TInt aIntent, 01519 TBool aRightsIssuer, TBool aExpired ); 01520 01524 TUint32 RejectReasonL( TInt aIntent, const TDesC8& aContentUri ); 01525 01529 void PrepareSecondaryDisplayL( CEikDialog& aDialog, TInt aResourceId ); 01530 01535 HBufC8* HasSilentRightsUrlL( CData* aContent ); 01536 01540 TInt GetSilentRightsL( const TDesC8& aUrl ); 01541 01545 TBool SilentRightsAllowedL(); 01546 01550 TBool BrowserAPDefinedL(); 01551 01552 protected: // Data 01553 // ?one_line_short_description_of_data 01554 //?data_declaration; 01555 01556 private: // Data 01557 CCoeEnv* iCoeEnv; 01558 01559 // DRM engine 01560 DRMCommon* iDRMCommon; 01561 01562 // used to make launching rights manager ui synchronous 01563 CActiveSchedulerWait iWait; 01564 01565 RDRMHelper iHelperServer; 01566 01567 // is CoeEnv used 01568 TBool iUseCoeEnv; 01569 01570 // Used to read resources when CoeEnv is not available 01571 CStringResourceReader* iStringResourceReader; 01572 01573 TBool iOma2; 01574 01575 RPointerArray<CConsumeData> iConsumeList; 01576 01577 TInt iAutomatedType; 01578 01579 RFs iFs; 01580 01581 TBool iFsOwned; 01582 01583 TInt iPreviewMediaType; 01584 01585 // Used to queue up global notes 01586 RPointerArray<CDRMHelperInfoNoteWrapper> iNoteList; 01587 01588 CSchemeHandler* iSchemeHandler; 01589 01590 TBool iReturnCancel; 01591 01592 public: // Friend classes 01593 protected: // Friend classes 01594 private: // Friend classes 01595 01596 }; 01597 01598 // __DRMHELPER_H__ 01599 #endif 01600 01601 // End of File 01602