CConverterBase2 Class Reference

class CConverterBase2 : public CConverterBase

Base Class for Ecom Style Converters The methods in CConverterBase2 are inherited from CConverterBase

There are two flavours of conversion methods:

the synchronous interfaces, ConvertL() and ConvertObjectL() , which perform the specified conversion and then return

the asynchronous interfaces, ConvertAL() and ConvertObjectAL() , which initialise the converter object, and allow the client code to call DoConvertL() a number of times until the conversion is complete or abandoned.

Inherits from

Constructor & Destructor Documentation

~CConverterBase2()

IMPORT_C ~CConverterBase2 ( ) [virtual]

Member Functions Documentation

CancelConvert()

IMPORT_C void CancelConvert ( ) [virtual]

Cleans up a conversion that has been prepared or is in progress.

It should free any resources and reset the converter object to an initial state.

The default is to do nothing.

Capabilities()

IMPORT_C TInt Capabilities ( ) [virtual]

Gets the converter's capabilities.

The default is to return a bitmask of all the TCapability flags.

ConvertAL(const TFileName &, const TFileName &, MConverterUiObserver *)

IMPORT_C void ConvertAL ( const TFileName & aSourceFile,
const TFileName & aTargetFile,
MConverterUiObserver * aObserver = NULL
) [virtual]

Prepares for conversion in multiple steps of a file.

Clients must call this function before calling DoConvertL() one or more times to do the conversion. The function can call back the MaxSteps() function of the supplied MConverterUiObserver to tell the client the maximum number of calls to DoConvertL() that will be required.

The rest of this description describes how to implement this function.

The function should initialise the object before performing a conversion, but should not do the conversion itself. Such initialisation should include:

storing the MConverterUiObserver pointer (if supplied), so the client can later be notified of conversion progress

validating the integrity of the input data

optionally, creating the appropriate application engine, either for input or output, to enable access to the data

determining the number of steps (i.e. calls to DoConvertL() ) required to perform the conversion and pass this to the client by calling MConverterUiObserver::MaxSteps()

The default implementation leaves with KErrNotSupported.

leave
KErrNotSupported File conversion is not supported

Parameters

const TFileName & aSourceFile File to convert
const TFileName & aTargetFile File to which to write the converted output. The file can be overwritten if it already exists.
MConverterUiObserver * aObserver = NULL Observer of the conversion process

ConvertL(const TFileName &, const TFileName &, MConverterUiObserver *)

IMPORT_C void ConvertL ( const TFileName & aSourceFile,
const TFileName & aTargetFile,
MConverterUiObserver * aObserver = NULL
) [virtual]

Converts a file in a single step.

The caller can supply a MConverterUiObserver to be informed of progress in the conversion.

The default implementation calls ConvertAL() to prepare the object to perform the conversion, and then calls DoConvertL() in a loop until conversion is complete.

leave
KErrNotSupported File conversion is not supported

Parameters

const TFileName & aSourceFile File to convert
const TFileName & aTargetFile File to which to write the converted output
MConverterUiObserver * aObserver = NULL Optional observer of the conversion process

ConvertObjectAL(RReadStream &, RWriteStream &, MConverterUiObserver *)

IMPORT_C void ConvertObjectAL ( RReadStream & aReadStream,
RWriteStream & aWriteStream,
MConverterUiObserver * aObserver = NULL
) [virtual]

Prepares for conversion in multiple steps of a stream object.

Clients must call this function before calling DoConvertL() one or more times to do the conversion. The function can call back the MaxSteps() function of the supplied MConverterUiObserver to tell the client the maximum number of calls to DoConvertL() that will be required.

For a description of how to implement this function, see ConvertAL() .

leave
KErrNotSupported Stream object conversion is not supported

Parameters

RReadStream & aReadStream Stream from which to read the data to convert
RWriteStream & aWriteStream Stream to which to write the converted data
MConverterUiObserver * aObserver = NULL Optional observer of the conversion process

ConvertObjectL(RReadStream &, RWriteStream &, MConverterUiObserver *)

IMPORT_C void ConvertObjectL ( RReadStream & aReadStream,
RWriteStream & aWriteStream,
MConverterUiObserver * aObserver = NULL
) [virtual]

Converts a stream object in a single step.

The caller can supply a MConverterUiObserver to be informed of progress in the conversion.

The default implementation calls ConvertObjectAL() to prepare the object to perform the conversion, and then calls DoConvertL() in a loop until conversion is complete.

Parameters

RReadStream & aReadStream Stream from which to read the data to convert
RWriteStream & aWriteStream Stream to which to write the converted data
MConverterUiObserver * aObserver = NULL Optional observer of the conversion process

CreateConverterL(TUid)

CConverterBase2 * CreateConverterL ( TUid aImplUid ) [static]

Parameters

TUid aImplUid

DoConvertL()

IMPORT_C TBool DoConvertL ( ) [virtual]

Performs a step in converting the data.

The function advances a step in converting the data each time that it is called. When conversion is complete, the function returns EFalse.

EmbeddedObjectL(TDataType &)

IMPORT_C CConverterBase * EmbeddedObjectL ( TDataType & aType ) [virtual]

Gets a converter for an embedded object of the specified type.

The default is to return NULL.

Parameters

TDataType & aType Type of the embedded object

ExtendedInterfaceL(TUid, CBase *&)

IMPORT_C void ExtendedInterfaceL ( TUid aInterfaceUid,
CBase *& aInterface
) [virtual]

Allows licensees to extend the Converter Architecture API.

If overridden by the converter, it allows third party code to request the extended interface object by UID. If not overridden, the default implementation does nothing.

Parameters

TUid aInterfaceUid A UID that identifies the required extended interface object.
CBase *& aInterface On return, an object that extends the Converter Architecture interface, or NULL, if the UID specified is not recognised.

GetEmbeddedFileName(TFileName &)

IMPORT_C TBool GetEmbeddedFileName ( TFileName & aFileName ) [virtual]

Gets a filename embedded in the object.

Parameters

TFileName & aFileName The file name found

Reserved_1()

IMPORT_C void Reserved_1 ( ) [virtual]

Reserved_2()

IMPORT_C void Reserved_2 ( ) [virtual]

Uid()

TUid Uid ( ) [pure virtual]

Gets the converter's UID.

Member Data Documentation

TUid iDestructionKey

TUid iDestructionKey [private]

TInt iSpare

TInt iSpare [private]