PageRenderTime 67ms CodeModel.GetById 30ms RepoModel.GetById 1ms app.codeStats 0ms

/mingw-w64-headers/include/xmllite.idl

https://gitlab.com/ubuntu-trusty/mingw-w64
IDL | 295 lines | 255 code | 14 blank | 26 comment | 0 complexity | 245f8ec87a7cae39149278e629ff7832 MD5 | raw file
  1. /*
  2. * Copyright (C) 2010 Nikolay Sivov
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the Free Software
  16. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  17. */
  18. import "unknwn.idl";
  19. import "objidl.idl";
  20. import "oaidl.idl";
  21. typedef enum XmlNodeType {
  22. XmlNodeType_None = 0,
  23. XmlNodeType_Element = 1,
  24. XmlNodeType_Attribute = 2,
  25. XmlNodeType_Text = 3,
  26. XmlNodeType_CDATA = 4,
  27. XmlNodeType_ProcessingInstruction = 7,
  28. XmlNodeType_Comment = 8,
  29. XmlNodeType_DocumentType = 10,
  30. XmlNodeType_Whitespace = 13,
  31. XmlNodeType_EndElement = 15,
  32. XmlNodeType_XmlDeclaration = 17,
  33. _XmlNodeType_Last = 17
  34. } XmlNodeType;
  35. /* IXmlReader */
  36. [
  37. local,
  38. object,
  39. uuid(7279fc81-709d-4095-b63d-69fe4b0d9030),
  40. pointer_default(unique)
  41. ]
  42. interface IXmlReader : IUnknown
  43. {
  44. HRESULT SetInput( [in] IUnknown *input);
  45. HRESULT GetProperty( [in] UINT property, [out] LONG_PTR *value);
  46. HRESULT SetProperty( [in] UINT property, [in] LONG_PTR value);
  47. HRESULT Read( [out] XmlNodeType *node_type);
  48. HRESULT GetNodeType( [out] XmlNodeType *node_type);
  49. HRESULT MoveToFirstAttribute(void);
  50. HRESULT MoveToNextAttribute(void);
  51. HRESULT MoveToAttributeByName( [in] LPCWSTR local_name,
  52. [in] LPCWSTR namespaceUri);
  53. HRESULT MoveToElement(void);
  54. HRESULT GetQualifiedName( [out] LPCWSTR *qualifiedName,
  55. [out] UINT *qualifiedName_length);
  56. HRESULT GetNamespaceUri( [out] LPCWSTR *namespaceUri,
  57. [out] UINT *nnamespaceUri_length);
  58. HRESULT GetLocalName( [out] LPCWSTR *local_name,
  59. [out] UINT *locale_name_length);
  60. HRESULT GetPrefix( [out] LPCWSTR *prefix,
  61. [out] UINT *prefix_length);
  62. HRESULT GetValue( [out] LPCWSTR *value,
  63. [out] UINT *value_length);
  64. HRESULT ReadValueChunk( [out] WCHAR *buffer,
  65. [in] UINT chunk_size,
  66. [in,out] UINT *read);
  67. HRESULT GetBaseUri( [out] LPCWSTR *baseUri,
  68. [out] UINT *baseUri_length);
  69. BOOL IsDefault(void);
  70. BOOL IsEmptyElement(void);
  71. HRESULT GetLineNumber( [out] UINT *lineNumber);
  72. HRESULT GetLinePosition( [out] UINT *linePosition);
  73. HRESULT GetAttributeCount( [out] UINT *attributeCount);
  74. HRESULT GetDepth( [out] UINT *depth);
  75. BOOL IsEOF(void);
  76. }
  77. /* IXmlResolver */
  78. [
  79. local,
  80. object,
  81. uuid(7279fc82-709d-4095-b63d-69fe4b0d9030),
  82. pointer_default(unique)
  83. ]
  84. interface IXmlResolver : IUnknown
  85. {
  86. HRESULT ResolveUri([in] LPCWSTR base_uri,
  87. [in] LPCWSTR public_id,
  88. [in] LPCWSTR system_id,
  89. [out] IUnknown **input);
  90. }
  91. /* IXmlReader state */
  92. typedef enum XmlReadState
  93. {
  94. XmlReadState_Initial,
  95. XmlReadState_Interactive,
  96. XmlReadState_Error,
  97. XmlReadState_EndOfFile,
  98. XmlReadState_Closed
  99. } XmlReadState;
  100. /* conformance levels */
  101. typedef enum XmlConformanceLevel
  102. {
  103. XmlConformanceLevel_Auto,
  104. XmlConformanceLevel_Fragment,
  105. XmlConformanceLevel_Document,
  106. _XmlConformanceLevel_Last = XmlConformanceLevel_Document
  107. } XmlConformanceLevel;
  108. /* DTD processing mode */
  109. typedef enum DtdProcessing
  110. {
  111. DtdProcessing_Prohibit,
  112. DtdProcessing_Parse,
  113. _DtdProcessing_Last = DtdProcessing_Parse
  114. } DtdProcessing;
  115. /* IXmlReader properties */
  116. typedef enum XmlReaderProperty
  117. {
  118. XmlReaderProperty_MultiLanguage,
  119. XmlReaderProperty_ConformanceLevel,
  120. XmlReaderProperty_RandomAccess,
  121. XmlReaderProperty_XmlResolver,
  122. XmlReaderProperty_DtdProcessing,
  123. XmlReaderProperty_ReadState,
  124. XmlReaderProperty_MaxElementDepth,
  125. XmlReaderProperty_MaxEntityExpansion,
  126. _XmlReaderProperty_Last = XmlReaderProperty_MaxEntityExpansion
  127. } XmlReaderProperty;
  128. /* reader error codes */
  129. typedef enum XmlError
  130. {
  131. MX_E_MX = 0xc00cee00,
  132. MX_E_INPUTEND,
  133. MX_E_ENCODING,
  134. MX_E_ENCODINGSWITCH,
  135. MX_E_ENCODINGSIGNATURE,
  136. WC_E_WC = 0xc00cee20,
  137. WC_E_WHITESPACE,
  138. WC_E_SEMICOLON,
  139. WC_E_GREATERTHAN,
  140. WC_E_QUOTE,
  141. WC_E_EQUAL,
  142. WC_E_LESSTHAN,
  143. WC_E_HEXDIGIT,
  144. WC_E_DIGIT,
  145. WC_E_LEFTBRACKET,
  146. WC_E_LEFTPAREN,
  147. WC_E_XMLCHARACTER,
  148. WC_E_NAMECHARACTER,
  149. WC_E_SYNTAX,
  150. WC_E_CDSECT,
  151. WC_E_COMMENT,
  152. WC_E_CONDSECT,
  153. WC_E_DECLATTLIST,
  154. WC_E_DECLDOCTYPE,
  155. WC_E_DECLELEMENT,
  156. WC_E_DECLENTITY,
  157. WC_E_DECLNOTATION,
  158. WC_E_NDATA,
  159. WC_E_PUBLIC,
  160. WC_E_SYSTEM,
  161. WC_E_NAME,
  162. WC_E_ROOTELEMENT,
  163. WC_E_ELEMENTMATCH,
  164. WC_E_UNIQUEATTRIBUTE,
  165. WC_E_TEXTXMLDECL,
  166. WC_E_LEADINGXML,
  167. WC_E_TEXTDECL,
  168. WC_E_XMLDECL,
  169. WC_E_ENCNAME,
  170. WC_E_PUBLICID,
  171. WC_E_PESINTERNALSUBSET,
  172. WC_E_PESBETWEENDECLS,
  173. WC_E_NORECURSION,
  174. WC_E_ENTITYCONTENT,
  175. WC_E_UNDECLAREDENTITY,
  176. WC_E_PARSEDENTITY,
  177. WC_E_NOEXTERNALENTITYREF,
  178. WC_E_PI,
  179. WC_E_SYSTEMID,
  180. WC_E_QUESTIONMARK,
  181. WC_E_CDSECTEND,
  182. WC_E_MOREDATA,
  183. WC_E_DTDPROHIBITED,
  184. WC_E_INVALIDXMLSPACE,
  185. NC_E_NC = 0xc00cee60,
  186. NC_E_QNAMECHARACTER,
  187. NC_E_QNAMECOLON,
  188. NC_E_NAMECOLON,
  189. NC_E_DECLAREDPREFIX,
  190. NC_E_UNDECLAREDPREFIX,
  191. NC_E_EMPTYURI,
  192. NC_E_XMLPREFIXRESERVED,
  193. NC_E_XMLNSPREFIXRESERVED,
  194. NC_E_XMLURIRESERVED,
  195. NC_E_XMLNSURIRESERVED,
  196. SC_E_SC = 0xc00cee80,
  197. SC_E_MAXELEMENTDEPTH,
  198. SC_E_MAXENTITYEXPANSION,
  199. WR_E_WR = 0xc00cef00,
  200. WR_E_NONWHITESPACE,
  201. WR_E_NSPREFIXDECLARED,
  202. WR_E_NSPREFIXWITHEMPTYNSURI,
  203. WR_E_DUPLICATEATTRIBUTE,
  204. WR_E_XMLNSPREFIXDECLARATION,
  205. WR_E_XMLPREFIXDECLARATION,
  206. WR_E_XMLURIDECLARATION,
  207. WR_E_XMLNSURIDECLARATION,
  208. WR_E_NAMESPACEUNDECLARED,
  209. WR_E_INVALIDXMLSPACE,
  210. WR_E_INVALIDACTION,
  211. WR_E_INVALIDSURROGATEPAIR,
  212. XML_E_INVALID_DECIMAL = 0xc00ce01d,
  213. XML_E_INVALID_HEXIDECIMAL,
  214. XML_E_INVALID_UNICODE,
  215. XML_E_INVALIDENCODING = 0xc00ce06e
  216. } XmlError;
  217. /* IXmlReader construction */
  218. cpp_quote("STDAPI CreateXmlReader(REFIID riid, void **ppvObject, IMalloc *pMalloc);")
  219. cpp_quote("typedef IUnknown IXmlReaderInput;")
  220. cpp_quote("STDAPI CreateXmlReaderInputWithEncodingName(IUnknown *stream, IMalloc *pMalloc,")
  221. cpp_quote(" LPCWSTR encoding, WINBOOL hint,")
  222. cpp_quote(" LPCWSTR base_uri, IXmlReaderInput **ppInput);")
  223. typedef enum XmlStandalone
  224. {
  225. XmlStandalone_Omit,
  226. XmlStandalone_Yes,
  227. XmlStandalone_No,
  228. _XmlStandalone_Last = XmlStandalone_No
  229. } XmlStandalone;
  230. typedef enum XmlWriterProperty
  231. {
  232. XmlWriterProperty_MultiLanguage,
  233. XmlWriterProperty_Indent,
  234. XmlWriterProperty_ByteOrderMark,
  235. XmlWriterProperty_OmitXmlDeclaration,
  236. XmlWriterProperty_ConformanceLevel,
  237. _XmlWriterProperty_Last = XmlWriterProperty_OmitXmlDeclaration
  238. } XmlWriterProperty;
  239. /* IXmlWriter */
  240. [
  241. local,
  242. object,
  243. uuid(7279FC88-709D-4095-B63D-69FE4B0D9030),
  244. pointer_default(unique)
  245. ]
  246. interface IXmlWriter : IUnknown
  247. {
  248. HRESULT SetOutput([in] IUnknown *pOutput);
  249. HRESULT GetProperty([in] UINT nProperty, [out] LONG_PTR *ppValue);
  250. HRESULT SetProperty([in] UINT nProperty, [in] LONG_PTR pValue);
  251. HRESULT WriteAttributes([in] IXmlReader *pReader, [in] BOOL fWriteDefaultAttributes);
  252. HRESULT WriteAttributeString([in] LPCWSTR pwszPrefix, [in] LPCWSTR pwszLocalName,
  253. [in] LPCWSTR pwszNamespaceUri, [in] LPCWSTR pwszValue);
  254. HRESULT WriteCData([in] LPCWSTR pwszText);
  255. HRESULT WriteCharEntity([in] WCHAR wch);
  256. HRESULT WriteChars([in] const WCHAR *pwch, [in] UINT cwch);
  257. HRESULT WriteComment([in] LPCWSTR pwszComment);
  258. HRESULT WriteDocType([in] LPCWSTR pwszName, [in] LPCWSTR pwszPublicId,
  259. [in] LPCWSTR pwszSystemId, [in] LPCWSTR pwszSubset);
  260. HRESULT WriteElementString([in] LPCWSTR pwszPrefix, [in] LPCWSTR pwszLocalName,
  261. [in] LPCWSTR pwszNamespaceUri, [in] LPCWSTR pwszValue);
  262. HRESULT WriteEndDocument();
  263. HRESULT WriteEndElement();
  264. HRESULT WriteEntityRef([in] LPCWSTR pwszName);
  265. HRESULT WriteFullEndElement();
  266. HRESULT WriteName([in] LPCWSTR pwszName);
  267. HRESULT WriteNmToken([in] LPCWSTR pwszNmToken);
  268. HRESULT WriteNode([in] IXmlReader *pReader, [in] BOOL fWriteDefaultAttributes);
  269. HRESULT WriteNodeShallow([in] IXmlReader *pReader, [in] BOOL fWriteDefaultAttributes);
  270. HRESULT WriteProcessingInstruction([in] LPCWSTR pwszName, [in] LPCWSTR pwszText);
  271. HRESULT WriteQualifiedName([in] LPCWSTR pwszLocalName, [in] LPCWSTR pwszNamespaceUri);
  272. HRESULT WriteRaw([in] LPCWSTR pwszData);
  273. HRESULT WriteRawChars([in] const WCHAR *pwch, [in] UINT cwch);
  274. HRESULT WriteStartDocument([in] XmlStandalone standalone);
  275. HRESULT WriteStartElement([in] LPCWSTR pwszPrefix, [in] LPCWSTR pwszLocalName,
  276. [in] LPCWSTR pwszNamespaceUri);
  277. HRESULT WriteString([in] LPCWSTR pwszText);
  278. HRESULT WriteSurrogateCharEntity([in] WCHAR wchLow, [in] WCHAR wchHigh);
  279. HRESULT WriteWhitespace([in] LPCWSTR pwszWhitespace);
  280. HRESULT Flush();
  281. }