xml/wbxmlparser/src/sd_syncml/syncml1_2stringdictionary00.h
changeset 0 e35f40988205
equal deleted inserted replaced
-1:000000000000 0:e35f40988205
       
     1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // Plugin interface
       
    15 // 
       
    16 //
       
    17 
       
    18 
       
    19 #ifndef __SYNCMLSTRINGDICTIONARY00_V1_2_H__
       
    20 #define __SYNCMLSTRINGDICTIONARY00_V1_2_H__
       
    21 
       
    22 #include <e32std.h>
       
    23 #include <stringpool.h>
       
    24 
       
    25 #include <xml/plugins/stringdictionary.h>
       
    26 
       
    27 class CSyncml1_2StringDictionary00 : public CBase, public Xml::MStringDictionary
       
    28 /**
       
    29 The Syncml1_2StringDictionary00 class is a derived class defining the API of a single string dictionary. 
       
    30 
       
    31 Derived classes must add all elements, attributes names, and attribute values that belong
       
    32 to this string dictionary as static string tables to the StringPool. WBXML token mappings between 
       
    33 strings and WBXML tokens should also be maintained.
       
    34 
       
    35 @internalTechnology
       
    36 */
       
    37 	{
       
    38 public:
       
    39 
       
    40 	static Xml::MStringDictionary* NewL(TAny* aStringPool);
       
    41 	virtual ~CSyncml1_2StringDictionary00();
       
    42 	void ConstructL();
       
    43 
       
    44 	void ElementL(TInt aToken, RString& aElement) const;
       
    45 	void AttributeL(TInt aToken, RString& aAttribute) const;
       
    46 	void AttributeValuePairL(TInt aToken, RString& aAttribute, RString& aValue) const;
       
    47 	void AttributeValueL(TInt aToken, RString& aValue) const;
       
    48 
       
    49 	TBool CompareThisDictionary(const RString& aDictionaryDescription) const;
       
    50 
       
    51 	TInt SwitchCodePage(TInt aCodePage);
       
    52 	void PublicIdentifier(RString& aPubId);
       
    53 	void NamespaceUri(RString& aUri);
       
    54 
       
    55 	void Release();
       
    56 
       
    57 public:
       
    58 
       
    59 	// CodePage tokens.
       
    60 	//
       
    61 	// Note: There will be correlation between these token values and their
       
    62 	// strings via the CDictionaryCodePage using the RStringPool.
       
    63 
       
    64 	enum TTokenValue {
       
    65 		// CodePage 00
       
    66 		// -//SYNCML//DTD SyncML 1.2//EN
       
    67 		ETokenValueAdd					= 0x05,
       
    68 		ETokenValueAlert				= 0x06,
       
    69 		ETokenValueArchive				= 0x07,
       
    70 		ETokenValueAtomic				= 0x08,
       
    71 		ETokenValueChal					= 0x09,
       
    72 		ETokenValueCmd					= 0x0A,
       
    73 		ETokenValueCmdID				= 0x0B,
       
    74 		ETokenValueCmdRef				= 0x0C,
       
    75 		ETokenValueCopy					= 0x0D,
       
    76 		ETokenValueCred					= 0x0E,
       
    77 		ETokenValueData					= 0x0F,
       
    78 		ETokenValueDelete				= 0x10,
       
    79 		ETokenValueExec					= 0x11,
       
    80 		ETokenValueFinal				= 0x12,
       
    81 		ETokenValueGet					= 0x13,
       
    82 		ETokenValueItem					= 0x14,
       
    83 		ETokenValueLang					= 0x15,
       
    84 		ETokenValueLocName				= 0x16,
       
    85 		ETokenValueLocURI				= 0x17,
       
    86 		ETokenValueMap					= 0x18,
       
    87 		ETokenValueMapItem				= 0x19,
       
    88 		ETokenValueMeta					= 0x1A,
       
    89 		ETokenValueMsgID				= 0x1B,
       
    90 		ETokenValueMsgRef				= 0x1C,
       
    91 		ETokenValueNoResp				= 0x1D,
       
    92 		ETokenValueNoResults			= 0x1E,
       
    93 		ETokenValuePut					= 0x1F,
       
    94 		ETokenValueReplace				= 0x20,
       
    95 		ETokenValueRespURI				= 0x21,
       
    96 		ETokenValueResults				= 0x22,
       
    97 		ETokenValueSearch				= 0x23,
       
    98 		ETokenValueSequence				= 0x24,
       
    99 		ETokenValueSessionID			= 0x25,
       
   100 		ETokenValueSftDel				= 0x26,
       
   101 		ETokenValueSource				= 0x27,
       
   102 		ETokenValueSourceRef			= 0x28,
       
   103 		ETokenValueStatus				= 0x29,
       
   104 		ETokenValueSync					= 0x2A,
       
   105 		ETokenValueSyncBody				= 0x2B,
       
   106 		ETokenValueSyncHdr				= 0x2C,
       
   107 		ETokenValueSyncML				= 0x2D,
       
   108 		ETokenValueTarget				= 0x2E,
       
   109 		ETokenValueTargetRef			= 0x2F,
       
   110 		ETokenValueReservedForFutureUse	= 0x30,
       
   111 		ETokenValueVerDTD				= 0x31,
       
   112 		ETokenValueVerProto				= 0x32,
       
   113 		ETokenValueNumberOfChanges		= 0x33,
       
   114 		ETokenValueMoreData				= 0x34,
       
   115 		ETokenValueField				= 0x35,
       
   116 		ETokenValueFilter				= 0x36,
       
   117 		ETokenValueRecord				= 0x37,
       
   118 		ETokenValueFilterType			= 0x38,
       
   119 		ETokenValueSourceParent			= 0x39,
       
   120 		ETokenValueTargetParent			= 0x3A,
       
   121 		ETokenValueMove					= 0x3B,
       
   122 		ECorrelator						= 0x3C,
       
   123 	};
       
   124 
       
   125 
       
   126 private:
       
   127 
       
   128 	CSyncml1_2StringDictionary00(RStringPool* aStringPool);
       
   129 
       
   130 private:
       
   131 
       
   132 /**
       
   133 The StringPool for this string dictionary.
       
   134 We don't own this.
       
   135 */
       
   136 	RStringPool				iStringPool;
       
   137 
       
   138 	Xml::CDictionaryCodePage*	iCodepage00Table;
       
   139 
       
   140 	TInt					iCodePage;
       
   141 
       
   142 	};
       
   143 
       
   144 
       
   145 const TInt iCodePage00[] = 
       
   146 	{CSyncml1_2StringDictionary00::ETokenValueAdd,
       
   147 	 CSyncml1_2StringDictionary00::ETokenValueAlert,
       
   148 	 CSyncml1_2StringDictionary00::ETokenValueArchive,
       
   149 	 CSyncml1_2StringDictionary00::ETokenValueAtomic,
       
   150 	 CSyncml1_2StringDictionary00::ETokenValueChal,
       
   151 	 CSyncml1_2StringDictionary00::ETokenValueCmd,
       
   152 	 CSyncml1_2StringDictionary00::ETokenValueCmdID,
       
   153 	 CSyncml1_2StringDictionary00::ETokenValueCmdRef,
       
   154 	 CSyncml1_2StringDictionary00::ETokenValueCopy,
       
   155 	 CSyncml1_2StringDictionary00::ETokenValueCred,
       
   156 	 CSyncml1_2StringDictionary00::ETokenValueData,
       
   157 	 CSyncml1_2StringDictionary00::ETokenValueDelete,
       
   158 	 CSyncml1_2StringDictionary00::ETokenValueExec,
       
   159 	 CSyncml1_2StringDictionary00::ETokenValueFinal,
       
   160 	 CSyncml1_2StringDictionary00::ETokenValueGet,
       
   161 	 CSyncml1_2StringDictionary00::ETokenValueItem,
       
   162 	 CSyncml1_2StringDictionary00::ETokenValueLang,
       
   163 	 CSyncml1_2StringDictionary00::ETokenValueLocName,
       
   164 	 CSyncml1_2StringDictionary00::ETokenValueLocURI,
       
   165 	 CSyncml1_2StringDictionary00::ETokenValueMap,
       
   166 	 CSyncml1_2StringDictionary00::ETokenValueMapItem,
       
   167 	 CSyncml1_2StringDictionary00::ETokenValueMeta,
       
   168 	 CSyncml1_2StringDictionary00::ETokenValueMsgID,
       
   169 	 CSyncml1_2StringDictionary00::ETokenValueMsgRef,
       
   170 	 CSyncml1_2StringDictionary00::ETokenValueNoResp,
       
   171 	 CSyncml1_2StringDictionary00::ETokenValueNoResults,
       
   172 	 CSyncml1_2StringDictionary00::ETokenValuePut,
       
   173 	 CSyncml1_2StringDictionary00::ETokenValueReplace,
       
   174 	 CSyncml1_2StringDictionary00::ETokenValueRespURI,
       
   175 	 CSyncml1_2StringDictionary00::ETokenValueResults,
       
   176 	 CSyncml1_2StringDictionary00::ETokenValueSearch,
       
   177 	 CSyncml1_2StringDictionary00::ETokenValueSequence,
       
   178 	 CSyncml1_2StringDictionary00::ETokenValueSessionID,
       
   179 	 CSyncml1_2StringDictionary00::ETokenValueSftDel,
       
   180 	 CSyncml1_2StringDictionary00::ETokenValueSource,
       
   181 	 CSyncml1_2StringDictionary00::ETokenValueSourceRef,
       
   182 	 CSyncml1_2StringDictionary00::ETokenValueStatus,
       
   183 	 CSyncml1_2StringDictionary00::ETokenValueSync,
       
   184 	 CSyncml1_2StringDictionary00::ETokenValueSyncBody,
       
   185 	 CSyncml1_2StringDictionary00::ETokenValueSyncHdr,
       
   186 	 CSyncml1_2StringDictionary00::ETokenValueSyncML,
       
   187 	 CSyncml1_2StringDictionary00::ETokenValueTarget,
       
   188 	 CSyncml1_2StringDictionary00::ETokenValueTargetRef,
       
   189 	 CSyncml1_2StringDictionary00::ETokenValueReservedForFutureUse,
       
   190 	 CSyncml1_2StringDictionary00::ETokenValueVerDTD,
       
   191 	 CSyncml1_2StringDictionary00::ETokenValueVerProto,
       
   192 	 CSyncml1_2StringDictionary00::ETokenValueNumberOfChanges,
       
   193 	 CSyncml1_2StringDictionary00::ETokenValueMoreData,
       
   194 	 CSyncml1_2StringDictionary00::ETokenValueField,
       
   195 	 CSyncml1_2StringDictionary00::ETokenValueFilter,
       
   196 	 CSyncml1_2StringDictionary00::ETokenValueRecord,
       
   197 	 CSyncml1_2StringDictionary00::ETokenValueFilterType,
       
   198 	 CSyncml1_2StringDictionary00::ETokenValueSourceParent,
       
   199 	 CSyncml1_2StringDictionary00::ETokenValueTargetParent,
       
   200 	 CSyncml1_2StringDictionary00::ETokenValueMove,
       
   201 	 CSyncml1_2StringDictionary00::ECorrelator,
       
   202 	 0}; // ok to end with zero as this is used by a global token
       
   203 
       
   204 #endif //__SYNCMLSTRINGDICTIONARY00_V1_2_H__