TXmlEngConstString Class Reference

class TXmlEngConstString

Implements a constant string used within libxml2-based API's.

TXmlEngConstString contains a pointer to a zero-terminated UTF-8 string. The contents of the string is not supposed to be changed. From this point of view TXmlEngConstString instances are close to the concept of immutable strings.

Ownership of the string is not defined for TXmlEngConstString. Thus, in different contexts (APIs), different string-handling policies may be applied. For instance, in XML Engine SAX API all reported via callbacks strings of TXmlEngConstString type are assumed owned by the parser.

TXmlEngConstString is a base class for other specialized string classes in XML Engine APIs.

Public Member Functions
TXmlEngConstString()
TXmlEngConstString(const char *)
IMPORT_C HBufC *AllocL()
IMPORT_C HBufC *AllocLC()
IMPORT_C TIntCompare(TXmlEngConstString)
IMPORT_C char *CopyL()
const char *Cstring()
const char *CstringDef(const char *)
TBool Equals(TXmlEngConstString)
TBool IsNull()
IMPORT_C TUintLength()
TBool NotNull()
TPtrC8 PtrC8()
IMPORT_C TUintSize()
Protected Member Functions
voidSet(char *)
Protected Attributes
char *iString

Constructor & Destructor Documentation

TXmlEngConstString()

TXmlEngConstString()[inline]

Default constructor

TXmlEngConstString(const char *)

TXmlEngConstString(const char *aString)[inline]

Constructor

Parameters

const char * aStringThe string for initialization. Ownership is not transferred and the string must stay in scope for the lifetime of this object.

Member Functions Documentation

AllocL()

IMPORT_C HBufC *AllocL()const

Allocates a HBufC from the string contents. Ownership is transferred to the caller.

Typical use:
       ...
       HBufC* attrValue = attr.Value().AllocL();
       ...

AllocLC()

leave

KErrNoMemory Memory allocation failure

leave

KUriUtilsCannotConvert String cannot be converted

AllocLC()

IMPORT_C HBufC *AllocLC()const

Allocates a HBufC from the string contents and pushes the descriptor to cleanup stack. Ownership is transferred to the caller.

Typical use:
       ...
       HBufC* attrValue = attr.Value().AllocLC();
       ...

AllocL()

leave

KErrNoMemory Memory allocation failure

leave

KUriUtilsCannotConvert String cannot be converted

Compare(TXmlEngConstString)

IMPORT_C TIntCompare(TXmlEngConstStringaString)const

Compares with another string. NULL and "" are considered equal.

0 if equal, -1 otherwise

Parameters

TXmlEngConstString aStringThe string to compare

CopyL()

IMPORT_C char *CopyL()const

Creates a new copy of the string contents. Ownership for the new string is transferred to the caller.

A c string copy of the string contents

leave

KErrNoMemory Memory allocation failure

Cstring()

const char *Cstring()const [inline]

Gets a c string The string as a C string or NULL if null

CstringDef(const char *)

const char *CstringDef(const char *aDefaultValue)const [inline]

Gets a c string or if NULL, return a default value. If not NULL, the c string, otherwise aDefaultValue

Parameters

const char * aDefaultValuedefault value

Equals(TXmlEngConstString)

TBool Equals(TXmlEngConstStringaString)const [inline]

Compares with another string. NULL and "" are considered equal.

ETrue if equal, EFalse otherwise

Parameters

TXmlEngConstString aStringThe string to compare

IsNull()

TBool IsNull()const [inline]

Check if the string is NULL ETrue if the string is null, EFalse otherwise

Length()

IMPORT_C TUintLength()const

Get the length of the string. For non-ASCII strings, Size() != Length() due to the UTF-8 encoding used for non-ASCII characters. The number of characters in the string

NotNull()

TBool NotNull()const [inline]

Check if the string is not NULL ETrue if the string is not null, EFalse otherwise

PtrC8()

TPtrC8 PtrC8()const [inline]

Get a TPtrC8 that contains the string A point descriptor that holds the string

Set(char *)

voidSet(char *aString)[protected, inline]

Set a new string value. The old string is not freed. Ownership is not transferred.

Parameters

char * aStringThe new value

Size()

IMPORT_C TUintSize()const

Returns the size of the string in bytes The size

Member Data Documentation

char * iString

char *iString[protected]

String value