element-reader.h
1 
21 #ifndef NDN_ELEMENT_READER_H
22 #define NDN_ELEMENT_READER_H
23 
24 #include "element-listener.h"
25 #include "binary-xml-structure-decoder.h"
26 #include "tlv/tlv-structure-decoder.h"
27 #include "../util/dynamic-uint8-array.h"
28 #include <ndn-cpp/c/encoding/element-reader-types.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
46 static __inline void ndn_ElementReader_initialize
47  (struct ndn_ElementReader *self, struct ndn_ElementListener *elementListener,
48  struct ndn_DynamicUInt8Array *buffer)
49 {
50  self->elementListener = elementListener;
51 #ifndef ARDUINO // Skip deprecated binary XML to save space. (We will soon remove binary XML completely.)
52  ndn_BinaryXmlStructureDecoder_initialize(&self->binaryXmlStructureDecoder);
53 #endif
54  ndn_TlvStructureDecoder_initialize(&self->tlvStructureDecoder);
55  self->partialData = buffer;
56  self->usePartialData = 0;
57 }
58 
67 static __inline void ndn_ElementReader_reset
68  (struct ndn_ElementReader *self, struct ndn_ElementListener *elementListener)
69 {
70  self->elementListener = elementListener;
71 #ifndef ARDUINO // Skip deprecated binary XML to save space. (We will soon remove binary XML completely.)
72  ndn_BinaryXmlStructureDecoder_reset(&self->binaryXmlStructureDecoder);
73 #endif
74  ndn_TlvStructureDecoder_reset(&self->tlvStructureDecoder);
75  self->usePartialData = 0;
76 }
77 
86 ndn_Error ndn_ElementReader_onReceivedData
87  (struct ndn_ElementReader *self, const uint8_t *data, size_t dataLength);
88 
89 #ifdef __cplusplus
90 }
91 #endif
92 
93 #endif
An ndn_ElementListener struct holds a function pointer onReceivedElement.
Definition: element-reader-types.h:37
A struct ndn_DynamicUInt8Array holds a pointer to an allocated array, the length of the allocated arr...
Definition: dynamic-uint8-array-types.h:40
A ndn_ElementReader lets you call ndn_ElementReader_onReceivedData multiple times which uses an ndn_B...
Definition: element-reader-types.h:71