diff -r 000000000000 -r b497e44ab2fc syncmlfw/common/wbxml/inc/devinf/smldevinfdtd.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/syncmlfw/common/wbxml/inc/devinf/smldevinfdtd.h Thu Dec 17 09:07:52 2009 +0200 @@ -0,0 +1,348 @@ +/* +* 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: Command structs for device information DTD. +* +*/ + + +#ifndef __SML_DEVINFDTD_H__ +#define __SML_DEVINFDTD_H__ + +//************************************************************************ +//* Includes +//************************************************************************ +#include "smldef.h" +#include "smldtd.h" +#include "xmlelement.h" + +//************************************************************************ +//* Flags +//************************************************************************ +#define SmlUTC_f (1<<0) +#define SmlSupportNumberOfChanges_f (1<<1) +#define SmlSupportLargeObjects_f (1<<2) + +//************************************************************************ +//* Definitions +//************************************************************************ + +typedef struct sml_devinf_xmit_s : public CXMLElement + { +public: + SmlPcdataPtr_t cttype; + SmlPcdataPtr_t verct; + +public: + IMPORT_C sml_devinf_xmit_s(); + IMPORT_C ~sml_devinf_xmit_s(); + CXMLElement* BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + } *SmlDevInfXmitPtr_t, SmlDevInfXmit_t; + +typedef struct sml_devinf_xmitlist_s : public CBase + { +public: + SmlDevInfXmitPtr_t data; + struct sml_devinf_xmitlist_s *next; + +public: + IMPORT_C sml_devinf_xmitlist_s(); + IMPORT_C ~sml_devinf_xmitlist_s(); + } *SmlDevInfXmitListPtr_t, SmlDevInfXmitList_t; + +typedef struct sml_devinf_ext_s : public CXMLElement + { +public: + SmlPcdataPtr_t xnam; + SmlPcdataListPtr_t xval; /* optional */ + +public: + IMPORT_C sml_devinf_ext_s(); + IMPORT_C ~sml_devinf_ext_s(); + CXMLElement* BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + } *SmlDevInfExtPtr_t, SmlDevInfExt_t; + +typedef struct sml_devinf_extlist_s : public CBase + { +public: + SmlDevInfExtPtr_t data; + struct sml_devinf_extlist_s *next; + +public: + IMPORT_C sml_devinf_extlist_s(); + IMPORT_C ~sml_devinf_extlist_s(); + } *SmlDevInfExtListPtr_t, SmlDevInfExtList_t; + +// 1.2 CHANGES: new element FilterCap +typedef struct sml_devinf_filtercap_s : public CXMLElement + { +public: + SmlPcdataPtr_t cttype; + SmlPcdataPtr_t verct; + SmlPcdataListPtr_t filterkeyword; /* optional */ + SmlPcdataListPtr_t propname; /* optional */ + +public: + IMPORT_C sml_devinf_filtercap_s(); + IMPORT_C ~sml_devinf_filtercap_s(); + CXMLElement * BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + } *SmlDevInfFilterCapPtr_t, SmlDevInfFilterCap_t; + +typedef struct sml_devinf_filtercaplist_s : public CBase + { +public: + SmlDevInfFilterCapPtr_t data; + struct sml_devinf_filtercaplist_s *next; + +public: + IMPORT_C sml_devinf_filtercaplist_s(); + IMPORT_C ~sml_devinf_filtercaplist_s(); + } *SmlDevInfFilterCapListPtr_t, SmlDevInfFilterCapList_t; +// Changes end + +typedef struct sml_devinf_synccap_s : public CXMLElement + { +public: + SmlPcdataListPtr_t synctype; + +public: + IMPORT_C sml_devinf_synccap_s(); + IMPORT_C ~sml_devinf_synccap_s(); + CXMLElement* BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + } *SmlDevInfSyncCapPtr_t, SmlDevInfSyncCap_t; + +typedef struct sml_devinf_dsmem_s : public CXMLElement + { +public: + SmlPcdataPtr_t shared; /* optional, flag */ + SmlPcdataPtr_t maxmem; /* optional */ + SmlPcdataPtr_t maxid; /* optional */ + +public: + IMPORT_C sml_devinf_dsmem_s(); + IMPORT_C ~sml_devinf_dsmem_s(); + CXMLElement* BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + } *SmlDevInfDSMemPtr_t, SmlDevInfDSMem_t; + +// 1.2 CHANGES: new elements PropParam, Property +typedef struct sml_devinf_propparam_s : public CXMLElement + { +public: + SmlPcdataPtr_t paramname; + SmlPcdataPtr_t datatype; /* optional */ + SmlPcdataListPtr_t valenum; /*optional*/ + SmlPcdataPtr_t displayname; /*optional*/ + +public: + IMPORT_C sml_devinf_propparam_s(); + IMPORT_C ~sml_devinf_propparam_s(); + CXMLElement* BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + } *SmlDevInfPropParamPtr_t, SmlDevInfPropParam_t; + +typedef struct sml_devinf_propparamlist_s : public CBase + { +public: + SmlDevInfPropParamPtr_t data; + struct sml_devinf_propparamlist_s *next; + +public: + IMPORT_C sml_devinf_propparamlist_s(); + IMPORT_C ~sml_devinf_propparamlist_s(); + } *SmlDevInfPropParamListPtr_t, SmlDevInfPropParamList_t; + +typedef struct sml_devinf_property_s : public CXMLElement + { +public: + SmlPcdataPtr_t propname; + SmlPcdataPtr_t datatype; /* optional */ + SmlPcdataPtr_t maxoccur; /* optional */ + SmlPcdataPtr_t maxsize; /* optional */ + SmlPcdataPtr_t notruncate; /* optional */ + SmlPcdataListPtr_t valenum; /* optional */ + SmlPcdataPtr_t displayname; /* optional */ + SmlDevInfPropParamListPtr_t propparam; /* optional */ + +public: + IMPORT_C sml_devinf_property_s(); + IMPORT_C ~sml_devinf_property_s(); + CXMLElement* BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + } *SmlDevInfPropertyPtr_t, SmlDevInfProperty_t; +// Changes end + +typedef struct sml_devinf_ctdata_s : public CXMLElement + { +public: + SmlPcdataPtr_t name; + SmlPcdataPtr_t dname; /* optional, display name */ + SmlPcdataListPtr_t valenum; + SmlPcdataPtr_t datatype; + SmlPcdataPtr_t size; + +public: + IMPORT_C sml_devinf_ctdata_s(); + IMPORT_C ~sml_devinf_ctdata_s(); + CXMLElement* BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + void SetDataL( const TDesC8& aData ); + } *SmlDevInfCTDataPtr_t, SmlDevInfCTData_t; + +typedef struct sml_devinf_ctdatalist_s : public CBase + { +public: + SmlDevInfCTDataPtr_t data; + struct sml_devinf_ctdatalist_s *next; + +public: + IMPORT_C sml_devinf_ctdatalist_s(); + IMPORT_C ~sml_devinf_ctdatalist_s(); + } *SmlDevInfCTDataListPtr_t, SmlDevInfCTDataList_t; + +typedef struct sml_devinf_ctdataprop_s : public CXMLElement + { +public: + SmlDevInfCTDataPtr_t prop; + SmlDevInfCTDataListPtr_t param; + +public: + IMPORT_C sml_devinf_ctdataprop_s(); + IMPORT_C ~sml_devinf_ctdataprop_s(); + CXMLElement* BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + void SetDataL( const TDesC8& aData ); + } *SmlDevInfCTDataPropPtr_t, SmlDevInfCTDataProp_t; + +typedef struct sml_devinf_propertylist_s : public CBase + { +public: + SmlDevInfPropertyPtr_t data; + struct sml_devinf_propertylist_s *next; + +public: + IMPORT_C sml_devinf_propertylist_s(); + IMPORT_C ~sml_devinf_propertylist_s(); + } *SmlDevInfPropertyListPtr_t, SmlDevInfPropertyList_t; + +typedef struct sml_devinf_ctdataproplist_s : public CBase + { +public: + SmlDevInfCTDataPropPtr_t data; + struct sml_devinf_ctdataproplist_s *next; + +public: + IMPORT_C sml_devinf_ctdataproplist_s(); + IMPORT_C ~sml_devinf_ctdataproplist_s(); + } *SmlDevInfCTDataPropListPtr_t, SmlDevInfCTDataPropList_t; + +typedef enum + { + SML_PROPNAME, + SML_PARAMNAME + } SmlPreviousElement_t; + +typedef struct sml_devinf_ctcap_s : public CXMLElement + { +private: + SmlPreviousElement_t prevelem; + CXMLElement* iParent; + +private: + CXMLElement* GetPreviousElem() const; + +public: + SmlPcdataPtr_t cttype; + SmlDevInfCTDataPropListPtr_t prop; + // 1.2 CHANGES : new elements + SmlPcdataPtr_t verct; + SmlPcdataPtr_t fieldlevel; + SmlDevInfPropertyListPtr_t property; + // changes end + +public: + IMPORT_C sml_devinf_ctcap_s(); + IMPORT_C sml_devinf_ctcap_s( CXMLElement* aParent ); + IMPORT_C ~sml_devinf_ctcap_s(); + CXMLElement* BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + } *SmlDevInfCtCapPtr_t, SmlDevInfCtCap_t; + +typedef struct sml_devinf_ctcaplist_s : public CXMLElement + { +public: + SmlDevInfCtCapPtr_t data; + struct sml_devinf_ctcaplist_s *next; + +public: + IMPORT_C sml_devinf_ctcaplist_s(); + IMPORT_C ~sml_devinf_ctcaplist_s(); + } *SmlDevInfCtCapListPtr_t, SmlDevInfCtCapList_t; + +typedef struct sml_devinf_datastore_s : public CXMLElement + { +public: + SmlPcdataPtr_t sourceref; + SmlPcdataPtr_t displayname; /* optional */ + SmlPcdataPtr_t maxguidsize; /* optional */ + SmlDevInfXmitPtr_t rxpref; + SmlDevInfXmitListPtr_t rx; /* optional */ + SmlDevInfXmitPtr_t txpref; + SmlDevInfXmitListPtr_t tx; /* optional */ + SmlDevInfDSMemPtr_t dsmem; /* optional */ + SmlDevInfSyncCapPtr_t synccap; + // 1.2 CHANGES : new / moved elements + SmlPcdataPtr_t supportHierarchicalSync; + SmlDevInfCtCapListPtr_t ctcap; + SmlDevInfXmitListPtr_t filterrx; /* optional */ + SmlDevInfFilterCapListPtr_t filtercap; /* optional */ + // changes end + +public: + IMPORT_C sml_devinf_datastore_s(); + IMPORT_C ~sml_devinf_datastore_s(); + CXMLElement* BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + } *SmlDevInfDatastorePtr_t, SmlDevInfDatastore_t; + +typedef struct sml_devinf_datastorelist_s : public CXMLElement + { +public: + SmlDevInfDatastorePtr_t data; + struct sml_devinf_datastorelist_s *next; + +public: + IMPORT_C sml_devinf_datastorelist_s(); + IMPORT_C ~sml_devinf_datastorelist_s(); + } *SmlDevInfDatastoreListPtr_t, SmlDevInfDatastoreList_t; + +typedef struct sml_devinf_devinf_s : public CXMLElement + { +public: + SmlPcdataPtr_t verdtd; + SmlPcdataPtr_t man; /* optional */ + SmlPcdataPtr_t mod; /* optional */ + SmlPcdataPtr_t oem; /* optional */ + SmlPcdataPtr_t fwv; /* optional */ + SmlPcdataPtr_t swv; /* optional */ + SmlPcdataPtr_t hwv; /* optional */ + SmlPcdataPtr_t devid; + SmlPcdataPtr_t devtyp; + Flag_t flags; + SmlDevInfDatastoreListPtr_t datastore; + SmlDevInfCtCapListPtr_t ctcap; + SmlDevInfExtListPtr_t ext; + +public: + IMPORT_C sml_devinf_devinf_s(); + IMPORT_C ~sml_devinf_devinf_s(); + + TBool NeedsCleanup() const; + CXMLElement* BeginElementL( TUint8 aTag, const TXMLElementParams& aParams = TXMLElementParams() ); + CXMLElement::TAction EndElementL( TAny* aCallbacks, TUint8 aTag ); + } *SmlDevInfDevInfPtr_t, SmlDevInfDevInf_t; + +#endif // __SML_DEVINFDTD_H__