00001 /*------------------------------------------------------- 00002 | | 00003 | FEDM_XmlParser_IWriter.h | 00004 | | 00005 --------------------------------------------------------- 00006 00007 Copyright © 2008 FEIG ELECTRONIC GmbH, All Rights Reserved. 00008 Lange Strasse 4 00009 D-35781 Weilburg 00010 Federal Republic of Germany 00011 phone : +49 6471 31090 00012 fax : +49 6471 310999 00013 e-mail : obid-support@feig.de 00014 Internet : http://www.feig.de 00015 00016 Author : Markus Hultsch 00017 Begin : 23.01.2008 00018 Version : 03.00.00 / 23.01.2008 / M. Hultsch 00019 Operation Systems : independent 00020 Function : abstract xml writer class for basic parser API 00021 00022 OBID® and OBID i-scan® are registered Trademarks of FEIG ELECTRONIC GmbH. 00023 Linux® is a registered trademark of Linus Torvalds. 00024 Microsoft® and Windows® are registered trademarks of Microsoft Corporation. 00025 */ 00026 00027 00028 //########################### 00029 // D E F I N E S 00030 //########################### 00031 #ifndef FEDM_XMLPARSER_IWRITER_H 00032 #define FEDM_XMLPARSER_IWRITER_H 00033 00034 00035 //############################# 00036 // I N C L U D E S 00037 //############################# 00038 #include "FedmIscCore.h" 00039 #include "FEDM_XmlParser_Types.h" // public include file of library 00040 00041 class FEDM_XmlParser_Base; 00042 00043 00044 //####################################################################################### 00045 // class FEDM_XmlParser_Writer 00046 //####################################################################################### 00047 class FEDM_XmlParser_Writer 00048 { 00049 public: 00050 FEDM_XmlParser_Writer(void); 00051 virtual ~FEDM_XmlParser_Writer(void); 00052 00053 virtual void SetComment(wstring sComment)=0; 00054 00055 // serialization helper functions for file-header 00056 virtual int SerializeHeaderOut(FEDM_XML_TREEITEM* parent, const char* szVendor=""); 00057 00058 00059 // document management 00060 virtual int OpenDoc(char* sFileName)=0; // open a xml document 00061 virtual int CloseDoc()=0; // close xml document 00062 virtual int WriteDoc()=0; // write the xml text into file 00063 virtual wstring WriteStream()=0; // build and return xml string 00064 00065 virtual void DeleteXmlTree()=0; 00066 00067 virtual FEDM_XML_TREEITEM* BuildTag(wstring sTag, bool bNewLine=true, bool bEmpty=false)=0; 00068 virtual int AddTagValue(FEDM_XML_TREEITEM* item, wstring sValue)=0; 00069 virtual int AddTagAttrib(FEDM_XML_TREEITEM* item, wstring sAttrib, wstring sValue)=0; 00070 virtual int AddTagItem(FEDM_XML_TREEITEM* pParent, FEDM_XML_TREEITEM* pChild)=0; 00071 00072 00073 FEDM_XmlParser_Base* m_pXmlParser; 00074 00075 friend class FEDM_XmlParser_Base; 00076 }; 00077 00078 #endif // #ifndef FEDM_XMLPARSER_IWRITER_H 00079