videofeeds/hgvodui/inc/vcxhgvodutils.h
changeset 0 96612d01cf9f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/hgvodui/inc/vcxhgvodutils.h	Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,177 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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:    HG VOD utility class*
+*/
+
+
+
+
+#ifndef VCXHGVODUTILS_H
+#define VCXHGVODUTILS_H
+
+#include <coemain.h>
+#include "vcxnscontent.h"
+
+class CVcxNsCategory;
+
+//CONSTS
+//Max length of date string 
+const TInt KVcxNsMaxDateBufSize = 32;
+//Max length of time string 
+const TInt KVcxNsMaxTimeBufSize = 32;
+//Empty space string
+_LIT( KVcxNsSpaceString, " " );
+_LIT( KVcxNsDownloadProgressFormatString, "%d" );
+//search category's custom id. Dont want to link this to iptvutil.h
+const TUint32 KVcxNsSearchCategoryId = KMaxTUint32 - 1;
+//The size of the buffer
+const TUint KScrollerBufferSize = 150;
+//The minimum change needed for buffer to be modified
+const TUint KScrollerBufferTreshold = 30;
+
+// CLASS DECLARATION
+/**
+ * Utility class for VOD UI common use
+ *
+ *  @code
+ *   
+ *  @endcode
+ *
+ *  @lib vcxhgvodui.lib
+ *  @since S60 v5.0
+ */
+NONSHARABLE_CLASS( CVcxHgVodUtils ): public CBase
+    {
+public:
+
+    /**
+     * Screen resolutions.
+     */
+    enum TVcxScreenResolution
+        {
+        EVcxScreenResolutionUnknown = 0,
+        EVcxScreenResolutionQVGA,
+        EVcxScreenResolutionQHD,
+        EVcxScreenResolutionVGA
+        };
+
+public:
+    
+// New functions
+    
+    /**
+     * Returns current screen resolution (QVGA,QHD,VGA).
+     * 
+     * @param aCoeEnv Pointer to Coe Env.
+     * @return Screen resolution.
+     */
+    static TVcxScreenResolution GetScreenResolution( CCoeEnv* aCoeEnv );    
+
+     /**
+      * Load a resource string 
+      * 
+      * @param aResourceId Resource id
+      */
+    static HBufC* LoadStringFromResourceLC( TInt aResourceId );
+
+     /**
+      * Load a resource string 
+      * @param aResourceId Resource id
+      * @param aDesc Descriptor to replace the variable from resource string
+      */
+    static HBufC* LoadStringFromResourceLC( TInt aResourceId, const TDesC& aDesc );
+    
+    /**
+     * Load a resource string 
+     * @param aResourceId Resource id
+     * @param aNum Number to replace the variable from resource string
+     */
+    static HBufC* LoadStringFromResourceLC( TInt aResourceId, const TInt aNum );
+   
+   /**
+     * Format the given time to a text
+     */
+    static void FormatDateAndTimeL( TTime& aTime, TDes& aFormattedString );
+    
+    /**
+     * Format given size to required UI format
+     * @param aLength Content length in time
+     * @param aSize Content size
+     * @param aFormattedLength On return, formatted string  
+     */    
+    static void FormatLengthAndSizeL( TUint32 aLength, 
+                                      TUint32 aSize, 
+                                      TDes& aFormattedString );
+
+    /**
+     * Format given download state to required UI format
+     * @param aStatus Status of the content's download
+     * @param aFormattedLength On return, formatted string  
+     */    
+    static void FormatDownloadStateL( CVcxNsContent::TVcxContentDlStatus aStatus,
+                                      TInt aProgress,
+                                      TDes& aFormattedString );
+    
+    /**
+     * Format Category's name to a text
+     */
+    static HBufC* ResolveCategoryNameLC( CVcxNsCategory& aCategory );
+    
+    /**
+     * Format Category's info to a text
+     */
+    static HBufC* ResolveCategoryInfoLC( CVcxNsCategory& aCategory );
+    
+    /**
+     * Is the given category a search category
+     */
+    static TBool IsSearchCategory( CVcxNsCategory& aCategory );
+    
+    /**
+     * Get number of email accounts defined
+     *
+     */
+    static TBool IsDefaultSmtpAccountDefinedL();
+
+    /**
+     * Send link using SMS or Email service.
+     *
+     * @param aLink The link to share
+     * @param aMessageTypeModule MTM service Uid
+     * @param aEikonEnv Eikon env
+     *
+     */
+    static void ShareLinkL( 
+            const TDesC& aLink, 
+            const TUid aMessageTypeModule,
+            CEikonEnv& aEikonEnv );    
+
+    static CGulIcon* DuplicateGulIconL( CGulIcon* aIcon );
+    
+private:    
+    
+    /**
+     * Default constructor
+     *
+     */
+    CVcxHgVodUtils( );
+
+    /**
+    * Destructor.
+    */
+    virtual ~CVcxHgVodUtils();
+
+    };
+
+#endif // VCXHGVODCATEGORYLISTIMPL_H