#include <glib.h>
#include <glib-object.h>
#include <axsdk/axparameter.h>
#include <glib/gprintf.h>
#include <syslog.h>
#include <signal.h>
#define APP_NAME "parameterApp"
static GMainLoop *loop = NULL;
static void
parameter_callback(const gchar *name, const gchar *value, gpointer data)
{
syslog(LOG_INFO, "In Parameter callback");
}
static void
handle_sigterm(int signo)
{
g_main_loop_quit(loop);
}
static void
init_signals(void)
{
struct sigaction sa;
sa.sa_flags = 0;
sigemptyset(&sa.sa_mask);
sa.sa_handler = handle_sigterm;
sigaction(SIGTERM, &sa, NULL);
sigaction(SIGINT, &sa, NULL);
}
gint
main(gint argc, gchar *argv[])
{
GError *error = NULL;
gchar *value = NULL;
GList *list = NULL;
GList *list_tmp = NULL;
init_signals();
openlog(APP_NAME, LOG_PID, LOG_LOCAL4);
loop = g_main_loop_new(NULL, FALSE);
syslog(LOG_INFO, "Starting %s", APP_NAME);
if (parameter == NULL) {
goto error_out;
}
g_error_free(error);
error = NULL;
} else {
goto error_out;
}
}
g_error_free(error);
error = NULL;
} else {
goto error_out;
}
}
&error)) {
g_error_free(error);
error = NULL;
} else {
goto error_out;
}
}
goto error_out;
}
syslog(LOG_INFO, "The value of \"Parameter\" is \"%s\"", value);
goto error_out;
}
goto error_out;
}
if (list == NULL) {
goto error_out;
}
list_tmp = list;
while (list_tmp != NULL) {
syslog(LOG_INFO, "Parameter in list: \"%s\"", (gchar*)list_tmp->data);
list_tmp = g_list_next(list_tmp);
}
list_tmp = list;
while (list_tmp != NULL) {
g_free(list_tmp->data);
list_tmp = g_list_next(list_tmp);
}
g_list_free(list);
"Parameter",
parameter_callback,
NULL,
&error)) {
goto error_out;
}
g_main_loop_run(loop);
g_main_loop_unref(loop);
error_out:
if (error) {
syslog(LOG_INFO, "Failed %s", error->message);
g_error_free(error);
}
g_free(value);
syslog(LOG_INFO, "Quitting %s", APP_NAME);
return 0;
}