S60 3rd Edition API Reference: drmhelper.h Source File

drmhelper.h

Go to the documentation of this file.
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 

Copyright © Nokia Corporation 2001-2007
Back to top