diff options
Diffstat (limited to 'lib/xml_base.h')
-rw-r--r-- | lib/xml_base.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/xml_base.h b/lib/xml_base.h new file mode 100644 index 00000000..4614615e --- /dev/null +++ b/lib/xml_base.h @@ -0,0 +1,42 @@ +// ************************************************************************** +// * This file is part of the FreeFileSync project. It is distributed under * +// * GNU General Public License: http://www.gnu.org/licenses/gpl.html * +// * Copyright (C) 2008-2011 ZenJu (zhnmju123 AT gmx.de) * +// ************************************************************************** + +#ifndef XMLBASE_H_INCLUDED +#define XMLBASE_H_INCLUDED + +#include <zenxml/xml.h> +#include <zen/zstring.h> +#include <zen/file_error.h> + +//bind zenxml and zen file handling together + +namespace xmlAccess +{ +class FfsXmlError //Exception class +{ +public: + enum Severity + { + WARNING = 77, + FATAL + }; + + FfsXmlError(const std::wstring& message, Severity sev = FATAL) : errorMessage(message), m_severity(sev) {} + + const std::wstring& msg() const { return errorMessage; } + Severity getSeverity() const { return m_severity; } +private: + const std::wstring errorMessage; + const Severity m_severity; +}; + +void saveXmlDocument(const zen::XmlDoc& doc, const Zstring& filename); //throw FfsXmlError +void loadXmlDocument(const Zstring& filename, zen::XmlDoc& doc); //throw FfsXmlError + +const std::wstring getErrorMessageFormatted(const zen::XmlIn& in); +} + +#endif // XMLBASE_H_INCLUDED |