mmappcomponents/harvester/filehandler/inc/mpxmetadatascanner.h
branchRCL_3
changeset 23 4740b34b83ce
parent 0 a2952bb97e68
equal deleted inserted replaced
19:51035f0751c2 23:4740b34b83ce
    18 
    18 
    19 #ifndef CMPXMETADATASCANNER_H
    19 #ifndef CMPXMETADATASCANNER_H
    20 #define CMPXMETADATASCANNER_H
    20 #define CMPXMETADATASCANNER_H
    21 
    21 
    22 #include <e32base.h>
    22 #include <e32base.h>
       
    23 #include <mpxmetadataextractorobserver.h>
    23 
    24 
    24 class CMPXMedia;
    25 class CMPXMedia;
    25 class CMPXMediaArray;
    26 class CMPXMediaArray;
    26 class CMPXCollectionType;
    27 class CMPXCollectionType;
    27 class CMPXMetadataExtractor;
    28 class CMPXMetadataExtractor;
    31 enum TExtractType
    32 enum TExtractType
    32     {
    33     {
    33     ENewFiles = 0,
    34     ENewFiles = 0,
    34     EModFiles = 1,
    35     EModFiles = 1,
    35     EMaxFile  = 2
    36     EMaxFile  = 2
    36     };   
    37     };
       
    38 
    37 /**
    39 /**
    38  *  CMPXMetadataScanner
    40  *  CMPXMetadataScanner
    39  *
    41  *
    40  *  Extracts metadata from a list of files
    42  *  Extracts metadata from a list of files
    41  *
    43  *
    42  *  @lib mpxfilehandler.lib
    44  *  @lib mpxfilehandler.lib
    43  *  @since S60 3.0
    45  *  @since S60 3.0
    44  */
    46  */
    45 NONSHARABLE_CLASS( CMPXMetadataScanner ): public CActive
    47 NONSHARABLE_CLASS( CMPXMetadataScanner ): public CActive,
       
    48                                           public MMPXMetadataExtractorObserver
    46     {
    49     {
    47 public:
    50 public:
    48 
    51 
    49     /**
    52     /**
    50     * Two phased constructor
    53     * Two phased constructor
   126     
   129     
   127     /**
   130     /**
   128     * From CActive
   131     * From CActive
   129     */
   132     */
   130     void RunL();
   133     void RunL();
       
   134     
       
   135     /**
       
   136      * From MMPXMetadataExtractorObserver
       
   137      */
       
   138     void HandleCreateMediaComplete( CMPXMedia* aMedia, TInt aError );
   131 
   139 
   132 private: // New Functions
   140 private: // New Functions
   133     
   141     
   134     /**
   142     /**
   135     * Extract metadata from a few files
   143     * Extract metadata from a few files
   136     * @return ETrue if there are no more files to extract
   144     */
   137     *         EFalse otherwise
   145     void DoExtractL();
   138     */
   146     
   139     TBool DoExtractL(); 
   147     /**
       
   148      * Get source array
       
   149      */
       
   150     RPointerArray<HBufC>* GetSource();
       
   151     
       
   152     /**
       
   153      * Is metadata scanner done
       
   154      */
       
   155     TBool IsDone();
       
   156     
       
   157     /**
       
   158      * Run again
       
   159      */
       
   160     void RunAgain();
       
   161     
       
   162     /**
       
   163      * Add metadata to collection
       
   164      */
       
   165     void AddToCollectionL();
       
   166     
       
   167     /**
       
   168      * Complete metadata scanner
       
   169      */
       
   170     void MetadataScannerComplete( TInt aError );
   140         
   171         
   141 private:
   172 private:
   142 
   173 
   143     /**
   174     /**
   144     * Private Constructor
   175     * Private Constructor
   158 
   189 
   159 private: // data
   190 private: // data
   160     RPointerArray<HBufC>  iNewFiles;
   191     RPointerArray<HBufC>  iNewFiles;
   161     RPointerArray<HBufC>  iModifiedFiles;
   192     RPointerArray<HBufC>  iModifiedFiles;
   162  
   193  
   163     CMPXMediaArray* iNewFileProps;
   194     CMPXMediaArray* iTargetProps;
   164     CMPXMediaArray* iModifiedFileProps;
       
   165     
   195     
   166     TBool iExtracting;          // Are we extracting
   196     TBool iExtracting;          // Are we extracting
   167     TInt  iExtractType; // What are we extracting
   197     TInt  iExtractType; // What are we extracting
   168     TInt  iAryPos;              // Current array position
   198     TInt  iAryPos;              // Current array position
   169     
   199     
   170     CMPXMetadataExtractor* iExtractor;  // Metadata Utilities wrapper
   200     CMPXMetadataExtractor* iExtractor;  // Metadata Utilities wrapper
   171     
   201     
   172     MMPXMetadataScanObserver& iObserver;
   202     MMPXMetadataScanObserver& iObserver;
   173     MMPXFileScanStateObserver& iStateObserver;   
   203     MMPXFileScanStateObserver& iStateObserver;
   174     };
   204     };
   175 
   205 
   176 #endif // CMPXMETADATASCANNER_H
   206 #endif // CMPXMETADATASCANNER_H