--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsuis_plat/svgt_file_view_details_dialog_api/inc/svgtfileviewdetails.h Wed Sep 01 12:29:59 2010 +0100
@@ -0,0 +1,291 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Declares svg file details dialog
+*
+*/
+
+
+
+#ifndef SVGTFILEVIEWDETAILSDIALOG_H
+#define SVGTFILEVIEWDETAILSDIALOG_H
+
+// INCLUDES
+#include <e32base.h>
+#include <aknPopup.h>
+#include <SVGTDrmHelper.h>
+
+// FORWARD DECLARATIONS
+
+class CAknDoublePopupMenuStyleListBox;
+class CEikonEnv;
+
+
+// CLASS DECLARATIONS
+
+/**
+* CSvgtFileDetails
+* Container class for file details
+*/
+class CSvgtFileDetails : public CBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * C++ default constructor.
+ */
+ CSvgtFileDetails();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CSvgtFileDetails();
+
+ public: // Data
+
+ HBufC* iUrl;
+ HBufC* iFormat;
+
+ TInt iSize;
+ TTime iTime;
+
+
+ // Drm stuff
+ TBool iDrmProtected;
+ TSVGTRightsStatus iDRMRightsStatus;
+ TSVGTExpireConstraint iDRMExpireConstraint;
+ TBool iDRMForwardLocked;
+ TUint32 iDRMCountsLeft;
+
+ TBool iDRMFileHasInterval;
+ TBool iDRMIntervalActive;
+ TTimeIntervalSeconds iDRMInterval;
+
+ TTime iDRMValidFrom;
+ TTime iDRMValidUntil;
+
+ };
+
+
+
+/**
+* CSvgtFileViewDetailsDialog
+* Used to display "View Details" option
+* Makes use of SVGTdrmhelper to display the drm details
+*
+* @lib SVGTFileDetailsDialog.lib
+* @since 2.0
+*/
+class CSvgtFileViewDetailsDialog : public CBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CSvgtFileViewDetailsDialog* NewL();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CSvgtFileViewDetailsDialog();
+
+ public: // New functions
+
+
+ /**
+ * Shows file details to user in dialog.
+ * @since 3.0
+ * @param aFileHandle File handle for which usage rights info is loaded.
+ * @leaves Leaves with KErrNotSupported if file is not valid media file.
+ * @return void
+ */
+ IMPORT_C void ExecuteLD( RFile& aFileHandle );
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CSvgtFileViewDetailsDialog();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ private: // New functions
+
+ /**
+ * Sets title for CAknPopupList.
+ * @since 3.0
+ * @param aPopupList CAknPopupList which title is modified
+ * @return void
+ */
+ void SetTitleL( CAknPopupList* aPopupList ) const;
+
+ /**
+ * Fills listbox with file details information.
+ * @since 3.0
+ * @param aFileDetails File details
+ * @return void
+ */
+ void FillListBoxL( const CSvgtFileDetails* aFileDetails );
+
+ /**
+ * Adds header and value to list.
+ * @since 3.0
+ * @param aHeading Heading
+ * @param aValue Value
+ * @param aItemArray Array where value and header are added.
+ * @return void
+ */
+ void AddItemToListBoxL( const TDesC& aHeading, const TDesC& aValue,
+ CDesCArray* aItemArray ) const;
+
+
+ /**
+ * Constructs clip url item.
+ * @since 3.0
+ * @param aItemArray Array where constructed item is put.
+ * @param aFileDetails File details.
+ * @return void
+ */
+ void MakeUrlItemL( CDesCArray* aItemArray,
+ const CSvgtFileDetails* aFileDetails ) const;
+
+ /**
+ * Constructs media format item.
+ * @since 3.0
+ * @param aItemArray Array where constructed item is put.
+ * @param aFileDetails File details.
+ * @return void
+ */
+ void MakeFormatItemL( CDesCArray* aItemArray,
+ const CSvgtFileDetails* aFileDetails ) const;
+
+
+ /**
+ * Constructs file size item.
+ * @since 3.0
+ * @param aItemArray Array where constructed item is put.
+ * @param aFileDetails File details.
+ * @return void
+ */
+ void MakeSizeItemL( CDesCArray* aItemArray,
+ const CSvgtFileDetails* aFileDetails ) const;
+
+ /**
+ * Constructs date item.
+ * @since 3.0
+ * @param aItemArray Array where constructed item is put.
+ * @param aFileDetails File details.
+ * @return void
+ */
+ void MakeDateItemL( CDesCArray* aItemArray,
+ const CSvgtFileDetails* aFileDetails ) const;
+
+ /**
+ * Constructs time item.
+ * @since 3.0
+ * @param aItemArray Array where constructed item is put.
+ * @param aFileDetails File details.
+ * @return void
+ */
+ void MakeTimeItemL( CDesCArray* aItemArray,
+ const CSvgtFileDetails* aFileDetails ) const;
+ /**
+ * Converts between arabic-indic digits and european digits.
+ * @since 3.0
+ * @param aText numbers to be converted.
+ * @return void
+ */
+ void LanguageSpecificNumberConversion( TDes& aText) const;
+
+ /**
+ * Fetches drm file details.
+ * @since 3.0
+ * @param aFileHandle File handle for which usage rights info is loaded.
+ * @param aFileDetails Pointer to the details to be fetched.
+ * @return void
+ */
+ void FetchDrmDataL( RFile& aFileHandle,
+ CSvgtFileDetails* aFileDetails ) const;
+
+
+ /**
+ * Constructs DRM items.
+ * @since 3.0
+ * @param aItemArray Array where constructed item is put.
+ * @param aFileDetails File details.
+ * @return void
+ */
+ void MakeDrmItemsL( CDesCArray* aItemArray,
+ const CSvgtFileDetails* aFileDetails ) const;
+
+ /**
+ * Constructs restricted drm items. E.g. count, interval
+ * @since 3.0
+ * @param aRights Drm right type "Play"
+ * @param aItemArray Array where constructed item is put.
+ * @param aFileDetails File details.
+ * @return void
+ */
+ void MakeRestrictedDrmItemsL( const HBufC* aRights,
+ CDesCArray* aItemArray,
+ const CSvgtFileDetails* aFileDetails ) const;
+
+ /**
+ * Add a single element of time to the string array
+ * @param aNumOfElements Number of elements of the interval
+ * @param aResourceIdSingle Resource id to be used in case of
+ * single unit
+ * @param aResourceIdOneFinal Resource id to be used in case of
+ * units ending with 1, from 21
+ * (requested by Slavic languages)
+ * @param aResourceIdTwoFour Resource id to be used in case of
+ * units included from two to four, except
+ * 12-14 (requested by Slavic languages)
+ * @param aResourceIdFiveZero Resource id to be used in case of
+ * units ending from 5 to 9, plus range
+ * from 11 to 14 (requested by Slavic
+ * languages)
+ * @param aStrings Buffer where to add the element
+ */
+ void AddSinglePartOfTimeL( TInt aNumOfElements,
+ TInt aResourceIdSingle,
+ TInt aResourceIdOneFinal,
+ TInt aResourceIdTwoFour,
+ TInt aResourceIdFiveZero,
+ HBufC*& aStrings ) const;
+
+ void AddResourceFileToEnvL();
+
+ /**
+ * Shows file details to user in dialog.
+ * @since 3.0
+ * @param aFileDetails File details which are shown to user.
+ * @return void
+ */
+// void ExecuteLD( const CSvgtFileDetails* aFileDetails );
+ void DoLaunchDialogL(const CSvgtFileDetails* aFileDetails );
+
+ private: // Data
+ CAknDoublePopupMenuStyleListBox* iListBox;
+ CEikonEnv* iEnv;
+ TInt iResOffset;
+ };
+
+#endif //SVGTFILEVIEWDETAILSDIALOG_H
+
+// End of File