diff -r 43d09473c595 -r 128eb6a32b84 mmserv/metadatautility/Src/MetaDataParserRA.cpp --- a/mmserv/metadatautility/Src/MetaDataParserRA.cpp Fri May 14 16:22:35 2010 +0300 +++ b/mmserv/metadatautility/Src/MetaDataParserRA.cpp Thu May 27 13:20:50 2010 +0300 @@ -26,6 +26,8 @@ #include #include #include "MetaDataSourceFile.h" +#include "MetaDataSourceDescriptor.h" + // ============================ MEMBER FUNCTIONS =============================== @@ -51,6 +53,7 @@ { if ( ValidateL() ) { + iExists = TRUE; iHxMetaDataUtility = CHXMetaDataUtility::NewL(); } else @@ -114,13 +117,19 @@ HXMetaDataKeys::EHXMetaDataId id; TFileName fileName; - // Determine if user entered a TDesC filename or a RFile: - - if (((CMetaDataSourceFile&)iSource).IsFileHandler()) + //Determine CMetaDataSourceDescriptor or CMetaDataSourceFile + CMetaDataSourceDescriptor* srcDesc = dynamic_cast(&iSource); + if(srcDesc) + { + const TDesC8& des = srcDesc->GetDescriptor(); + TRAPD(err, iHxMetaDataUtility->OpenDesL(des)); + User::LeaveIfError(err); + } + else if (((CMetaDataSourceFile&)iSource).IsFileHandler()) // Determine if user entered a TDesC filename or a RFile: { RFile rFile; rFile.Duplicate( ((CMetaDataSourceFile&)iSource).FileHandler() ); - TRAPD(err, iHxMetaDataUtility->OpenFileL((RFile &)rFile)); // casting necessary--compile error + TRAPD(err, iHxMetaDataUtility->OpenFileL(rFile)); rFile.Close(); User::LeaveIfError(err); } @@ -367,3 +376,4 @@ } // End of File +