CConverterBase Class Reference

#include <mw/conarc.h>

Link against: conarc.lib

class CConverterBase : public CBase

Inherits from

  • CConverterBase

    Detailed Description

    For Ecom Style Converters i.e.,for v9.1 and above CConverterBase2 should be used.

    Polymorphic interface for converters from one data format to another.

    Clients use this interface to access data converters. The implementator of a data converter derives a class from this in which to implement the appropriate conversion functionality.

    The interface offers conversions between files, and between objects that support the stream interfaces, e.g. stream stores.

    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.

    See also: CConverterBase2

    Member Enumeration Documentation

    Enum TCapability

    Bitmask values that describe the capabilities of the converter.

    EnumeratorValueDescription
    EConvertsFiles0x01

    The converter can convert files.

    EConvertsObjects0x02

    The converter can convert stream objects.

    EConvertsExtract0x04

    The converter can extract embedded objects.

    Member Function Documentation

    CancelConvert ( )

    IMPORT_C voidCancelConvert()[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 TIntCapabilities()[virtual]

    Gets the converter's capabilities.

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

    Returns: A bitmask of TCapability flags describing the capabilities.

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

    IMPORT_C voidConvertAL(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
    ParameterDescription
    aSourceFileFile to convert
    aTargetFileFile to which to write the converted output. The file can be overwritten if it already exists.
    aObserverObserver of the conversion process

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

    IMPORT_C voidConvertL(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
    ParameterDescription
    aSourceFileFile to convert
    aTargetFileFile to which to write the converted output
    aObserverOptional observer of the conversion process

    ConvertObjectAL ( RReadStream &, RWriteStream &, MConverterUiObserver * )

    IMPORT_C voidConvertObjectAL(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
    ParameterDescription
    aReadStreamStream from which to read the data to convert
    aWriteStreamStream to which to write the converted data
    aObserverOptional observer of the conversion process

    ConvertObjectL ( RReadStream &, RWriteStream &, MConverterUiObserver * )

    IMPORT_C voidConvertObjectL(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.

    ParameterDescription
    aReadStreamStream from which to read the data to convert
    aWriteStreamStream to which to write the converted data
    aObserverOptional observer of the conversion process

    DoConvertL ( )

    IMPORT_C TBoolDoConvertL()[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.

    Returns: EFalse if conversion is complete, else ETrue

    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.

    ParameterDescription
    aTypeType of the embedded object

    Returns: Converter for the embedded object

    ExtendedInterfaceL ( TUid, CBase *& )

    IMPORT_C voidExtendedInterfaceL(TUidaInterfaceUid,
    CBase *&aInterface
    )[virtual]

    Allows licensees to extend the Converter Architecture API.

    This function replaces the private Reserved_1() function, so the change is binary compatible with v7.0.

    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.

    ParameterDescription
    aInterfaceUidA UID that identifies the required extended interface object.
    aInterfaceOn return, an object that extends the Converter Architecture interface, or NULL, if the UID specified is not recognised.

    GetEmbeddedFileName ( TFileName & )

    IMPORT_C TBoolGetEmbeddedFileName(TFileName &aFileName)[virtual]

    Gets a filename embedded in the object.

    ParameterDescription
    aFileNameThe file name found

    Returns: True if a filename was found, false otherwise

    Uid ( )

    TUid Uid()[pure virtual]

    Gets the converter's UID.

    Returns: Converter's UID