diff -r 2c28af138640 -r c6215323ad55 accessoryservices/pluggeddisplay/edidparser/src/edidparserbase.cpp --- a/accessoryservices/pluggeddisplay/edidparser/src/edidparserbase.cpp Wed Jun 23 19:38:32 2010 +0300 +++ b/accessoryservices/pluggeddisplay/edidparser/src/edidparserbase.cpp Tue Jul 06 15:43:30 2010 +0300 @@ -52,8 +52,10 @@ // Make a copy of base EDID data Mem::Copy( &iBaseEdidData, rawPtr.Ptr(), KEdidParserSizeOfEdidBlock ); - - TRACE_EDID_DATA( *this ); + + iRawdataLength = aBinaryData.Length(); + + //TRACE_EDID_DATA( *this ); } // --------------------------------------------------------------------------- @@ -761,6 +763,51 @@ return parser; } +EXPORT_C void CEdidParserBase::UpdateRawDataL( const TDesC8& aBinaryData ) + { + FUNC_LOG; + + if ( iRawData ) + { + iRawData = iRawData->ReAllocL( iRawdataLength + aBinaryData.Length() ); + + TPtr8 rawPtr = iRawData->Des(); + rawPtr.Append( aBinaryData ); + } + else + { + iRawData = HBufC8::NewL( aBinaryData.Length() ); + TPtr8 rawPtr = iRawData->Des(); + rawPtr.Copy( aBinaryData ); + } + + iRawdataLength = iRawdataLength + aBinaryData.Length(); + } + +EXPORT_C void CEdidParserBase::UpdateCea861ExtensionL( TInt aNumber, CCea861EdidParser* aParser ) + { + FUNC_LOG; + + TInt ext = GetExtensionType( aNumber ); + switch( ext ) + { + case ECea861Ext: + { + // CEA 861 extension + if( aParser ) + { + aParser->ParseExtensionBlockL( iExtensionData ); + } + break; + } + default: + { + // Not supported + break; + } + } + } + // --------------------------------------------------------------------------- // CEdidParserBase::GetChecksum // ---------------------------------------------------------------------------