FEDM_XmlParser_TinyReader.h
Go to the documentation of this file.
00001 /*-------------------------------------------------------
00002 |                                                       |
00003 |       FEDM_XmlParser_TinyReader.h                                     |
00004 |                                                       |
00005 ---------------------------------------------------------
00006 
00007 Copyright © 2008-2011   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                 :       04.00.02 / 22.08.2011 / M. Hultsch
00019 Operation Systems       :       independent
00020 Function                        :       xml reader class based on tinyxml 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_TINY_READER_H
00032 #define FEDM_XMLPARSER_TINY_READER_H
00033 
00034 
00035 
00036 #ifdef _MSC_VER
00037         // The (microsoft) debugger can't handle symbols more than 255 characters long.
00038         // STL often creates symbols longer than that.
00039         // When symbols are longer than 255 characters, the warning is disabled.
00040         #pragma warning(disable:4786)   // for MFC
00041 #endif
00042 
00043 
00044 //#############################
00045 //      I N C L U D E S
00046 //#############################
00047 #include "FEDM_XmlParser_IReader.h"
00048 #include "tinyxml.h"
00049 
00050 
00051 
00052 //#######################################################################################
00053 //      class FEDM_XmlParser_TinyReader
00054 //#######################################################################################
00055 class FEDM_XmlParser_TinyReader : public FEDM_XmlParser_Reader
00056 {
00057 public:
00058         FEDM_XmlParser_TinyReader(void);
00059         virtual ~FEDM_XmlParser_TinyReader(void);
00060 
00061 
00062         // document management
00063         virtual int OpenDoc(char* sFileName);           // open a xml document
00064         virtual int CloseDoc();                                         // close xml document
00065         virtual int LoadDoc();                                          // read the xml text from file
00066         virtual int LoadDoc(const char* szOemRootTag);  // read the xml text from file
00067         virtual int LoadStream(wstring sXmlStream);     // load xml string
00068 
00069         virtual void DeleteXmlTree();
00070         virtual int AddTagItem(FEDM_XML_TREEITEM* pParent, FEDM_XML_TREEITEM* pChild);
00071 
00072         virtual FEDM_XML_TREEITEM* FindTag(     wstring sTag,
00073                                                                 unsigned int uiTagLevel,
00074                                                                 bool bNext=false);
00075 
00076         virtual FEDM_XML_TREEITEM* FindTag(     wstring sTag,
00077                                                                 wstring sAttribute,
00078                                                                 unsigned int uiTagLevel,
00079                                                                 bool bNext=false);
00080 
00081 
00082 protected:
00083         unsigned int    m_uiLastTagLevel;       // tag level of last FindTag()
00084 
00085         // tinyXML members
00086         TiXmlDocument*  m_pDoc;                         // xml document pointer from OpenDoc()
00087         TiXmlNode*              m_pLastParent;          // parent node pointer set by last FindTag()
00088         TiXmlNode*              m_pLastChild[20];       // child node pointer for each tag level set by last FindTag()
00089 };
00090 
00091 
00092 #endif // #ifndef FEDM_XMLPARSER_TINY_READER_H
00093 


maggie_rfid_drivers
Author(s): Raul Perula-Martinez
autogenerated on Mon Sep 14 2015 03:05:29