--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syncmlfw/common/wbxml/src/syncml/smlmetinfdtd.cpp Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,187 @@
+/*
+* Copyright (c) 2004 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: Meta information command struct implementations.
+*
+*/
+
+
+// ------------------------------------------------------------------------------------------------
+// Includes
+// ------------------------------------------------------------------------------------------------
+
+#include "smldtd.h"
+#include "smlmetinfdtd.h"
+#include "smlmetinftags.h"
+#include "WBXMLSyncMLParser.h"
+#include "WBXMLParserError.h"
+
+// ------------------------------------------------------------------------------------------------
+// External functions
+// ------------------------------------------------------------------------------------------------
+extern CXMLElement* AddPCDataL( SmlPcdataListPtr_t* aList );
+
+// ------------------------------------------------------------------------------------------------
+// sml_metinf_metinf_s
+// ------------------------------------------------------------------------------------------------
+EXPORT_C sml_metinf_metinf_s::sml_metinf_metinf_s()
+ {
+ }
+
+// ------------------------------------------------------------------------------------------------
+EXPORT_C sml_metinf_metinf_s::~sml_metinf_metinf_s()
+ {
+ delete fieldLevel; //1.2 CHANGES: Fieldlevel
+ delete format;
+ delete type;
+ delete mark;
+ delete size;
+ delete nextnonce;
+ delete version;
+ delete maxmsgsize;
+ delete maxobjsize;
+ delete mem;
+ GenericListDelete( emi );
+ delete anchor;
+ }
+
+// ------------------------------------------------------------------------------------------------
+CXMLElement* sml_metinf_metinf_s::BeginElementL( TUint8 aTag, const TXMLElementParams& /*aParams*/ )
+ {
+ switch( aTag )
+ {
+ //1.2 CHANGES: Fieldlevel
+ case EFieldLevel:
+ fieldLevel = new (ELeave) SmlPcdata_t();
+ return fieldLevel;
+ // Changes end
+
+ case EMetFormat:
+ format = new (ELeave) SmlPcdata_t();
+ return format;
+
+ case EMetType:
+ type = new (ELeave) SmlPcdata_t();
+ return type;
+
+ case EMetMark:
+ mark = new (ELeave) SmlPcdata_t();
+ return mark;
+
+ case EMetSize:
+ size = new (ELeave) SmlPcdata_t();
+ return size;
+
+ case EMetNextNonce:
+ nextnonce = new (ELeave) SmlPcdata_t();
+ return nextnonce;
+
+ case EMetVersion:
+ version = new (ELeave) SmlPcdata_t();
+ return version;
+
+ case EMetMaxMsgSize:
+ maxmsgsize = new (ELeave) SmlPcdata_t();
+ return maxmsgsize;
+
+ case EMetMaxObjSize:
+ maxobjsize = new (ELeave) SmlPcdata_t();
+ return maxobjsize;
+
+ case EMetMem:
+ mem = new (ELeave) SmlMetInfMem_t();
+ return mem;
+
+ case EMetEMI:
+ return AddPCDataL(&emi);
+
+ case EMetAnchor:
+ anchor = new (ELeave) SmlMetInfAnchor_t();
+ return anchor;
+
+ default:
+ User::Leave(KWBXMLParserErrorInvalidTag);
+ }
+ return 0;
+ }
+
+// ------------------------------------------------------------------------------------------------
+// sml_metinf_mem_s
+// ------------------------------------------------------------------------------------------------
+EXPORT_C sml_metinf_mem_s::sml_metinf_mem_s()
+ {
+ }
+
+// ------------------------------------------------------------------------------------------------
+EXPORT_C sml_metinf_mem_s::~sml_metinf_mem_s()
+ {
+ delete shared;
+ delete free;
+ delete freeid;
+ }
+
+// ------------------------------------------------------------------------------------------------
+CXMLElement* sml_metinf_mem_s::BeginElementL( TUint8 aTag, const TXMLElementParams& /*aParams*/ )
+ {
+ switch( aTag )
+ {
+ case EMetSharedMem:
+ shared = new (ELeave) SmlPcdata_t();
+ return shared;
+
+ case EMetFreeMem:
+ free = new (ELeave) SmlPcdata_t();
+ return free;
+
+ case EMetFreeID:
+ freeid = new (ELeave) SmlPcdata_t();
+ return freeid;
+
+ default:
+ User::Leave(KWBXMLParserErrorInvalidTag);
+ }
+ return 0;
+ }
+
+// ------------------------------------------------------------------------------------------------
+// sml_metinf_anchor_s
+// ------------------------------------------------------------------------------------------------
+EXPORT_C sml_metinf_anchor_s::sml_metinf_anchor_s()
+ {
+ }
+
+// ------------------------------------------------------------------------------------------------
+EXPORT_C sml_metinf_anchor_s::~sml_metinf_anchor_s()
+ {
+ delete last;
+ delete next;
+ }
+
+// ------------------------------------------------------------------------------------------------
+CXMLElement* sml_metinf_anchor_s::BeginElementL( TUint8 aTag, const TXMLElementParams& /*aParams*/ )
+ {
+ switch( aTag )
+ {
+ case EMetLast:
+ last = new (ELeave) SmlPcdata_t();
+ return last;
+
+ case EMetNext:
+ next = new (ELeave) SmlPcdata_t();
+ return next;
+
+ default:
+ User::Leave(KWBXMLParserErrorInvalidTag);
+ }
+ return 0;
+ }