123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #ifndef UA_TYPES_ENCODING_XML_H_
- #define UA_TYPES_ENCODING_XML_H_
- #include "ua_xml.h"
- #include "ua_types.h"
- #define UA_TYPE_XML_ENCODING(TYPE) \
- UA_Int32 TYPE##_calcSizeXml(const void * p); \
- UA_Int32 TYPE##_encodeXml(const TYPE *src, UA_ByteString *dst, UA_UInt32 *offset); \
- UA_Int32 TYPE##_decodeXml(UA_ByteString *src, UA_UInt32 *offset, TYPE *dst); \
- UA_Int32 TYPE##_encodeXmlToStack(const TYPE *src, XML_Stack *s, XML_Attr *attr); \
- UA_Int32 TYPE##_decodeXmlFromStack(XML_Stack* s, XML_Attr* attr, TYPE* dst, UA_Boolean isStart);
- #define UA_TYPE_METHOD_CALCSIZEXML_NOTIMPL(TYPE) \
- UA_Int32 TYPE##_calcSizeXml(const void * p) { \
- return -1; \
- }
- #define UA_TYPE_METHOD_ENCODEXML_NOTIMPL(TYPE) \
- UA_Int32 TYPE##_encodeXml(const TYPE *src, UA_ByteString *dst, UA_UInt32 *offset) { \
- return UA_ERR_NOT_IMPLEMENTED; \
- } \
- UA_Int32 TYPE##_encodeXmlToStack(const TYPE *src, XML_Stack *s, XML_Attr *attr) { \
- DBG_VERBOSE(printf(#TYPE "_encodeXML entered with src=%p\n", (void* ) src)); \
- return UA_ERR_NOT_IMPLEMENTED;\
- }
- #define UA_TYPE_METHOD_DECODEXML_NOTIMPL(TYPE) \
- UA_Int32 TYPE##_decodeXml(UA_ByteString *src, UA_UInt32 *offset, TYPE *dst) { \
- return UA_ERR_NOT_IMPLEMENTED; \
- } \
- \
- UA_Int32 TYPE##_decodeXmlFromStack(XML_Stack* s, XML_Attr* attr, TYPE* dst, UA_Boolean isStart) { \
- DBG_VERBOSE(printf(#TYPE "_decodeXML entered with dst=%p,isStart=%d\n", (void* ) dst, (_Bool) isStart)); \
- return UA_ERR_NOT_IMPLEMENTED; \
- }
- #define UA_TYPE_DECODEXML_FROM_BYTESTRING(TYPE) \
- UA_Int32 TYPE##_decodeXml(UA_ByteString *src, UA_UInt32 *offset, TYPE *dst) { \
- /* // Init Stack here \
- UA_Stack *stack; \
- UA_Attr *attr; \
- TYPE##decodeXmlFromStack(stack, attr, dst, UA_TRUE); \
- */ \
- return UA_ERR_NOT_IMPLEMENTED; \
- }
- UA_TYPE_XML_ENCODING(UA_Boolean)
- UA_TYPE_XML_ENCODING(UA_SByte)
- UA_TYPE_XML_ENCODING(UA_Byte)
- UA_TYPE_XML_ENCODING(UA_Int16)
- UA_TYPE_XML_ENCODING(UA_UInt16)
- UA_TYPE_XML_ENCODING(UA_Int32)
- UA_TYPE_XML_ENCODING(UA_UInt32)
- UA_TYPE_XML_ENCODING(UA_Int64)
- UA_TYPE_XML_ENCODING(UA_UInt64)
- UA_TYPE_XML_ENCODING(UA_Float)
- UA_TYPE_XML_ENCODING(UA_Double)
- UA_TYPE_XML_ENCODING(UA_String)
- UA_TYPE_XML_ENCODING(UA_DateTime)
- UA_TYPE_XML_ENCODING(UA_Guid)
- UA_TYPE_XML_ENCODING(UA_ByteString)
- UA_TYPE_XML_ENCODING(UA_XmlElement)
- UA_TYPE_XML_ENCODING(UA_NodeId)
- UA_TYPE_XML_ENCODING(UA_ExpandedNodeId)
- UA_TYPE_XML_ENCODING(UA_StatusCode)
- UA_TYPE_XML_ENCODING(UA_QualifiedName)
- UA_TYPE_XML_ENCODING(UA_LocalizedText)
- UA_TYPE_XML_ENCODING(UA_ExtensionObject)
- UA_TYPE_XML_ENCODING(UA_DataValue)
- UA_TYPE_XML_ENCODING(UA_Variant)
- UA_TYPE_XML_ENCODING(UA_DiagnosticInfo)
- /* Not built-in types */
- UA_TYPE_XML_ENCODING(UA_InvalidType)
- #endif /* UA_TYPES_ENCODING_XML_H_ */
|