mmserv/metadatautility/Src/MetaDataParserRA.cpp
changeset 22 128eb6a32b84
parent 0 71ca22bcf22a
child 28 ebf79c79991a
equal deleted inserted replaced
16:43d09473c595 22:128eb6a32b84
    24 #endif
    24 #endif
    25 
    25 
    26 #include <s32mem.h>
    26 #include <s32mem.h>
    27 #include <hxmetadatautil.h>
    27 #include <hxmetadatautil.h>
    28 #include "MetaDataSourceFile.h"
    28 #include "MetaDataSourceFile.h"
       
    29 #include "MetaDataSourceDescriptor.h"
       
    30 
    29 
    31 
    30 
    32 
    31 // ============================ MEMBER FUNCTIONS ===============================
    33 // ============================ MEMBER FUNCTIONS ===============================
    32 
    34 
    33 // -----------------------------------------------------------------------------
    35 // -----------------------------------------------------------------------------
    49 //
    51 //
    50 void CMetaDataParserRA::ConstructL()
    52 void CMetaDataParserRA::ConstructL()
    51     {
    53     {
    52 	if ( ValidateL() )
    54 	if ( ValidateL() )
    53 		{
    55 		{
       
    56 	    iExists = TRUE;
    54 		iHxMetaDataUtility = CHXMetaDataUtility::NewL();
    57 		iHxMetaDataUtility = CHXMetaDataUtility::NewL();
    55 		}
    58 		}
    56 	else
    59 	else
    57 	    {
    60 	    {
    58 	    User::Leave(KErrNotSupported);    
    61 	    User::Leave(KErrNotSupported);    
   112 	iContainer = &aContainer;
   115 	iContainer = &aContainer;
   113 	TUint count = 0;
   116 	TUint count = 0;
   114 	HXMetaDataKeys::EHXMetaDataId id;
   117 	HXMetaDataKeys::EHXMetaDataId id;
   115 	TFileName fileName;
   118 	TFileName fileName;
   116 	
   119 	
   117 	// Determine if user entered a TDesC filename or a RFile:
   120 	//Determine CMetaDataSourceDescriptor or CMetaDataSourceFile
   118 	
   121 	CMetaDataSourceDescriptor* srcDesc = dynamic_cast<CMetaDataSourceDescriptor *>(&iSource);
   119 	if (((CMetaDataSourceFile&)iSource).IsFileHandler())
   122 	if(srcDesc)
       
   123 	{
       
   124 		const TDesC8& des = srcDesc->GetDescriptor();
       
   125 		TRAPD(err, iHxMetaDataUtility->OpenDesL(des));
       
   126 		User::LeaveIfError(err);
       
   127 	}
       
   128 	else if (((CMetaDataSourceFile&)iSource).IsFileHandler())	// Determine if user entered a TDesC filename or a RFile:
   120 	{
   129 	{
   121 		RFile rFile;
   130 		RFile rFile;
   122 		rFile.Duplicate( ((CMetaDataSourceFile&)iSource).FileHandler() );
   131 		rFile.Duplicate( ((CMetaDataSourceFile&)iSource).FileHandler() );
   123 		TRAPD(err, iHxMetaDataUtility->OpenFileL((RFile &)rFile));	// casting necessary--compile error	
   132 		TRAPD(err, iHxMetaDataUtility->OpenFileL(rFile));
   124 		rFile.Close();
   133 		rFile.Close();
   125 		User::LeaveIfError(err);
   134 		User::LeaveIfError(err);
   126 	}
   135 	}
   127 	else // filename
   136 	else // filename
   128 	{
   137 	{
   365 	}		
   374 	}		
   366 	return status;
   375 	return status;
   367 	}	
   376 	}	
   368 
   377 
   369 //  End of File
   378 //  End of File
       
   379