diff -r 2f67eb14d003 -r 4a2987baf8f7 harvesterplugins/media/video/src/cpixmediavideodoc.cpp --- a/harvesterplugins/media/video/src/cpixmediavideodoc.cpp Wed Jun 23 17:22:18 2010 +0100 +++ b/harvesterplugins/media/video/src/cpixmediavideodoc.cpp Mon Jun 28 11:03:15 2010 +0530 @@ -29,7 +29,8 @@ #include "cpixmediavideodocTraces.h" #endif - +_LIT( KFormatDateTime, "%04d %02d %02d %02d %02d"); // yyyy mm dd hh mm +_LIT( KExcerptFormat, "%04d/%02d/%02d %02d:%02d"); //yyyy/mm/dd hh:mm // ----------------------------------------------------------------------------- // CCPIXDocFetcher::NewL() // ----------------------------------------------------------------------------- @@ -96,14 +97,22 @@ ResetExcerpt(); //Reset excerpt initially TInt slashpos = GetUri().LocateReverse('\\'); TPtrC name = GetUri().Mid( (slashpos+1) ); - AddToFieldExcerptL(name); //Add name to excerpt field + + CMdEProperty* property(NULL); + //Add Name field to document excerpt, ONLY if title field is not empty. + CMdEPropertyDef& titlePropDef = aObjectDef.GetPropertyDefL(MdeConstants::Object::KTitleProperty ); + if(aObject.Property( titlePropDef, property ) != KErrNotFound) + { + CMdETextProperty* textProperty = ( CMdETextProperty* ) property; + if( textProperty->Value().Compare(KNullDesC) > 0 )AddToFieldExcerptL(name); //Add name to excerpt field + } + //URI and Excerpt is done add additional properties here - CMdEProperty* property(NULL); CMdEPropertyDef& descriptionPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KDescriptionProperty ); if(aObject.Property( descriptionPropDef, property ) != KErrNotFound) { //Add field to document - CMdETextProperty* textProperty = ( CMdETextProperty* ) property; + CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property ); AddFiledtoDocumentL(*index_item, MdeConstants::MediaObject::KDescriptionProperty, textProperty->Value()); @@ -113,45 +122,205 @@ if(aObject.Property( artistPropDef, property )!= KErrNotFound) { //Add field to document - CMdETextProperty* textProperty = ( CMdETextProperty* ) property; + CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property ); AddFiledtoDocumentL(*index_item, MdeConstants::MediaObject::KArtistProperty, - textProperty->Value()); + textProperty->Value(), + CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText); AddToFieldExcerptL(textProperty->Value()); } CMdEPropertyDef& authorPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KAuthorProperty ); if(aObject.Property( authorPropDef, property ) != KErrNotFound) { //Add field to document - CMdETextProperty* textProperty = ( CMdETextProperty* ) property; + CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property ); AddFiledtoDocumentL(*index_item, MdeConstants::MediaObject::KAuthorProperty, - textProperty->Value()); + textProperty->Value(), + CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText); AddToFieldExcerptL(textProperty->Value()); - } - CMdEPropertyDef& copyrightPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KCopyrightProperty ); - if(aObject.Property( copyrightPropDef, property ) != KErrNotFound) - { - //Add field to document - CMdETextProperty* textProperty = ( CMdETextProperty* ) property; - AddFiledtoDocumentL(*index_item, - MdeConstants::MediaObject::KCopyrightProperty, - textProperty->Value()); - AddToFieldExcerptL(textProperty->Value()); - } + } CMdEPropertyDef& commentPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KCommentProperty ); if(aObject.Property( commentPropDef, property ) != KErrNotFound) { //Add field to document - CMdETextProperty* textProperty = ( CMdETextProperty* ) property; + CMdETextProperty* textProperty = static_cast< CMdETextProperty* > (property ); AddFiledtoDocumentL(*index_item, MdeConstants::MediaObject::KCommentProperty, textProperty->Value()); AddToFieldExcerptL(textProperty->Value()); } - index_item->AddExcerptL(*iExcerpt); + + //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()); + } + + 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 resolution property + CMdEPropertyDef& resolutionPropDef = aObjectDef.GetPropertyDefL(MdeConstants::MediaObject::KResolutionUnitProperty ); + if(aObject.Property( resolutionPropDef, property ) != KErrNotFound) + { + //Add field to document + if( property->Def().PropertyType() == EPropertyUint16 ) + { + CMdEUint16Property& resolutionProperty = static_cast < CMdEUint16Property& > (*property ); + TBuf<32> buf; + buf.Format(_L("%d"), resolutionProperty.Value()); + AddFiledtoDocumentL(*index_item, + MdeConstants::MediaObject::KResolutionUnitProperty, + buf, + CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized); + } + } + //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()); + } + //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, + CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized); + } + } + if( iExcerpt ) + { + index_item->AddExcerptL(*iExcerpt); + } OstTraceFunctionExit0( CCPIXMEDIAVIDEODOC_GETCPIXDOCUMENTL_EXIT ); return index_item; } -