videofeeds/clientapi/inc/CIptvMyVideosVideoBriefDetails.h
changeset 0 96612d01cf9f
equal deleted inserted replaced
-1:000000000000 0:96612d01cf9f
       
     1 /*
       
     2 * Copyright (c) 2006 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 the License "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:    Defines data class structure for the API.*
       
    15 */
       
    16 
       
    17 
       
    18 
       
    19 
       
    20 #ifndef CIPTVMYVIDEOSVIDEOBRIEFDETAILS_H
       
    21 #define CIPTVMYVIDEOSVIDEOBRIEFDETAILS_H
       
    22 
       
    23 // INCLUDES
       
    24 #include <e32std.h>
       
    25 #include "CIptvUtil.h"
       
    26 #include "CIptvMyVideosGlobalFileId.h"
       
    27 
       
    28 class RWriteStream;
       
    29 class RReadStream;
       
    30 
       
    31 // DATA TYPES
       
    32 
       
    33 typedef enum // Video flags
       
    34     {
       
    35     EIptvMyVideosVideoNew                = 0x00000001, // New video flag.
       
    36     EIptvMyVideosVideoScheduledDownload  = 0x00000002, // Scheduled flag, not downloaded yet.
       
    37     EIptvMyVideosVideoDownloading        = 0x00000004, // Downloading ongoing at the moment flag.
       
    38     EIptvMyVideosVideoDeleteWarning      = 0x00000008, // Deletion warning flag.
       
    39     EIptvMyVideosVideoProtected          = 0x00000010, // Protection flag.
       
    40     EIptvMyVideosVideoMarked             = 0x00000020, // Marked flag.
       
    41     EIptvMyVideosVideoDrmProtected       = 0x00000040, // DRM protection flag.
       
    42     EIptvMyVideosVideoMemoryCard         = 0x00000080, // Video located at the memorycard flag.
       
    43     EIptvMyVideosVideoDownloadFailed     = 0x00000100, // Download failed, but started flag.
       
    44     EIptvMyVideosVideoDownloadPaused     = 0x00000200, // Download paused.
       
    45     EIptvMyVideosVideoTypeRecording      = 0x00000400, // Video type is recording. // DUPLICATE in harvesterrtpmetadatarader.h : do not change this!
       
    46     EIptvMyVideosVideoIsRecording        = 0x00000800, // Video is being recorded. // DUPLICATE in harvesterrtpmetadatarader.h : do not change this!
       
    47     EIptvMyVideosVideoTypeMtp            = 0x00001000, // Deprecated.
       
    48     EIptvMyVideosVideoTypeDownload       = 0x00002000, // Video is originated from VC download.
       
    49     EIptvMyVideosVideoTypeGallery        = 0x00004000, // Video is originated from Gallery.
       
    50     EIptvMyVideosVideoTypeOther          = 0x00008000, // Video's origin is unknown.
       
    51     EIptvMyVideosVideoPreview            = 0x00010000, // Preview, not full clip.
       
    52     EIptvMyVideosVideoRecPartiallyFailed = 0x00020000, // Recording partially failed  // DUPLICATE in harvesterrtpmetadatarader.h : do not change this!
       
    53     EIptvMyVideosVideoRecFailed          = 0x00040000  // Recording failed  // DUPLICATE in harvesterrtpmetadatarader.h : do not change this!
       
    54     } TIptvMyVideosVideoFlags;
       
    55     
       
    56 
       
    57 // CLASS DECLARATION
       
    58     
       
    59 /**
       
    60 * Defines data class structure for the API.
       
    61 *
       
    62 * @lib IptvClientApi.dll
       
    63 */
       
    64 class CIptvMyVideosVideoBriefDetails : public CBase
       
    65     {
       
    66     public:
       
    67 
       
    68         /**
       
    69          * Two-phased constructor.
       
    70          *
       
    71          * @return New CIptvMyVideosVideoBriefDetails object.
       
    72          */
       
    73         IMPORT_C static CIptvMyVideosVideoBriefDetails* NewL();
       
    74 
       
    75         /**
       
    76          * Two-phased constructor.
       
    77          *
       
    78          * @return New CIptvMyVideosVideoBriefDetails object.         
       
    79          */
       
    80         IMPORT_C static CIptvMyVideosVideoBriefDetails* NewLC();
       
    81 
       
    82         /**
       
    83          * Destructor.
       
    84          */
       
    85         virtual ~CIptvMyVideosVideoBriefDetails();
       
    86 
       
    87         /**
       
    88          * Externalize.
       
    89          *
       
    90          * @param aStream Stream to externalize object to.
       
    91          */
       
    92         IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
       
    93 
       
    94         /**
       
    95          * Internalize.
       
    96          *
       
    97          * @param aStream Stream to internalize object from.
       
    98          */
       
    99         IMPORT_C void InternalizeL(RReadStream& aStream);
       
   100 
       
   101         /**
       
   102          * Count externalized size.
       
   103          *
       
   104          * @return Externalized size.
       
   105          */
       
   106         IMPORT_C TUint32 CountExternalizeSize();
       
   107 
       
   108         /**
       
   109          * Return the file size of the video.
       
   110          *
       
   111          * @return The file size of the video.
       
   112          */
       
   113         IMPORT_C TInt FileSize();
       
   114 
       
   115         /**
       
   116          * Set the file size of the video.
       
   117          *
       
   118          * @param aSize The file size of the video.
       
   119          */
       
   120         IMPORT_C void SetFileSize( TInt aSize );
       
   121 
       
   122         /**
       
   123          * Get play time.
       
   124          *
       
   125          * @return The play time in seconds.
       
   126          */
       
   127         IMPORT_C TReal32 PlayTime();
       
   128 
       
   129         /**
       
   130          * Set play time.
       
   131          *
       
   132          * @param aPlayTime The play time in seconds.
       
   133          */
       
   134         IMPORT_C void SetPlayTime( TReal32 aPlayTime );
       
   135 
       
   136         /**
       
   137          * Set thumbnail path. KIptvEpgCategoryIconFilePathMaxLength is the
       
   138          * maximum length.
       
   139          *
       
   140          * @param aThumbnailPath ThumbnailPath
       
   141          */
       
   142         IMPORT_C void SetThumbnailPathL( const TDesC& aThumbnailPath );
       
   143 
       
   144         /**
       
   145          * Gets thumbnail path.
       
   146          *
       
   147          * @return tumbnail path.
       
   148          */
       
   149         IMPORT_C const TDesC& ThumbnailPath() const;
       
   150 
       
   151         /**
       
   152          * Set name. KIptvMyVideosNameMaxLength is the
       
   153          * maximum length.
       
   154          *
       
   155          * @param aName Name
       
   156          */
       
   157         IMPORT_C void SetNameL( const TDesC& aName );
       
   158 
       
   159         /**
       
   160          * Gets name.
       
   161          *
       
   162          * @return name.
       
   163          */
       
   164         IMPORT_C const TDesC& Name() const;
       
   165 
       
   166     public: // Data members
       
   167 
       
   168         /**        
       
   169          * Global file ID identifier.
       
   170          */
       
   171         CIptvMyVideosGlobalFileId* iFileId;        
       
   172 
       
   173         /**        
       
   174          * Video flags, see TIptvMyVideosVideoFlags.
       
   175          */
       
   176         TUint32 iVideoFlags;    
       
   177 
       
   178         /**        
       
   179          * Download time.
       
   180          */
       
   181         TDateTime iDownloadTime;  
       
   182 
       
   183         /**        
       
   184          * Original content ID (from service provider data).
       
   185          */
       
   186         TIptvContentId iContentId;
       
   187 
       
   188         /**        
       
   189          * Original service provider.
       
   190          */
       
   191         TIptvServiceId iServiceId;
       
   192 
       
   193         /**        
       
   194          * Age profile / rating age.
       
   195          */
       
   196         TUint32 iAgeProfile;
       
   197 
       
   198     protected:
       
   199 
       
   200         /**        
       
   201          * The size of the file.
       
   202          */
       
   203         TInt iFileSize;
       
   204 
       
   205         /**        
       
   206          * Video play time.
       
   207          */
       
   208         TReal32 iPlayTime;      
       
   209 
       
   210         /**        
       
   211          * Thumbnail path.
       
   212          */
       
   213         HBufC* iThumbnailPath; 
       
   214 
       
   215         /**        
       
   216          * Video name.
       
   217          */
       
   218         HBufC* iName;
       
   219 
       
   220     protected:
       
   221 
       
   222         /**
       
   223          * C++ default constructor.
       
   224          */
       
   225         CIptvMyVideosVideoBriefDetails();
       
   226 
       
   227         /**
       
   228          * Symbian 2nd phase constructor.
       
   229          */
       
   230         void ConstructL();
       
   231     
       
   232     };
       
   233 
       
   234 #endif // CIPTVMYVIDEOSVIDEOBRIEFDETAILS_H
       
   235 
       
   236 // End of File