ESock::RMetaExtensionContainer Class Reference

class ESock::RMetaExtensionContainer : public ESock::RMetaExtensionContainerC

Represents an appendable meta extension container.

Inherits from

Constructor & Destructor Documentation

RMetaExtensionContainer()

IMPORT_C RMetaExtensionContainer ( )

Default c'tor

Member Functions Documentation

AppendContainerL(const RMetaExtensionContainerC &)

IMPORT_C void AppendContainerL ( const RMetaExtensionContainerC & aBaseContainer )
Appends a container to the list of container implementations. Appends an existing container. Extensions in aBaseContainer container will override any extensions of the same type already present in the container this method is called on.
Exceptions
Leaves

with KErrNone on success, KErrAlreadyExists if the container is already present, or any other system-wide error code.

Parameters

const RMetaExtensionContainerC & aBaseContainer

AppendExtension(const Meta::SMetaData *)

IMPORT_C TInt AppendExtension ( const Meta::SMetaData * aExtension )

Adds a meta extension to the container, which will take ownership on success.

Parameters

const Meta::SMetaData * aExtension The meta extension to add

AppendExtensionL(const Meta::SMetaData *)

IMPORT_C void AppendExtensionL ( const Meta::SMetaData * aExtension )
Adds a meta extension to the container, which will take ownership on success.
Exceptions
Leaves

with KErrAlreadyExists If a meta extension of the same type is in the container, or other system-wide error codes

Parameters

const Meta::SMetaData * aExtension The meta extension to add

AppendableContainerArray()

CMetaExtensionContainerArray * AppendableContainerArray ( ) const [private]

AppendableExtensionContainer()

CMetaExtensionContainer * AppendableExtensionContainer ( ) const [private]

Close()

IMPORT_C void Close ( )

Releases a reference to the underlying container implementation

CreateContainerArrayL()

void CreateContainerArrayL ( ) [private]
Creates a new container implementations
Exceptions
Any

system wide error code

CreateExtensionContainerL()

void CreateExtensionContainerL ( ) [private]
Creates a new container implementations
Exceptions
Any

system wide error code

FindExtension(const Meta::STypeId &)

IMPORT_C const Meta::SMetaData * FindExtension ( const Meta::STypeId & aTypeId ) const

Finds the extension specified within the container

Parameters

const Meta::STypeId & aTypeId The STypeId of the meta extension to find

FindExtensionL(const Meta::STypeId &)

IMPORT_C const Meta::SMetaData & FindExtensionL ( const Meta::STypeId & aTypeId ) const
Finds the extension specified within the container
Exceptions
Leaves

with KErrNotFound if the meta extension was not present in the container

Parameters

const Meta::STypeId & aTypeId The STypeId of the meta extension to find

Open()

IMPORT_C void Open ( )

If the container is already open a reference is added to the container. If the container is not open a new appendable root meta extension container will be created and a reference added.

Open(const RMetaExtensionContainerC &)

IMPORT_C void Open ( const RMetaExtensionContainerC & aBaseContainer )

A new appendable meta extension container will be created using the supplied container as the base container to build on. The container must not already be open.

Parameters

const RMetaExtensionContainerC & aBaseContainer Container to use as the base meta extension container. A reference will be automatically added to this.

Member Data Documentation

CMetaExtensionContainer * iCurrentExtensionContainer

CMetaExtensionContainer * iCurrentExtensionContainer [private]

TBool iIsLazyCreationDone

TBool iIsLazyCreationDone [private]

TBool iIsOpen

TBool iIsOpen [private]