libMVRgdtf 40bc00a
A library for GDTF and MVR
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
rapidxmlsupport/XMLFileImpl.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2//----- Copyright deersoft 2015 - 2019 www.deersoft.de
3//-----------------------------------------------------------------------------
4#ifdef DONT_USE_XERCES_AS_XMLLIB
5
6#pragma once
7#include "Prefix/StdAfx.h"
8#include "tinyxml2.h"
9
10namespace VectorworksMVR
11{
12 namespace XML
13 {
14 using namespace VectorworksMVR::Filing;
15
16
17
18 // ----------------------------------------------------------------------------------------------------
19 class CXMLFileImpl : public IXMLFile
20 {
21 /*static*/ void Tokenize(const TXString& string, TXStringArray& outArray, const char* szTokens, size_t tokensLen, bool doStopTokenizeForSpecialCh /*= false*/, char stopStartCh /*= '\''*/);
22 public:
24 virtual ~CXMLFileImpl();
25
26 // IXMLFile
27 public:
28 virtual VCOMError VCOM_CALLTYPE CreateNew(const TXString& rootName);
30 virtual VCOMError VCOM_CALLTYPE ReadBuffer(IXMLFileIOBuffer* pInputBuffer, EXMLEncoding encoding);
32 virtual VCOMError VCOM_CALLTYPE WriteBuffer(IXMLFileIOBuffer* pOutputBuffer, EXMLEncoding encoding);
35 virtual VCOMError VCOM_CALLTYPE SetFeature(EXMLFileFeature feature, bool bValue);
36
37 virtual VCOMError VCOM_CALLTYPE GetSimpleNode(const TXString& nodePath, IXMLFileNode** ppOutNode);
38 virtual VCOMError VCOM_CALLTYPE GetSimpleNode(IXMLFileNode* pRefNode, const TXString& nodePath, IXMLFileNode** ppOutNode);
39 virtual VCOMError VCOM_CALLTYPE GetSimpleValue(const TXString& nodePath, TXString& outValue);
40 virtual VCOMError VCOM_CALLTYPE GetSimpleValue(IXMLFileNode* pRefNode, const TXString& nodePath, TXString& outValue);
41 virtual TXString VCOM_CALLTYPE GetSimpleValue(const TXString& nodePath, const TXString& defaultValue);
42 virtual TXString VCOM_CALLTYPE GetSimpleValue(IXMLFileNode* pRefNode, const TXString& nodePath, const TXString& defaultValue);
43 virtual VCOMError VCOM_CALLTYPE SetSimpleValue(const TXString& nodePath, const TXString& value);
44 virtual VCOMError VCOM_CALLTYPE SetSimpleValue(IXMLFileNode* pRefNode, const TXString& nodePath, const TXString& value);
45 virtual bool VCOM_CALLTYPE GetSimpleExist(const TXString& nodePath); // check to see if exist -- for organizing loops more efficiently
46 virtual bool VCOM_CALLTYPE GetSimpleExist(IXMLFileNode* pRefNode, const TXString& nodePath); // check to see if exist
47
48
49 virtual uint32_t VCOM_CALLTYPE AddRef();
50 virtual uint32_t VCOM_CALLTYPE Release();
51 private:
52 uint32_t fRefCnt;
54
55 };
56 }
57}
58#endif
#define VCOM_CALLTYPE
Definition VectorworksMVR.h:93
virtual uint32_t VCOM_CALLTYPE Release()
Definition StdAfx.h:196
virtual uint32_t VCOM_CALLTYPE AddRef()
Definition StdAfx.h:195
RefNumType fRefCnt
Definition StdAfx.h:220
Definition IFileIdentifier.h:21
Definition IXMLFile.h:109
Definition IXMLFile.h:60
Definition GSString.h:134
static void Tokenize(const TXString &string, TXStringArray &outArray, const char *szTokens, size_t tokensLen, bool doStopTokenizeForSpecialCh=false, char stopStartCh='\'')
Definition XMLLib/XMLFileImpl.cpp:647
virtual VCOMError VCOM_CALLTYPE GetSimpleNode(const TXString &nodePath, IXMLFileNode **ppOutNode)
Definition XMLLib/XMLFileImpl.cpp:826
virtual VCOMError VCOM_CALLTYPE ReadBuffer(IXMLFileIOBuffer *pInputBuffer, EXMLEncoding encoding)
Definition XMLLib/XMLFileImpl.cpp:250
virtual VCOMError VCOM_CALLTYPE GetSimpleValue(const TXString &nodePath, TXString &outValue)
Definition XMLLib/XMLFileImpl.cpp:838
static VCOMError GetLastError()
Definition XMLLib/XMLFileImpl.cpp:614
virtual VCOMError VCOM_CALLTYPE ReadFile(IFileIdentifier *pFileID)
Definition XMLLib/XMLFileImpl.cpp:136
virtual VCOMError VCOM_CALLTYPE WriteBuffer(IXMLFileIOBuffer *pOutputBuffer, EXMLEncoding encoding)
Definition XMLLib/XMLFileImpl.cpp:431
virtual VCOMError VCOM_CALLTYPE SetSimpleValue(const TXString &nodePath, const TXString &value)
Definition XMLLib/XMLFileImpl.cpp:872
virtual ~CXMLFileImpl()
Definition XMLLib/XMLFileImpl.cpp:77
virtual VCOMError VCOM_CALLTYPE CreateNew(const TXString &rootName)
Definition XMLLib/XMLFileImpl.cpp:96
virtual VCOMError VCOM_CALLTYPE GetRootNode(IXMLFileNode **ppOutNode)
Definition XMLLib/XMLFileImpl.cpp:515
virtual bool VCOM_CALLTYPE GetSimpleExist(const TXString &nodePath)
Definition XMLLib/XMLFileImpl.cpp:884
CXMLFileImpl()
Definition XMLLib/XMLFileImpl.cpp:57
virtual VCOMError VCOM_CALLTYPE SetFeature(EXMLFileFeature feature, bool bValue)
Definition XMLLib/XMLFileImpl.cpp:550
virtual VCOMError VCOM_CALLTYPE WriteFile(IFileIdentifier *pFileID, EXMLEncoding encoding)
Definition XMLLib/XMLFileImpl.cpp:335
Definition tinyxml2.h:1717
Definition IFileIdentifier.h:15
EXMLFileFeature
Definition IXMLFile.h:51
EXMLEncoding
Definition IXMLFile.h:16
EXMLFileError
Definition IXMLFile.h:35
Definition CieColor.h:9
std::vector< TXString > TXStringArray
Definition GSString.h:547
uint32_t VCOMError
Definition VectorworksMVR.h:119