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 TInt Compare ( TXmlEngConstString )
IMPORT_C char * CopyL ()
const char * Cstring ()
const char * CstringDef (const char *)
TBool Equals ( TXmlEngConstString )
TBool IsNull ()
IMPORT_C TUint Length ()
TBool NotNull ()
TPtrC8 PtrC8 ()
IMPORT_C TUint Size ()
Protected Member Functions
void Set (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 * aString The 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
Allocates UTF-16 heap descriptor from the TDOMString contents
Typical use:
         ...
    HBufC* attrValue = attr.Value().AllocL();
    ...
        

AllocLC() does the same, but returned HBufC* is already on the cleanup stack after a call to this method.

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
Allocates UTF-16 heap descriptor from the TXmlEngConstString contents and pushes the descriptor to cleanup stack.
Typical use:
         ...
    HBufC* attrValue = attr.Value().AllocLC();
    ...
        

Compare(TXmlEngConstString)

IMPORT_C TInt Compare ( TXmlEngConstString aString ) const

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

Parameters

TXmlEngConstString aString The 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.

leave
KErrNoMemory Memory allocation failure

Cstring()

const char * Cstring ( ) const [inline]

Gets a c string

CstringDef(const char *)

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

Gets a c string or if NULL, return a default value.

Parameters

const char * aDefaultValue default value

Equals(TXmlEngConstString)

TBool Equals ( TXmlEngConstString aString ) const [inline]

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

Parameters

TXmlEngConstString aString The string to compare

IsNull()

TBool IsNull ( ) const [inline]

Check if the string is NULL

Length()

IMPORT_C TUint Length ( ) const

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

NotNull()

TBool NotNull ( ) const [inline]

Check if the string is not NULL

PtrC8()

TPtrC8 PtrC8 ( ) const [inline]

Get a TPtrC8 that contains the string

Set(char *)

void Set ( char * aString ) [protected, inline]

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

Parameters

char * aString The new value

Size()

IMPORT_C TUint Size ( ) const

Returns the size of the string in bytes

Member Data Documentation

char * iString

char * iString [protected]

String value