X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmain%2Foption.c;h=7532073ed95c6e9f90f902c4833c66e7694512ed;hb=08b1c66e3a5ad9588d08f9477af98c0cda4f070c;hp=7c80b7f65541215da8d9482c58057f6ed4fd425c;hpb=dbb7bb0937929c494291d7a286c6ece90c27ac07;p=lttv.git diff --git a/ltt/branches/poly/lttv/main/option.c b/ltt/branches/poly/lttv/main/option.c index 7c80b7f6..7532073e 100644 --- a/ltt/branches/poly/lttv/main/option.c +++ b/ltt/branches/poly/lttv/main/option.c @@ -19,6 +19,7 @@ #include #include +#include #include typedef struct _LttvOption { @@ -52,32 +53,6 @@ free_option(LttvOption *option) } -void lttv_option_init(int argc, char **argv) -{ - g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "Init option.c"); - options = g_hash_table_new(g_str_hash, g_str_equal); -} - - -void lttv_option_destroy() -{ - LttvOption option; - - GPtrArray *list = g_ptr_array_new(); - - int i; - - g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "Destroy option.c"); - g_hash_table_foreach(options, list_options, list); - g_hash_table_destroy(options); - - for(i = 0 ; i < list->len ; i++) { - free_option((LttvOption *)list->pdata[i]); - } - g_ptr_array_free(list, TRUE); -} - - void lttv_option_add(const char *long_name, const char char_name, const char *description, const char *arg_description, const LttvOptionType t, void *p, @@ -251,6 +226,7 @@ void lttv_option_parse(int argc, char **argv) destroy_popts(&list, &popts, &c); } +/* CHECK */ static void show_help(LttvOption *option) { printf("--%s -%c argument: %s\n" , option->long_name, @@ -281,3 +257,31 @@ void lttv_option_show_help(void) } +static void init() +{ + g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "Init option.c"); + options = g_hash_table_new(g_str_hash, g_str_equal); +} + + +static void destroy() +{ + LttvOption option; + + GPtrArray *list = g_ptr_array_new(); + + int i; + + g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "Destroy option.c"); + g_hash_table_foreach(options, list_options, list); + g_hash_table_destroy(options); + + for(i = 0 ; i < list->len ; i++) { + free_option((LttvOption *)list->pdata[i]); + } + g_ptr_array_free(list, TRUE); +} + +LTTV_MODULE("option", "Command line options processing", \ + "Functions to add, remove and parse command line options", \ + init, destroy)