From 7503c1e27b6a39f96b2c62222c08d803989c1c21 Mon Sep 17 00:00:00 2001 From: Krisztian Litkey Date: Tue, 11 Sep 2012 10:22:42 +0300 Subject: [PATCH] resolver: added basic event emission support. --- src/Makefile.am | 1 + src/resolver/events.c | 23 +++++++++++++++++++++++ src/resolver/events.h | 18 ++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 src/resolver/events.c create mode 100644 src/resolver/events.h diff --git a/src/Makefile.am b/src/Makefile.am index 03bb4aa..ce030c6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -283,6 +283,7 @@ libmurphy_resolver_la_REGULAR_SOURCES = \ resolver/target.c \ resolver/target-sorter.c \ resolver/fact.c \ + resolver/events.c \ $(SIMPLE_SCRIPT_SOURCES) libmurphy_resolver_la_SOURCES = \ diff --git a/src/resolver/events.c b/src/resolver/events.c new file mode 100644 index 0000000..6065f6d --- /dev/null +++ b/src/resolver/events.c @@ -0,0 +1,23 @@ +#include + +#include "resolver.h" +#include "events.h" + + + +MRP_REGISTER_EVENTS(events, + { MRP_RESOLVER_EVENT_STARTED, RESOLVER_UPDATE_STARTED }, + { MRP_RESOLVER_EVENT_FAILED , RESOLVER_UPDATE_FAILED }, + { MRP_RESOLVER_EVENT_DONE , RESOLVER_UPDATE_DONE }); + + +int emit_resolver_event(int event, const char *target, int level) +{ + uint16_t ttarget = MRP_RESOLVER_TAG_TARGET; + uint16_t tlevel = MRP_RESOLVER_TAG_LEVEL; + + return mrp_emit_event(events[event].id, + MRP_MSG_TAG_STRING(ttarget, target), + MRP_MSG_TAG_UINT32(tlevel , level), + MRP_MSG_END); +} diff --git a/src/resolver/events.h b/src/resolver/events.h new file mode 100644 index 0000000..abed932 --- /dev/null +++ b/src/resolver/events.h @@ -0,0 +1,18 @@ +#ifndef __MURPHY_RESOLVER_EVENTS_H__ +#define __MURPHY_RESOLVER_EVENTS_H__ + +/* + * resolver-related events + */ + +enum { + RESOLVER_UPDATE_STARTED = 0, + RESOLVER_UPDATE_FAILED, + RESOLVER_UPDATE_DONE +}; + + +int emit_resolver_event(int event, const char *target, int level); + + +#endif /* __MURPHY_RESOLVER_EVENTS_H__ */ -- 2.7.4