From 4021aa231eba31a0d925e4d7c9013d44ccf79f30 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 27 Mar 2013 13:18:30 +0000 Subject: XML API extended by two file operations: save to & read from file git-svn-id: http://svn.miranda-ng.org/main/trunk@4217 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- include/m_xml.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'include') diff --git a/include/m_xml.h b/include/m_xml.h index 24cb21bf4f..12c7bda369 100644 --- a/include/m_xml.h +++ b/include/m_xml.h @@ -39,6 +39,33 @@ typedef enum } XML_ELEMENT_TYPE; +/// Enumeration for XML parse errors. +typedef enum XMLError +{ + eXMLErrorNone = 0, + eXMLErrorMissingEndTag, + eXMLErrorNoXMLTagFound, + eXMLErrorEmpty, + eXMLErrorMissingTagName, + eXMLErrorMissingEndTagName, + eXMLErrorUnmatchedEndTag, + eXMLErrorUnmatchedEndClearTag, + eXMLErrorUnexpectedToken, + eXMLErrorNoElements, + eXMLErrorFileNotFound, + eXMLErrorFirstTagNotFound, + eXMLErrorUnknownCharacterEntity, + eXMLErrorCharacterCodeAbove255, + eXMLErrorCharConversionError, + eXMLErrorCannotOpenWriteFile, + eXMLErrorCannotWriteFile, + + eXMLErrorBase64DataSizeIsNotMultipleOf4, + eXMLErrorBase64DecodeIllegalCharacter, + eXMLErrorBase64DecodeTruncatedData, + eXMLErrorBase64DecodeBufferTooSmall +} XMLError; + typedef struct { size_t cbSize; @@ -110,6 +137,9 @@ typedef struct XML_ELEMENT_POS (*positionOfChildByName)(HXML, LPCTSTR name, int i); XML_ELEMENT_POS (*positionOfText)(HXML, int i); XML_ELEMENT_POS (*positionOfClear)(HXML, int i); + + HXML (*parseFile)(LPCTSTR filename, int* datalen, LPCTSTR tag); + XMLError (*toFile)(HXML node, LPCTSTR filename); } XML_API; -- cgit v1.2.3