dlogutil: use the new config_s interfaces 59/237359/2
authorMichal Bloch <m.bloch@samsung.com>
Wed, 24 Jun 2020 12:13:52 +0000 (14:13 +0200)
committerMichal Bloch <m.bloch@partner.samsung.com>
Mon, 29 Jun 2020 13:01:40 +0000 (13:01 +0000)
Change-Id: I99d60c8216fdc9eb9de4e87a21a7c3de90690bb6
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
src/logutil/logutil.c

index 450ce23..6b28925 100644 (file)
 
 #include "logutil_doc.h"
 
+// temporary, remove after prepare_logs changes signature
+struct dlogutil_config {
+       dlogutil_filter_options_s *filter;
+       dlogutil_sorting_options_s *sorting;
+};
+
 /**
  * @addtogroup DLOG_IMPLEMENTATION
  * @{
@@ -51,14 +57,13 @@ static void show_version(const char *name)
 }
 
 static int parse_options(int argc, char **argv, struct log_file *l_file, int *enabled_buffers, action_e *action,
-       dlogutil_sorting_options_s *sorting, dlogutil_filter_options_s *filter, unsigned *mode, bool *monitor, dlogutil_sorting_order_e *sort_by)
+       dlogutil_config_s *config, unsigned *mode, bool *monitor, dlogutil_sorting_order_e *sort_by)
 {
        assert(argv);
        assert(l_file);
        assert(enabled_buffers);
        assert(action);
-       assert(sorting);
-       assert(filter);
+       assert(config);
        assert(mode);
        assert(sort_by);
 
@@ -83,7 +88,7 @@ static int parse_options(int argc, char **argv, struct log_file *l_file, int *en
                        int tid;
                        if (sscanf(optarg, "%d", &tid) != 1)
                                err_arg_nondigit = 1;
-                       else if (dlogutil_filter_options_set_tid(filter, tid))
+                       else if (dlogutil_config_filter_tid(config, tid))
                                goto enomem;
                        break;
                }
@@ -91,7 +96,7 @@ static int parse_options(int argc, char **argv, struct log_file *l_file, int *en
                        int pid;
                        if (sscanf(optarg, "%d", &pid) != 1)
                                err_arg_nondigit = 1;
-                       else if (dlogutil_filter_options_set_pid(filter, pid))
+                       else if (dlogutil_config_filter_pid(config, pid))
                                goto enomem;
                        break;
                }
@@ -153,9 +158,9 @@ static int parse_options(int argc, char **argv, struct log_file *l_file, int *en
                        if (sscanf(optarg, "%u", &size) != 1)
                                err_arg_nondigit = 1;
                        if (size == 0)
-                               dlogutil_sorting_options_disable_sorting(sorting);
+                               dlogutil_config_sorting_disable(config);
                        else
-                               dlogutil_sorting_options_enable_sorting_with_size(sorting, size);
+                               dlogutil_config_sorting_enable_with_size(config, size);
                        break;
                }
                case 'f':
@@ -171,7 +176,7 @@ static int parse_options(int argc, char **argv, struct log_file *l_file, int *en
                        break;
                }
                case 's':
-                       if (dlogutil_filter_options_set_filterspec(filter, "*:S"))
+                       if (dlogutil_config_filter_filterspec(config, "*:S"))
                                goto enomem;
                        break;
                case 'r':
@@ -211,7 +216,7 @@ static int parse_options(int argc, char **argv, struct log_file *l_file, int *en
        }
 
        while (optind < argc) {
-               int r = dlogutil_filter_options_set_filterspec(filter, argv[optind++]);
+               int r = dlogutil_config_filter_filterspec(config, argv[optind++]);
                switch (r) {
                case TIZEN_ERROR_INVALID_PARAMETER:
                        /* We assert filter is not NULL above, and the system should
@@ -239,14 +244,9 @@ enomem:
        return -ENOMEM;
 }
 
-static void filter_cleanup(dlogutil_filter_options_s *const *filter) {
-       assert(filter);
-       dlogutil_filter_options_destroy(*filter);
-}
-
-static void sorting_cleanup(dlogutil_sorting_options_s *const *sorting) {
-       assert(sorting);
-       dlogutil_sorting_options_destroy(*sorting);
+static void config_cleanup(dlogutil_config_s *const *config) {
+       assert(config);
+       dlogutil_config_destroy(*config);
 }
 
 static int print_buffer_capacity(dlogutil_buffer_e buffer)
@@ -290,7 +290,7 @@ static int for_each_buffer(int enabled_buffers, int (*func)(dlogutil_buffer_e bu
  * @retval <0 Failure as denoted by value: -errno
  */
 static int do_print(unsigned int mode, int enabled_buffers, bool monitor, dlogutil_sorting_order_e sort_by,
-       dlogutil_sorting_options_s *sorting, dlogutil_filter_options_s *filter, struct log_file *l_file)
+       dlogutil_config_s *config, struct log_file *l_file)
 {
        /* Optimisation for short-lived (i.e. dumping) instances.
         *
@@ -317,7 +317,7 @@ static int do_print(unsigned int mode, int enabled_buffers, bool monitor, dlogut
 
        if (sort_by == DLOGUTIL_SORT_DEFAULT)
                sort_by = get_format_sorting(l_file->format.format);
-       dlogutil_sorting_options_set_sort_by(sorting, sort_by);
+       dlogutil_config_order_set(config, sort_by);
 
        /* We implicitly assume three things here:
         * 1. if a timestamp is available for one of the buffers,
@@ -356,11 +356,11 @@ static int do_print(unsigned int mode, int enabled_buffers, bool monitor, dlogut
 
        struct logfile_callback_data data = { .file = l_file, .sort_by = sort_by };
        if (monitor)
-               return dlogutil_get_logs_monitor(enabled_buffers, logfile_callback, &data, sorting, filter);
+               return dlogutil_get_logs_monitor(enabled_buffers, logfile_callback, &data, config->sorting, config->filter);
        else if (mode == DLOGUTIL_MODE_CONTINUOUS)
-               return dlogutil_get_logs_continuous(enabled_buffers, logfile_callback, &data, sorting, filter);
+               return dlogutil_get_logs_continuous(enabled_buffers, logfile_callback, &data, config->sorting, config->filter);
        else
-               return dlogutil_get_logs_dump(enabled_buffers, mode, logfile_callback, &data, sorting, filter);
+               return dlogutil_get_logs_dump(enabled_buffers, mode, logfile_callback, &data, config->sorting, config->filter);
 }
 
 #ifndef UNIT_TEST
@@ -372,9 +372,8 @@ int main(int argc, char **argv)
        logfile_init(&l_file);
        logfile_set_fd(&l_file, fileno(stdout), 0);
 
-       __attribute__((cleanup(filter_cleanup))) dlogutil_filter_options_s *filter = dlogutil_filter_options_create();
-       __attribute__((cleanup(sorting_cleanup))) dlogutil_sorting_options_s *sorting = dlogutil_sorting_options_create();
-       if (!filter || !sorting) {
+       __attribute__((cleanup(config_cleanup))) dlogutil_config_s *config = dlogutil_config_create();
+       if (!config) {
                errno = ENOMEM;
                ERR("Error while initialising: %m\n");
                return EXIT_FAILURE;
@@ -383,13 +382,13 @@ int main(int argc, char **argv)
        bool monitor = false;
        dlogutil_sorting_order_e sort_by = DLOGUTIL_SORT_DEFAULT;
 
-       int r = parse_options(argc, argv, &l_file, &enabled_buffers, &action, sorting, filter, &mode, &monitor, &sort_by);
+       int r = parse_options(argc, argv, &l_file, &enabled_buffers, &action, config, &mode, &monitor, &sort_by);
        if (r)
                return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
 
        switch (action) {
        case ACTION_PRINT: {
-               r = do_print(mode, enabled_buffers, monitor, sort_by, sorting, filter, &l_file);
+               r = do_print(mode, enabled_buffers, monitor, sort_by, config, &l_file);
                break;
        }
        case ACTION_GET_CAPACITY: {