summaryrefslogtreecommitdiffstats
path: root/sinks/stderr/elapi_sink_stderr.c
diff options
context:
space:
mode:
authorDmitri Pal <dpal@redhat.com>2009-02-26 16:32:20 -0500
committerDmitri Pal <dpal@redhat.com>2009-02-26 16:32:20 -0500
commit8fb404ff3d803964764452f7e027ded5bf1d85b3 (patch)
tree472d7b69f545208fc54780fa8dbfcef1b6f4eb70 /sinks/stderr/elapi_sink_stderr.c
parentacb92e98ab01d5582d52737a7ad89919a00458aa (diff)
downloadelapi_draft-8fb404ff3d803964764452f7e027ded5bf1d85b3.tar.gz
elapi_draft-8fb404ff3d803964764452f7e027ded5bf1d85b3.tar.xz
elapi_draft-8fb404ff3d803964764452f7e027ded5bf1d85b3.zip
Major changes. Added high level API. Unstable. Checkin before testing.
Diffstat (limited to 'sinks/stderr/elapi_sink_stderr.c')
-rw-r--r--sinks/stderr/elapi_sink_stderr.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/sinks/stderr/elapi_sink_stderr.c b/sinks/stderr/elapi_sink_stderr.c
index 7bd5bf8..1c56b4e 100644
--- a/sinks/stderr/elapi_sink_stderr.c
+++ b/sinks/stderr/elapi_sink_stderr.c
@@ -59,7 +59,9 @@ static int stderr_sink_init(struct data_descriptor *dblock)
/* Formatting calback */
-static int stderr_sink_format(struct data_descriptor *dblock,struct collection_item *event)
+static int stderr_sink_format(struct data_descriptor *dblock,
+ char *format_str,
+ struct collection_item *event)
{
struct serial_data *serialized_data;
int error = EOK;
@@ -70,10 +72,18 @@ static int stderr_sink_format(struct data_descriptor *dblock,struct collection_i
serialized_data = (struct serial_data *)(dblock->internal_data);
- /* Traverse collection */
- error = traverse_collection(event,ELAPI_TRAVERSE_DEFAULT | ELAPI_TRAVERSE_END ,serialize,(void *)(serialized_data));
+ if(format_str != NULL) {
+ /* Use format string */
+ DEBUG_STRING("Using format:",format_str);
+ error = serialize_with_format(event,format_str,serialized_data);
+ }
+ else {
+ /* Traverse collection */
+ DEBUG_STRING("Using default serialization callback","");
+ error = traverse_collection(event,ELAPI_TRAVERSE_DEFAULT | ELAPI_TRAVERSE_END ,serialize,(void *)(serialized_data));
+ }
if(error) {
- DEBUG_NUMBER("traverse_collection returned error",error);
+ DEBUG_NUMBER("Serialization returned error",error);
return error;
}