diff -r 9c58252c6740 -r 96d581d2147d libraries/iosrv/client/command_base.cpp --- a/libraries/iosrv/client/command_base.cpp Wed Jul 07 16:07:08 2010 +0100 +++ b/libraries/iosrv/client/command_base.cpp Fri Jul 09 10:11:55 2010 +0100 @@ -3067,7 +3067,12 @@ TOverflowTruncate overflow; aDes = _L("Error: "); aDes.AppendFormatList(aFmt, aList, &overflow); - aDes.AppendFormat(_L(" : %S (%d)\r\n"), &overflow, Stringify::Error(aError), aError); + const TDesC* errorDesc = NULL; + // See if we have an extension that knows about this error + if (iExtension) errorDesc = iExtension->StringifyError(aError); + // If the extension didn't know, fall back to Stringify::Error() to handle the system ones + if (errorDesc == NULL) errorDesc = Stringify::Error(aError); + aDes.AppendFormat(_L(" : %S (%d)\r\n"), &overflow, errorDesc, aError); } void CCommandBase::FormatWarningText(TDes& aDes, TRefByValue aFmt, VA_LIST& aList) const @@ -3835,4 +3840,19 @@ iReadHandle.CancelNotifyChange(); } - +// + +EXPORT_C TCommandExtensionVersion MCommandExtensionsV1::ExtensionVersion() const + { + return ECommandExtensionV1; + } + +EXPORT_C const TDesC* MCommandExtensionsV1::StringifyError(TInt /*aError*/) const + { + return NULL; // By default we don't have anything additional + } + +EXPORT_C void CCommandBase::SetExtension(MCommandExtensionsV1* aExtension) + { + iExtension = aExtension; + }