hl7parse
message_state.h
Go to the documentation of this file.
1 
76 #ifndef MESSAGE_STATE_H
77 #define MESSAGE_STATE_H
78 
79 #include "node.h"
80 typedef struct message_t message_t; // forward declaration
84 typedef struct message_state_t {
92 
99  size_t parsed_length;
100 
112  void (*cb_progress)(message_t *message, size_t total, size_t current);
113 
117  void (*cb_start)(message_t *message);
118 
125  void (*cb_end)(message_t *message, size_t max, size_t current, int exit_code);
126 
134  void (*cb_segment)(message_t *message, size_t num, char name[3]);
136 
137 #ifdef __cplusplus
138 extern "C" {
139 #endif
140 
145 
150 
151 /*
152 static size_t hl7_decode_cb_max,
153  hl7_decode_cb_current,
154  hl7_decode_cb_every = 0;
155 
156 static void (*hl7_decode_cb_callback)(size_t max, size_t current);
157 static void hl7_decode_cb_reset() {
158  hl7_decode_cb_max = 0;
159  hl7_decode_cb_current = 0;
160  hl7_decode_cb_every = 0;
161 }
162 
163 static void hl7_decode_cb(size_t max, size_t current) {
164  // global vars to track progress, be careful, this is not thread safe
165  hl7_decode_cb_callback(hl7_decode_cb_max, hl7_decode_cb_current);
166 }
167 
168 void hl7_decode_cb_register(void (*callback)(size_t max, size_t current), size_t max, size_t every) {
169  hl7_decode_cb_reset();
170  hl7_decode_cb_every = every;
171  hl7_decode_cb_max = max;
172  hl7_decode_cb_callback = callback;
173 }
174 */
175 
176 #ifdef __cplusplus
177 }
178 #endif
179 
180 #endif // MESSAGE_STATE_H
struct message_state_t message_state_t
holds callbacks and associated variables
message_state_t * message_state_new()
initializes an message_state_t structure
Definition: message_state.c:3
Main datastructures for HL7 nodes and messages This file contains the main parser data structures and...
void(* cb_start)(message_t *message)
start event, will be fired once when the parser starts
Definition: message_state.h:117
void(* cb_end)(message_t *message, size_t max, size_t current, int exit_code)
finish callback.
Definition: message_state.h:125
holds callbacks and associated variables
Definition: message_state.h:84
void(* cb_segment)(message_t *message, size_t num, char name[3])
segment parsed callback
Definition: message_state.h:134
int progress_every
fire progress callback every N bytes
Definition: message_state.h:91
void message_state_free(message_state_t *ms)
frees an messate_state_t structure
Definition: message_state.c:15
Definition: node.h:244
size_t parsed_length
The total length of the parsed file.
Definition: message_state.h:99
void(* cb_progress)(message_t *message, size_t total, size_t current)
progress callback
Definition: message_state.h:112