libdlogutil: remove callback/userdata from the state 32/229232/1
authorMichal Bloch <m.bloch@samsung.com>
Fri, 27 Mar 2020 14:39:21 +0000 (15:39 +0100)
committerMichal Bloch <m.bloch@samsung.com>
Fri, 27 Mar 2020 14:40:08 +0000 (15:40 +0100)
Change-Id: Ib6bc5b618dd1fd95c6a77d6bf78bd5eda93ac91d
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
include/logretrieve.h
src/libdlogutil/lib.c
src/libdlogutil/logretrieve.c

index 7b1183e..8a94f15 100644 (file)
@@ -33,12 +33,8 @@ typedef struct {
        bool monitor;
        dlogutil_filter_options_s *filter_object;
        long flush_target;
-
-       // temp during refactoring
-       dlogutil_entry_cb *callback;
-       void *userdata;
 } dlogutil_state_s;
 
 int create_initial_fdis(struct fd_info ***fdis, int enabled_buffers, bool is_pipe, const struct log_config *conf);
-int dlogutil_state_init(dlogutil_state_s *state, struct fd_info ***data_fds_ptr, int fd_count, unsigned int mode, bool monitor, dlogutil_entry_cb callback, void *userdata, dlogutil_sorting_options_s *sorting, dlogutil_filter_options_s *filter, bool sorting_needed, dlogutil_sorting_order_e sort_by, const struct log_config *conf);
-int do_print(dlogutil_state_s *state);
+int dlogutil_state_init(dlogutil_state_s *state, struct fd_info ***data_fds_ptr, int fd_count, unsigned int mode, bool monitor, dlogutil_sorting_options_s *sorting, dlogutil_filter_options_s *filter, bool sorting_needed, dlogutil_sorting_order_e sort_by, const struct log_config *conf);
+int do_print(dlogutil_state_s *state, dlogutil_entry_cb callback, void *userdata);
index 8308544..a2c97bc 100644 (file)
@@ -178,11 +178,11 @@ static int dlogutil_get_logs_internal(int buffers, unsigned int mode, bool monit
                get_proper_sort_by(sorting ? sorting->sort_by : DLOGUTIL_SORT_DEFAULT, buffers, is_pipe, &conf, &sorting_needed);
 
        __attribute__((cleanup(dlogutil_state_destroy))) dlogutil_state_s state;
-       r = dlogutil_state_init(&state, &fdi_ptrs, fdi_cnt, mode, monitor, callback, data, sorting, filter, sorting_needed, proper_sort_by, &conf);
+       r = dlogutil_state_init(&state, &fdi_ptrs, fdi_cnt, mode, monitor, sorting, filter, sorting_needed, proper_sort_by, &conf);
        if (r)
                return r;
 
-       r = do_print(&state);
+       r = do_print(&state, callback, data);
 
        return r;
 }
index 866418f..eb5d4ec 100644 (file)
@@ -150,7 +150,7 @@ int put_logs_into_vector(struct fd_info **data_fds, int fd_count, struct sort_ve
        return BUFFER_NEWLY_DRAINED;
 }
 
-int dlogutil_state_init(dlogutil_state_s *state, struct fd_info ***data_fds_ptr, int fd_count, unsigned int mode, bool monitor, dlogutil_entry_cb callback, void *userdata,
+int dlogutil_state_init(dlogutil_state_s *state, struct fd_info ***data_fds_ptr, int fd_count, unsigned int mode, bool monitor,
        dlogutil_sorting_options_s *sorting, dlogutil_filter_options_s *filter, bool sorting_needed, dlogutil_sorting_order_e sort_by, const struct log_config *conf)
 {
        assert(data_fds_ptr);
@@ -166,8 +166,6 @@ int dlogutil_state_init(dlogutil_state_s *state, struct fd_info ***data_fds_ptr,
        state->data_fds = data_fds;
        state->monitor = monitor;
        *data_fds_ptr = NULL;
-       state->callback = callback;
-       state->userdata = userdata;
        sort_vector_init(&state->logs);
        state->filter_object = filter ? log_filter_from_filter(filter) : dlogutil_filter_options_create();
 
@@ -344,7 +342,7 @@ int do_print_once(dlogutil_state_s *state, dlogutil_entry_s **out)
        return 0;
 }
 
-int do_print(dlogutil_state_s *state)
+int do_print(dlogutil_state_s *state, dlogutil_entry_cb callback, void *userdata)
 {
        while (true) {
                dlogutil_entry_s *out;
@@ -354,7 +352,7 @@ int do_print(dlogutil_state_s *state)
 
                if (!out)
                        return 0;
-               r = state->callback(out, state->userdata);
+               r = callback(out, userdata);
                free(out);
                if (r != 0)
                        return r;