harvesterplugins/media/audio/src/cpixmediaaudiodoc.cpp
changeset 11 773be20e0a25
parent 5 3bc31ad99ee7
child 13 0a2ec6860a93
child 17 7d8c8d8f5eab
--- a/harvesterplugins/media/audio/src/cpixmediaaudiodoc.cpp	Fri Jun 11 13:39:26 2010 +0300
+++ b/harvesterplugins/media/audio/src/cpixmediaaudiodoc.cpp	Wed Jun 23 18:13:49 2010 +0300
@@ -29,7 +29,8 @@
 #include "cpixmediaaudiodocTraces.h"
 #endif
 
-
+_LIT( KFormatDateTime, "%04d %02d %02d %02d %02d");    // yyyy mm dd hh mm
+_LIT( KExcerptFormat, "%04d/%02d/%02d %02d:%02d");
 // -----------------------------------------------------------------------------
 // CCPIXDocFetcher::NewL()
 // -----------------------------------------------------------------------------
@@ -101,56 +102,243 @@
     //additional properties here 
     CMdEProperty* property(NULL);
     CMdEPropertyDef& artistPropDef1 = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KArtistProperty );
-        if(aObject.Property( artistPropDef1, property ) != KErrNotFound)
-           {
-           //Add field to document
-           CMdETextProperty* textProperty = ( CMdETextProperty* ) property;
-           AddFiledtoDocumentL(*index_item,
-                                 MdeConstants::MediaObject::KArtistProperty,
-                                 textProperty->Value());
-           AddToFieldExcerptL(textProperty->Value());//Add artist to excerpt
-           }
+    if(aObject.Property( artistPropDef1, property ) != KErrNotFound)
+       {
+       //Add field to document
+       CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property );
+       AddFiledtoDocumentL(*index_item,
+                             MdeConstants::MediaObject::KArtistProperty,
+                             textProperty->Value(),
+                             CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText);
+       AddToFieldExcerptL(textProperty->Value());//Add artist to excerpt
+       }
     CMdEPropertyDef& albumPropDef = aObjectDef.GetPropertyDefL(MdeConstants::Audio::KAlbumProperty );
     if(aObject.Property( albumPropDef, property )!= KErrNotFound)
        {
        //Add field to document
-       CMdETextProperty* textProperty = ( CMdETextProperty* ) property;
+       CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property);
        AddFiledtoDocumentL(*index_item,
                            MdeConstants::Audio::KAlbumProperty,
-                           textProperty->Value());
+                           textProperty->Value(),
+                           CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText);
        AddToFieldExcerptL(textProperty->Value());//Add Album to excerpt
        }
+    
     CMdEPropertyDef& artistPropDef = aObjectDef.GetPropertyDefL(MdeConstants::Audio::KAlbumArtistProperty );
     if(aObject.Property( artistPropDef, property ) != KErrNotFound)
-      {
-      //Add field to document
-      CMdETextProperty* textProperty = ( CMdETextProperty* ) property;
-      AddFiledtoDocumentL(*index_item,
-                         MdeConstants::Audio::KAlbumArtistProperty,
-                         textProperty->Value());
-      AddToFieldExcerptL(textProperty->Value());//Add Albumartist to excerpt
-      }
+       {
+       //Add field to document
+       CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property );
+       AddFiledtoDocumentL(*index_item,
+                     MdeConstants::Audio::KAlbumArtistProperty,
+                     textProperty->Value(),
+                     CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText);
+       AddToFieldExcerptL(textProperty->Value());//Add Albumartist to excerpt
+       }
+    //orginal artist property
     CMdEPropertyDef& origartistPropDef = aObjectDef.GetPropertyDefL(MdeConstants::Audio::KOriginalArtistProperty );
     if(aObject.Property( origartistPropDef, property ) != KErrNotFound)
      {
      //Add field to document
-     CMdETextProperty* textProperty = ( CMdETextProperty* ) property;
+     CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property );
      AddFiledtoDocumentL(*index_item,
                       MdeConstants::Audio::KOriginalArtistProperty,
-                      textProperty->Value());
+                      textProperty->Value(),
+                      CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText);
      AddToFieldExcerptL(textProperty->Value());//Add Original to excerpt
-     }   
+     }
+    //Get composer property
     CMdEPropertyDef& composerPropDef = aObjectDef.GetPropertyDefL(MdeConstants::Audio::KComposerProperty );
     if(aObject.Property( composerPropDef, property ) != KErrNotFound)
     {
     //Add field to document
-    CMdETextProperty* textProperty = ( CMdETextProperty* ) property;
+    CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property );
     AddFiledtoDocumentL(*index_item,
                   MdeConstants::Audio::KComposerProperty,
-                  textProperty->Value());
+                  textProperty->Value(),
+                  CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText);
     AddToFieldExcerptL(textProperty->Value());//Add composer to excerpt
     }
-    index_item->AddExcerptL(*iExcerpt);   
+    //Get author property
+    CMdEPropertyDef& authorPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KAuthorProperty );
+    if(aObject.Property( authorPropDef, property ) != KErrNotFound)
+       {
+       //Add field to document
+       CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property );
+       AddFiledtoDocumentL(*index_item,
+                         MdeConstants::MediaObject::KAuthorProperty,
+                         textProperty->Value(),
+                         CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText);
+       AddToFieldExcerptL(textProperty->Value());
+       }    
+     //Get comment property   
+    CMdEPropertyDef& commentPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KCommentProperty );
+    if(aObject.Property( commentPropDef, property ) != KErrNotFound)
+       {
+       //Add field to document
+       CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property );
+       AddFiledtoDocumentL(*index_item,
+                   MdeConstants::MediaObject::KCommentProperty,
+                   textProperty->Value());
+       AddToFieldExcerptL(textProperty->Value());
+       }
+        
+    //Get description property
+    CMdEPropertyDef& descriprionPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KDescriptionProperty );
+    if(aObject.Property( descriprionPropDef, property ) != KErrNotFound)
+       {
+       //Add field to document
+       CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property );
+       AddFiledtoDocumentL(*index_item,
+                   MdeConstants::MediaObject::KDescriptionProperty,
+                   textProperty->Value());
+       AddToFieldExcerptL(textProperty->Value());
+       }
+    //Copyright property    
+    CMdEPropertyDef& copyrightPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KCopyrightProperty );
+    if(aObject.Property( copyrightPropDef, property ) != KErrNotFound)
+       {
+       //Add field to document
+       CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property );
+       AddFiledtoDocumentL(*index_item,
+                      MdeConstants::MediaObject::KCopyrightProperty,
+                      textProperty->Value());
+       AddToFieldExcerptL(textProperty->Value());
+       } 
+    //Get genre property
+    CMdEPropertyDef& genrePropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KGenreProperty );
+    if(aObject.Property( genrePropDef, property ) != KErrNotFound)
+       {
+       //Add field to document
+       CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property );
+       AddFiledtoDocumentL(*index_item,
+                   MdeConstants::MediaObject::KGenreProperty,
+                   textProperty->Value());
+       AddToFieldExcerptL(textProperty->Value());
+       }
+    
+    //Size property
+    CMdEPropertyDef& sizePropDef = aObjectDef.GetPropertyDefL(MdeConstants::Object::KSizeProperty);
+    if(aObject.Property( sizePropDef, property )!= KErrNotFound)
+       {
+       //Add field to document
+       if( property->Def().PropertyType() == EPropertyUint32 )
+           {
+           CMdEUint32Property& sizeProperty = static_cast < CMdEUint32Property& > (*property );
+           TBuf<32> buf;
+           buf.Format(_L("%u"), sizeProperty.Value());
+           AddFiledtoDocumentL(*index_item,
+                           MdeConstants::Object::KSizeProperty,
+                           buf,
+                           CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized);
+           AddToFieldExcerptL(buf);
+           }
+       }
+    
+    //Get legal property
+    CMdEPropertyDef& legalPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KLegalProperty );
+    if(aObject.Property( legalPropDef, property ) != KErrNotFound)
+       {
+       //Add field to document
+       CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property );
+       AddFiledtoDocumentL(*index_item,
+                   MdeConstants::MediaObject::KLegalProperty,
+                   textProperty->Value());
+       AddToFieldExcerptL(textProperty->Value());
+       }
+    //Get track property
+    CMdEPropertyDef& trackPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KTrackProperty );
+    if(aObject.Property( trackPropDef, property ) != KErrNotFound)
+       {
+       //Add field to document       
+       if( property->Def().PropertyType() == EPropertyUint16 )
+           {
+           CMdEUint16Property& trackProperty = static_cast < CMdEUint16Property& > (*property );               
+           TBuf<32> buf;
+           buf.Format(_L("%d"), trackProperty.Value());
+           AddFiledtoDocumentL(*index_item,
+                              MdeConstants::MediaObject::KTrackProperty,
+                              buf);
+           }       
+       }
+    // Capturedate property
+    CMdEPropertyDef& captureDatePropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KCaptureDateProperty);
+    if(aObject.Property( captureDatePropDef, property ) != KErrNotFound)
+      {
+      //Add field to document
+      if(EPropertyTime == property->Def().PropertyType())
+          {
+          CMdETimeProperty& timeProperty = static_cast < CMdETimeProperty& > (*property);
+          TDateTime time = timeProperty.Value().DateTime();
+          TBuf<32> buf;
+          buf.Format( KFormatDateTime, time.Year(), 
+                                       time.Month() + 1, 
+                                       time.Day() + 1, 
+                                       time.Hour(), 
+                                       time.Minute());
+          
+          AddFiledtoDocumentL(*index_item,
+                             MdeConstants::MediaObject::KCaptureDateProperty,
+                             buf,
+                             CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized);
+          
+          //Format for excerpt field
+          buf.Format( KExcerptFormat, time.Year(), 
+                                     time.Month() + 1, 
+                                     time.Day() + 1, 
+                                     time.Hour(), 
+                                     time.Minute());
+          AddToFieldExcerptL(buf);
+          }
+      }
+    //Get LastModifiedDate property
+    CMdEPropertyDef& dateTimePropDef = aObjectDef.GetPropertyDefL(MdeConstants::Object::KLastModifiedDateProperty);
+    if(aObject.Property( dateTimePropDef, property ) != KErrNotFound)
+      {
+      //Add field to document
+      if(EPropertyTime == property->Def().PropertyType())
+          {
+          CMdETimeProperty& timeProperty = static_cast < CMdETimeProperty& > (*property);
+          TDateTime time = timeProperty.Value().DateTime();
+          TBuf<32> buf;
+          buf.Format( KFormatDateTime, time.Year(),
+                                       time.Month() + 1,
+                                       time.Day() + 1,
+                                       time.Hour(),
+                                       time.Minute());
+          
+          AddFiledtoDocumentL(*index_item,
+                             MdeConstants::Object::KLastModifiedDateProperty,
+                             buf,
+                             CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized);
+          //Format for excerpt field
+          buf.Format( KExcerptFormat, time.Year(), 
+                                   time.Month() + 1, 
+                                   time.Day() + 1, 
+                                   time.Hour(), 
+                                   time.Minute());
+          AddToFieldExcerptL(buf);
+          }
+      }
+    //Get duration property
+    CMdEPropertyDef& durationPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KDurationProperty );
+    if(aObject.Property( durationPropDef, property ) != KErrNotFound)
+       {        
+       //Add field to document
+       if( property->Def().PropertyType() == EPropertyReal32 )
+           {
+           CMdEReal32Property& durationProperty = static_cast < CMdEReal32Property& > (*property );               
+           TBuf<32> buf;
+           buf.Format(_L("%f"), durationProperty.Value());
+           AddFiledtoDocumentL(*index_item,
+                          MdeConstants::MediaObject::KDurationProperty,
+                          buf );
+           }       
+       }
+    if( iExcerpt )
+        {
+        index_item->AddExcerptL(*iExcerpt);
+        }
     CPIXLOGSTRING("END CCPIXMediaAudioDoc::GetCpixDocumentL");
     OstTraceFunctionExit0( CCPIXMEDIAAUDIODOC_GETCPIXDOCUMENTL_EXIT );
     return index_item;