xml/xmlfw/test/rtest/tsrc/t_stringdictionary00.h
changeset 0 e35f40988205
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/xmlfw/test/rtest/tsrc/t_stringdictionary00.h	Thu Dec 17 09:29:21 2009 +0200
@@ -0,0 +1,187 @@
+// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Plugin interface
+// 
+//
+
+
+#ifndef __T_STRINGDICTIONARY00_H__
+#define __T_STRINGDICTIONARY00_H__
+
+#include <e32std.h>
+#include <stringpool.h>
+
+#include <xml/plugins/stringdictionary.h>
+
+
+class CTestStringDictionary00 : public CBase, public Xml::MStringDictionary
+/**
+The TestStringDictionary00 class is a derived class defining the API of a single string dictionary. 
+
+Derived classes must add all elements, attributes names, and attribute values that belong
+to this string dictionary as static string tables to the StringPool. WBXML token mappings between 
+strings and WBXML tokens should also be maintained.
+*/
+	{
+public:
+
+	static Xml::MStringDictionary* NewL(TAny* aStringPool);
+	virtual ~CTestStringDictionary00();
+
+	void ConstructL();
+
+	void ElementL(TInt aToken, RString& aElement) const;
+	void AttributeL(TInt aToken, RString& aAttribute) const;
+	void AttributeValuePairL(TInt aToken, RString& aAttribute, RString& aValue) const;
+	void AttributeValueL(TInt aToken, RString& aValue) const;
+
+	TBool CompareThisDictionary(const RString& aDictionaryDescription) const;
+
+	TInt SwitchCodePage(TInt aCodePage);
+	void PublicIdentifier(RString& aPubId);
+	void NamespaceUri(RString& aUri);
+
+	// From MStringDictionary
+	void Release();
+
+public:
+
+	// CodePage tokens.
+	//
+	// Note: There will be correlation between these token values and their
+	// strings via the CDictionaryCodePage using the RStringPool.
+
+	enum TTokenValue {
+		// CodePage 00
+		// -//SYNCML//DTD SyncML 1.1//EN
+		ETokenValueAdd					= 0x05,
+		ETokenValueAlert				= 0x06,
+		ETokenValueArchive				= 0x07,
+		ETokenValueAtomic				= 0x08,
+		ETokenValueChal					= 0x09,
+		ETokenValueCmd					= 0x0A,
+		ETokenValueCmdID				= 0x0B,
+		ETokenValueCmdRef				= 0x0C,
+		ETokenValueCopy					= 0x0D,
+		ETokenValueCred					= 0x0E,
+		ETokenValueData					= 0x0F,
+		ETokenValueDelete				= 0x10,
+		ETokenValueExec					= 0x11,
+		ETokenValueFinal				= 0x12,
+		ETokenValueGet					= 0x13,
+		ETokenValueItem					= 0x14,
+		ETokenValueLang					= 0x15,
+		ETokenValueLocName				= 0x16,
+		ETokenValueLocURI				= 0x17,
+		ETokenValueMap					= 0x18,
+		ETokenValueMapItem				= 0x19,
+		ETokenValueMeta					= 0x1A,
+		ETokenValueMsgID				= 0x1B,
+		ETokenValueMsgRef				= 0x1C,
+		ETokenValueNoResp				= 0x1D,
+		ETokenValueNoResults			= 0x1E,
+		ETokenValuePut					= 0x1F,
+		ETokenValueReplace				= 0x20,
+		ETokenValueRespURI				= 0x21,
+		ETokenValueResults				= 0x22,
+		ETokenValueSearch				= 0x23,
+		ETokenValueSequence				= 0x24,
+		ETokenValueSessionID			= 0x25,
+		ETokenValueSftDel				= 0x26,
+		ETokenValueSource				= 0x27,
+		ETokenValueSourceRef			= 0x28,
+		ETokenValueStatus				= 0x29,
+		ETokenValueSync					= 0x2A,
+		ETokenValueSyncBody				= 0x2B,
+		ETokenValueSyncHdr				= 0x2C,
+		ETokenValueSyncML				= 0x2D,
+		ETokenValueTarget				= 0x2E,
+		ETokenValueTargetRef			= 0x2F,
+		ETokenValueReservedForFutureUse	= 0x30,
+		ETokenValueVerDTD				= 0x31,
+		ETokenValueVerProto				= 0x32,
+		ETokenValueNumberOfChanges		= 0x33,
+		ETokenValueMoreData				= 0x34,
+	};
+
+
+private:
+
+	CTestStringDictionary00(RStringPool* aStringPool);
+
+private:
+
+/**
+The StringPool for this string dictionary.
+We don't own this.
+*/
+	RStringPool				iStringPool;
+
+	Xml::CDictionaryCodePage*	iCodepage00Table;
+	TInt					iCodePage;
+	};
+
+
+const TInt iCodePage00[] = 
+	{CTestStringDictionary00::ETokenValueAdd,
+	 CTestStringDictionary00::ETokenValueAlert,
+	 CTestStringDictionary00::ETokenValueArchive,
+	 CTestStringDictionary00::ETokenValueAtomic,
+	 CTestStringDictionary00::ETokenValueChal,
+	 CTestStringDictionary00::ETokenValueCmd,
+	 CTestStringDictionary00::ETokenValueCmdID,
+	 CTestStringDictionary00::ETokenValueCmdRef,
+	 CTestStringDictionary00::ETokenValueCopy,
+	 CTestStringDictionary00::ETokenValueCred,
+	 CTestStringDictionary00::ETokenValueData,
+	 CTestStringDictionary00::ETokenValueDelete,
+	 CTestStringDictionary00::ETokenValueExec,
+	 CTestStringDictionary00::ETokenValueFinal,
+	 CTestStringDictionary00::ETokenValueGet,
+	 CTestStringDictionary00::ETokenValueItem,
+	 CTestStringDictionary00::ETokenValueLang,
+	 CTestStringDictionary00::ETokenValueLocName,
+	 CTestStringDictionary00::ETokenValueLocURI,
+	 CTestStringDictionary00::ETokenValueMap,
+	 CTestStringDictionary00::ETokenValueMapItem,
+	 CTestStringDictionary00::ETokenValueMeta,
+	 CTestStringDictionary00::ETokenValueMsgID,
+	 CTestStringDictionary00::ETokenValueMsgRef,
+	 CTestStringDictionary00::ETokenValueNoResp,
+	 CTestStringDictionary00::ETokenValueNoResults,
+	 CTestStringDictionary00::ETokenValuePut,
+	 CTestStringDictionary00::ETokenValueReplace,
+	 CTestStringDictionary00::ETokenValueRespURI,
+	 CTestStringDictionary00::ETokenValueResults,
+	 CTestStringDictionary00::ETokenValueSearch,
+	 CTestStringDictionary00::ETokenValueSequence,
+	 CTestStringDictionary00::ETokenValueSessionID,
+	 CTestStringDictionary00::ETokenValueSftDel,
+	 CTestStringDictionary00::ETokenValueSource,
+	 CTestStringDictionary00::ETokenValueSourceRef,
+	 CTestStringDictionary00::ETokenValueStatus,
+	 CTestStringDictionary00::ETokenValueSync,
+	 CTestStringDictionary00::ETokenValueSyncBody,
+	 CTestStringDictionary00::ETokenValueSyncHdr,
+	 CTestStringDictionary00::ETokenValueSyncML,
+	 CTestStringDictionary00::ETokenValueTarget,
+	 CTestStringDictionary00::ETokenValueTargetRef,
+	 CTestStringDictionary00::ETokenValueReservedForFutureUse,
+	 CTestStringDictionary00::ETokenValueVerDTD,
+	 CTestStringDictionary00::ETokenValueVerProto,
+	 CTestStringDictionary00::ETokenValueNumberOfChanges,
+	 CTestStringDictionary00::ETokenValueMoreData,
+	 0}; // ok to end with zero as this is used by a global token
+
+#endif //__T_STRINGDICTIONARY00_H__