diff options
Diffstat (limited to 'Minecraft.Client/Xbox/Sentient/Include/SenClientXML.h')
| -rw-r--r-- | Minecraft.Client/Xbox/Sentient/Include/SenClientXML.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/Minecraft.Client/Xbox/Sentient/Include/SenClientXML.h b/Minecraft.Client/Xbox/Sentient/Include/SenClientXML.h new file mode 100644 index 00000000..d1ebc051 --- /dev/null +++ b/Minecraft.Client/Xbox/Sentient/Include/SenClientXML.h @@ -0,0 +1,85 @@ +/******************************************************** +* * +* Copyright (C) Microsoft. All rights reserved. * +* * +********************************************************/ + +// Sentient Client XML API +// +// Include this to get access to all XML Sentient features. + +#pragma once + +#include "SenClientTypes.h" + + +namespace Sentient +{ + //======================// + // // + // XML Data Types // + // // + //======================// + + /// @brief An easy-to-access pre-parsed XML. + /// + /// @details This holds some easily-traversible, easily-searchible representations + /// of the content of a raw UTF-8 XML buffer. + /// + /// @related SenXMLParse() + /// @related SenXMLDestroy() + /// + struct SenXML + { + void *reserved; + }; + + + //=====================// + // // + // XML Functions // + // // + //=====================// + + /// @brief Parse a raw UTF-8 XML buffer into a more useful format. + /// + /// @param[in] source + /// The raw UTF-8 XML buffer to be parsed. + /// + /// @param[out] out_senXML + /// The (private) object to hold the parsed data. + /// + /// @return Check SUCCEEDED( hresult ) or FAILED( hresult ) to determine success. Specific values include: + /// E_POINTER: Bad pointer to the raw XML buffer. + /// E_OUTOFMEMORY: Couldn't parse due to lack of memory. + /// E_FAIL: Failed to parse for unspecified reason. + /// S_OK: Parsed successfully. + /// + /// @details It is expensive to parse an XML file directly for each attribute fetch. + /// Thus, we pre-parse the whole thing once after (down)loading it and then + /// pass the parsed data to the fetch routines. + /// + /// @related SenXMLDestroy() + /// + HRESULT SenXMLParse( + const char *source, + SenXML *out_senXML ); + + /// @brief Free the resources/memory associated with a parsed XML file. + /// + /// @param[in] senXML + /// The (private) object holding the parsed data to be freed. + /// + /// @return Check SUCCEEDED( hresult ) or FAILED( hresult ) to determine success. Specific values include: + /// E_INVALIDARG: senXML is not a parsed XML. + /// S_OK: Destroyed/freed successfully. + /// + /// @details A parsed XML takes up some extra memory. Once done with its contents, + /// you should call this routine to free it up. + /// + /// @related SenXMLParse() + /// + HRESULT SenXMLDestroy( + SenXML &senXML ); + +} // namespace Sentient |
