| author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> | 
| Thu, 17 Dec 2009 09:29:21 +0200 | |
| changeset 0 | e35f40988205 | 
| permissions | -rw-r--r-- | 
| 0 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 1 | // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 2 | // All rights reserved. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 3 | // This component and the accompanying materials are made available | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 4 | // under the terms of "Eclipse Public License v1.0" | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 5 | // which accompanies this distribution, and is available | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 6 | // at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 7 | // | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 8 | // Initial Contributors: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 9 | // Nokia Corporation - initial contribution. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 10 | // | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 11 | // Contributors: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 12 | // | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 13 | // Description: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 14 | // This file contains definitions of string used by | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 15 | // XmlEngine's modules. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 16 | // | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 17 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 18 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 19 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 20 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 21 | @file | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 22 | @publishedPartner | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 23 | @released | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 24 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 25 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 26 | #ifndef XESTRINGS_H | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 27 | #define XESTRINGS_H | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 28 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 29 | #include <e32base.h> | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 30 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 31 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 32 | Defines a constant string to be used as an argument value for arguments of type | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 33 | TDOMString and TDOMStringArg. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 34 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 35 | No '\0' character can appear in the string. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 36 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 37 | Usage: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 38 | @code | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 39 | _XMLLIT(KLitName, "<some ASCII literal to be used as UTF-8 string>"); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 40 | obj.SomeMethod(KLitName); // argument type is TXmlEngConstString or TDOMStringArg | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 41 | @endcode | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 42 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 43 | #define _XMLLIT(LitName, utf8String) const TUint8* const LitName = (const TUint8*) utf8String; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 44 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 45 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 46 | Implements a constant string used within libxml2-based API's. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 47 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 48 | TXmlEngConstString contains a pointer to a zero-terminated UTF-8 string. The | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 49 | contents of the string is not supposed to be changed. From this point of view | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 50 | TXmlEngConstString instances are close to the concept of immutable strings. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 51 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 52 | Ownership of the string is not defined for TXmlEngConstString. Thus, in | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 53 | different contexts (APIs), different string-handling policies may be applied. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 54 | For instance, in XML Engine SAX API all reported via callbacks strings of | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 55 | TXmlEngConstString type are assumed owned by the parser. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 56 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 57 | TXmlEngConstString is a base class for other specialized string classes in XML | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 58 | Engine APIs. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 59 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 60 | class TXmlEngConstString | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 61 |     {
 | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 62 | friend class Libxml2_XmlAttributes; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 63 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 64 | public: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 65 | /** Default constructor */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 66 | inline TXmlEngConstString(); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 67 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 68 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 69 | Constructor | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 70 | @param aString The string for initialization. Ownership is not transferred | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 71 | and the string must stay in scope for the lifetime of this object. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 72 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 73 | inline TXmlEngConstString(const char* aString); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 74 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 75 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 76 | Check if the string is not NULL | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 77 | @return ETrue if the string is not null, EFalse otherwise | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 78 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 79 | inline TBool NotNull() const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 80 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 81 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 82 | Check if the string is NULL | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 83 | @return ETrue if the string is null, EFalse otherwise | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 84 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 85 | inline TBool IsNull() const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 86 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 87 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 88 | Gets a c string | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 89 | @return The string as a C string or NULL if null | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 90 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 91 | inline const char* Cstring() const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 92 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 93 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 94 | Gets a c string or if NULL, return a default value. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 95 | @param aDefaultValue default value | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 96 | @return If not NULL, the c string, otherwise aDefaultValue | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 97 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 98 | inline const char* CstringDef(const char* aDefaultValue) const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 99 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 100 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 101 | Compares with another string. NULL and "" are considered equal. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 102 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 103 | @param aString The string to compare | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 104 | @return ETrue if equal, EFalse otherwise | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 105 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 106 | inline TBool Equals(TXmlEngConstString aString) const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 107 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 108 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 109 | Compares with another string. NULL and "" are considered equal. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 110 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 111 | @param aString The string to compare | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 112 | @return 0 if equal, -1 otherwise | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 113 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 114 | IMPORT_C TInt Compare(TXmlEngConstString aString) const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 115 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 116 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 117 | Allocates a HBufC from the string contents. Ownership is transferred to | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 118 | the caller. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 119 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 120 | Typical use: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 121 | @code | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 122 | ... | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 123 | HBufC* attrValue = attr.Value().AllocL(); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 124 | ... | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 125 | @endcode | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 126 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 127 | @see AllocLC() | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 128 | @leave KErrNoMemory Memory allocation failure | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 129 | @leave KUriUtilsCannotConvert String cannot be converted | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 130 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 131 | IMPORT_C HBufC* AllocL() const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 132 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 133 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 134 | Allocates a HBufC from the string contents and pushes the descriptor to | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 135 | cleanup stack. Ownership is transferred to the caller. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 136 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 137 | Typical use: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 138 | @code | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 139 | ... | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 140 | HBufC* attrValue = attr.Value().AllocLC(); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 141 | ... | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 142 | @endcode | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 143 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 144 | @see AllocL() | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 145 | @leave KErrNoMemory Memory allocation failure | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 146 | @leave KUriUtilsCannotConvert String cannot be converted | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 147 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 148 | IMPORT_C HBufC* AllocLC() const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 149 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 150 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 151 | Get a TPtrC8 that contains the string | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 152 | @return A point descriptor that holds the string | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 153 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 154 | inline TPtrC8 PtrC8() const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 155 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 156 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 157 | Creates a new copy of the string contents. Ownership for the new string is | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 158 | transferred to the caller. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 159 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 160 | @return A c string copy of the string contents | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 161 | @leave KErrNoMemory Memory allocation failure | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 162 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 163 | IMPORT_C char* CopyL() const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 164 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 165 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 166 | Returns the size of the string in bytes | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 167 | @return The size | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 168 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 169 | IMPORT_C TUint Size() const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 170 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 171 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 172 | Get the length of the string. For non-ASCII strings, Size() != Length() due | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 173 | to the UTF-8 encoding used for non-ASCII characters. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 174 | @return The number of characters in the string | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 175 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 176 | IMPORT_C TUint Length() const; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 177 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 178 | protected: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 179 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 180 | Set a new string value. The old string is not freed. Ownership is not | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 181 | transferred. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 182 | @param aString The new value | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 183 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 184 | inline void Set(char* aString); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 185 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 186 | protected: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 187 | /** String value */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 188 | char* iString; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 189 | }; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 190 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 191 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 192 | General-purpose string used in libxml2-based API's. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 193 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 194 | This class holds a zero-terminated sequence of bytes (c-style string). It is | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 195 | commonly used to represent a sequence of UTF-8 characters. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 196 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 197 | TXmlEngString objects should be treated as if they were pointers. The | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 198 | destructor for TXmlEngString does nothing. This means that the developer needs | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 199 | to free the memory allocated by TXmlEngString by calling Free() or Close() | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 200 | (Close() is an alias for Free()) and to do so only once. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 201 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 202 | The reason for this design is that the goal is to have a string class that is | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 203 | as small as a one-pointer sized object that is mostly stored on the stack, not | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 204 | on the heap (and therefore no additional memory allocation is required). It is | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 205 | also as flexible as possible to allow developers to create their own derived | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 206 | classes which may provide auto_ptr-like or reference counting solutions. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 207 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 208 | The contents of this class can be replaced, destroyed, copied and converted to | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 209 | c strings and Symbian descriptor types. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 210 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 211 | The contents of TXmlEngString may also be modified with AppendL(). | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 212 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 213 | When TXmlEngString is the return type in libxml2 based API's, this usually | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 214 | indicates that a string has been newly allocated, which should be freed by the | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 215 | method caller. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 216 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 217 | class TXmlEngString: public TXmlEngConstString | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 218 | {
 | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 219 | public: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 220 | /** Default constructor */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 221 | inline TXmlEngString(); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 222 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 223 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 224 | Constructs a new string from a given c string. Ownership is transferred | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 225 | and the string must be freed with Free() or Close(). | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 226 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 227 | @param aString A heap-based c string | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 228 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 229 | inline TXmlEngString(char* aString); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 230 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 231 | /** Frees the string */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 232 | IMPORT_C void Free(); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 233 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 234 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 235 | Sets a new value. The old string is freed. Ownership is transferred and | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 236 | the string must be freed with Free() or Close(). | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 237 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 238 | @param aStr The new string | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 239 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 240 | inline void Set(char* aStr); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 241 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 242 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 243 | Transfers a string and its ownership from another TXmlEngString object. If | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 244 | this object currently stores a string it is freed. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 245 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 246 | @param aSrc The source string | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 247 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 248 | IMPORT_C void Set(TXmlEngString& aSrc); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 249 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 250 | /** Frees the string */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 251 | inline void Close(); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 252 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 253 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 254 | Pushes this string to the cleanup stack. This must be matched with a | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 255 | corresponding call to CleanupStack::Pop() or CleanupStack::PopAndDestroy(). | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 256 | @return This object | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 257 | @leave KErrNoMemory Memory allocation failure | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 258 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 259 | inline TXmlEngString PushL(); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 260 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 261 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 262 | Initializes the string, converting from a UTF-16 descriptor to | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 263 | a UTF-8 zero-terminated string. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 264 | @param aDes The new value | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 265 | @leave - One of the system-wide error codes | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 266 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 267 | IMPORT_C void SetL(const TDesC& aDes); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 268 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 269 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 270 | Initializes the string from a descriptor | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 271 | @param aDes The new value | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 272 | @leave - One of the system-wide error codes | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 273 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 274 | IMPORT_C void SetL(const TDesC8& aDes); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 275 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 276 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 277 | Creates a new UTF-16 HBufC from the UTF-8 string contents and transfers | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 278 | ownership of the string. The string held by this object is freed. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 279 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 280 | Typical use: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 281 | @code | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 282 | ... | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 283 | HBufC* attrValue = attr.WholeValueCopyL().AllocAndFreeL(); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 284 | ... | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 285 | @endcode | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 286 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 287 | @see AllocAndFreeLC() | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 288 | @return The copied string | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 289 | @leave KErrNoMemory Memory allocation failure | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 290 | @leave KUriUtilsCannotConvert String cannot be converted | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 291 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 292 | IMPORT_C HBufC* AllocAndFreeL(); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 293 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 294 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 295 | Creates a new UTF-16 HBufC from the UTF-8 string contents and transfers | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 296 | ownership of the string. The result is placed on the cleanup stack. The | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 297 | string held by this object is freed. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 298 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 299 | Typical use: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 300 | @code | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 301 | ... | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 302 | HBufC* attrValue = attr.WholeValueCopyL().AllocAndFreeL(); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 303 | ... | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 304 | @endcode | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 305 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 306 | @see AllocAndFreeL() | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 307 | @return The copied string | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 308 | @leave KErrNoMemory Memory allocation failure | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 309 | @leave KUriUtilsCannotConvert String cannot be converted | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 310 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 311 | IMPORT_C HBufC* AllocAndFreeLC(); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 312 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 313 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 314 | Appends new text to the string | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 315 | @param aStr The string to add | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 316 | @leave KErrNoMemory Memory allocation failure | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 317 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 318 | IMPORT_C void AppendL(TXmlEngString aStr); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 319 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 320 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 321 | Appends new text to the string. | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 322 | @param aStr1 The first string to append | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 323 | @param aStr2 The second string to append | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 324 | @leave KErrNoMemory Memory allocation failure | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 325 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 326 | IMPORT_C void AppendL(TXmlEngString aStr1, TXmlEngString aStr2); | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 327 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 328 | protected: | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 329 | /** | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 330 | Constructs the object from a TXmlEngConstString | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 331 | @param aStr The string to initialize from | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 332 | */ | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 333 |     inline TXmlEngString(const TXmlEngConstString& aStr): TXmlEngConstString(aStr.Cstring()) {}
 | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 334 | }; | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 335 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 336 | #include <xml/utils/xmlengxestrings.inl> | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 337 | |
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 338 | #endif // XESTRINGS_H | 
| 
e35f40988205
Revision: 200947
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 339 |