40 class CXMLTextEncoder;
41 class CXMLTextEncoderStream;
42 class CXMLTextDecoder;
43 class CXMLTextDecoderStream;
45 class CXMLTextEncoder :
public CEncoder
47 friend class CXMLTextEncoderStream;
62 ~CXMLTextEncoder (
void);
66 const CElement * pElement);
69 class CXMLTextDecoder :
public CDecoder
71 friend class CXMLTextDecoderStream;
74 struct _xmlDoc * m_pDoc;
75 struct _xmlNode * m_pxmlNodeTree;
79 const CTypeRegistry * pTypeRegistry,
84 const CTypeRegistry * pTypeRegistry,
85 struct _xmlNode * pNodeTree);
89 const CTypeRegistry * pTypeRegistry,
92 ~CXMLTextDecoder (
void);
129 class CXMLTextEncoderStream :
public CEncoderStream
131 friend class CXMLTextEncoder;
135 putRequiredSubParameter (
136 const CParameter * pParameter,
137 const CTypeDescriptor * pRefType);
140 putOptionalSubParameter (
141 const CParameter * pParameter,
142 const CTypeDescriptor * pRefType);
145 putRequiredSubParameterList (
146 const tListOfParameters * pParameterList,
147 const CTypeDescriptor * pRefType);
150 putOptionalSubParameterList (
151 const tListOfParameters * pParameterList,
152 const CTypeDescriptor * pRefType);
161 const CFieldDescriptor * pFieldDescriptor);
166 const CFieldDescriptor * pFieldDescriptor);
171 const CFieldDescriptor * pFieldDescriptor);
176 const CFieldDescriptor * pFieldDescriptor);
185 const CFieldDescriptor * pFieldDescriptor);
190 const CFieldDescriptor * pFieldDescriptor);
195 const CFieldDescriptor * pFieldDescriptor);
200 const CFieldDescriptor * pFieldDescriptor);
209 const CFieldDescriptor * pFieldDescriptor);
214 const CFieldDescriptor * pFieldDescriptor);
219 const CFieldDescriptor * pFieldDescriptor);
224 const CFieldDescriptor * pFieldDescriptor);
233 const CFieldDescriptor * pFieldDescriptor);
238 const CFieldDescriptor * pFieldDescriptor);
243 const CFieldDescriptor * pFieldDescriptor);
248 const CFieldDescriptor * pFieldDescriptor);
257 const CFieldDescriptor * pFieldDescriptor);
262 const CFieldDescriptor * pFieldDescriptor);
267 const CFieldDescriptor * pFieldDescriptor);
272 const CFieldDescriptor * pFieldDescriptor);
277 const CFieldDescriptor * pFieldDescriptor);
281 llrp_bytesToEnd_t Value,
282 const CFieldDescriptor * pFieldDescriptor);
291 const CFieldDescriptor * pFieldDescriptor);
296 const CFieldDescriptor * pFieldDescriptor);
301 const CFieldDescriptor * pFieldDescriptor);
306 const CFieldDescriptor * pFieldDescriptor);
311 const CFieldDescriptor * pFieldDescriptor);
316 const CFieldDescriptor * pFieldDescriptor);
327 CXMLTextEncoderStream (
328 CXMLTextEncoder * pEncoder);
330 CXMLTextEncoderStream (
331 CXMLTextEncoderStream * pEnclosingEncoderStream);
333 CXMLTextEncoder * m_pEncoder;
334 CXMLTextEncoderStream * m_pEnclosingEncoderStream;
335 const CTypeDescriptor * m_pRefType;
336 unsigned int m_nDepth;
340 const CElement * pElement);
345 const CFieldDescriptor * pFieldDescriptor);
348 indent(
int delta = 0);
359 appendPrefixedTagName (
369 class CXMLTextDecoderStream :
public CDecoderStream
371 friend class CXMLTextDecoder;
374 CXMLTextDecoderStream (
375 CXMLTextDecoder * pDecoder);
377 CXMLTextDecoderStream (
378 CXMLTextDecoderStream * pEnclosingDecoderStream);
393 const CFieldDescriptor * pFieldDesc);
398 const CFieldDescriptor * pFieldDesc);
403 const CFieldDescriptor * pFieldDesc);
408 const CFieldDescriptor * pFieldDesc);
417 const CFieldDescriptor * pFieldDesc);
422 const CFieldDescriptor * pFieldDesc);
427 const CFieldDescriptor * pFieldDesc);
432 const CFieldDescriptor * pFieldDesc);
441 const CFieldDescriptor * pFieldDesc);
446 const CFieldDescriptor * pFieldDesc);
451 const CFieldDescriptor * pFieldDesc);
456 const CFieldDescriptor * pFieldDesc);
465 const CFieldDescriptor * pFieldDesc);
470 const CFieldDescriptor * pFieldDesc);
475 const CFieldDescriptor * pFieldDesc);
480 const CFieldDescriptor * pFieldDesc);
489 const CFieldDescriptor * pFieldDesc);
494 const CFieldDescriptor * pFieldDesc);
499 const CFieldDescriptor * pFieldDesc);
504 const CFieldDescriptor * pFieldDesc);
509 const CFieldDescriptor * pFieldDesc);
514 const CFieldDescriptor * pFieldDesc);
523 const CFieldDescriptor * pFieldDesc);
528 const CFieldDescriptor * pFieldDesc);
533 const CFieldDescriptor * pFieldDesc);
538 const CFieldDescriptor * pFieldDesc);
543 const CFieldDescriptor * pFieldDesc);
548 const CFieldDescriptor * pFieldDesc);
559 CXMLTextDecoder * m_pDecoder;
560 CXMLTextDecoderStream * m_pEnclosingDecoderStream;
561 const CTypeDescriptor * m_pRefType;
562 struct _xmlNode * m_pTargetNode;
563 struct _xmlNode * m_pCurrentChildNode;
564 struct _xmlNode * m_pLastFieldNode;
567 verifyVectorAllocation (
569 const CFieldDescriptor * pFieldDescriptor);
572 isInsignificantNode (
573 struct _xmlNode * pnode);
578 const CFieldDescriptor * pFieldDescriptor,
579 const llrp_u8_t ** pbuf,
580 const llrp_u8_t ** pend);
583 getSpacedVectorField (
584 const CFieldDescriptor * pFieldDescriptor,
586 llrp_s64_t maxValue);
589 getFixedVectorField (
590 const CFieldDescriptor * pFieldDescriptor,
591 unsigned int vectorSize,
593 llrp_s64_t maxValue);
597 const CFieldDescriptor * pFieldDescriptor,
599 llrp_s64_t maxValue);
601 llrp_s64_t getInteger(
602 const CFieldDescriptor * pFieldDescriptor,
603 const llrp_u8_t * pbuf,
604 const llrp_u8_t * pend,
605 CErrorDetails *pError,
607 llrp_s64_t maxValue);
611 static const llrp_u8_t *
613 const llrp_u8_t * pbuf,
614 const llrp_u8_t * pend,
615 llrp_s64_t * pValue);
617 static const llrp_u8_t *
619 const CFieldDescriptor * pFieldDescriptor,
620 const llrp_u8_t * pbuf,
621 const llrp_u8_t * pend,
622 llrp_s64_t * pValue);
624 static const llrp_u8_t *
626 const llrp_u8_t * pbuf,
627 const llrp_u8_t * pend,
628 llrp_s64_t * pValue);
630 static const llrp_u8_t *
631 getSingleHexidecimal(
632 const llrp_u8_t * pbuf,
633 const llrp_u8_t * pend,
634 llrp_s64_t * pValue);
638 const llrp_u8_t ** ppbuf,
639 const llrp_u8_t ** ppend);
641 static const llrp_u8_t *
643 const llrp_u8_t * pbuf,
644 const llrp_u8_t * pend,
645 llrp_s64_t * pValue);
653 static const llrp_s64_t MAX_U8 = ((1ull << 8u) - 1u);
654 static const llrp_s64_t MIN_U8 = 0ull;
655 static const llrp_s64_t MAX_S8 = ((1ull << 7u) - 1u);
656 static const llrp_s64_t MIN_S8 = (-1ll - MAX_S8);
658 static const llrp_s64_t MAX_U16 = ((1ull << 16u) - 1u);
659 static const llrp_s64_t MIN_U16 = 0ull;
660 static const llrp_s64_t MAX_S16 = ((1ull << 15u) - 1u);
661 static const llrp_s64_t MIN_S16 = (-1ll - MAX_S16);
663 static const llrp_s64_t MAX_U32 = ((1ull << 32u) - 1u);
664 static const llrp_s64_t MIN_U32 = 0ull;
665 static const llrp_s64_t MAX_S32 = ((1ull << 31u) - 1u);
666 static const llrp_s64_t MIN_S32 = (-1ll - MAX_S32);
668 static const llrp_s64_t MAX_U64 = ((1ull << 63u) - 1u);
669 static const llrp_s64_t MIN_U64 = 0ull;
670 static const llrp_s64_t MAX_S64 = ((1ull << 63u) - 1u);
671 static const llrp_s64_t MIN_S64 = (-1ll - MAX_S64);