1
0
mirror of https://gitlab.xiph.org/xiph/icecast-common.git synced 2024-09-29 04:25:57 -04:00

Update: Migrated logcore to new error API

This commit is contained in:
Philipp Schafft 2019-09-18 08:04:50 +00:00
parent 6e8d127bcb
commit 7845b4a8bf
2 changed files with 14 additions and 13 deletions

View File

@ -53,11 +53,11 @@ typedef struct {
typedef igloo_ro_t (*igloo_logcore_acknowledge_t)(igloo_logcore_t *core, igloo_ro_t object, void *userdata);
int igloo_logcore_configure(igloo_logcore_t *core, ssize_t recent_limit, ssize_t askack_limit, ssize_t output_recent_limit, const igloo_logcore_output_t *outputs, size_t outputs_len);
int igloo_logcore_set_acknowledge_cb(igloo_logcore_t *core, igloo_logcore_acknowledge_t callback, void *userdata);
igloo_error_t igloo_logcore_configure(igloo_logcore_t *core, ssize_t recent_limit, ssize_t askack_limit, ssize_t output_recent_limit, const igloo_logcore_output_t *outputs, size_t outputs_len);
igloo_error_t igloo_logcore_set_acknowledge_cb(igloo_logcore_t *core, igloo_logcore_acknowledge_t callback, void *userdata);
igloo_list_t * igloo_logcore_get_recent(igloo_logcore_t *core, const igloo_ro_type_t *type, igloo_filter_t *filter, ssize_t limit, const char *id);
igloo_list_t * igloo_logcore_get_askack(igloo_logcore_t *core, const igloo_ro_type_t *type, igloo_filter_t *filter, ssize_t limit);
int igloo_logcore_acknowledge(igloo_logcore_t *core, igloo_ro_t object);
igloo_error_t igloo_logcore_acknowledge(igloo_logcore_t *core, igloo_ro_t object);
#ifdef __cplusplus
}

View File

@ -20,6 +20,7 @@
#include <igloo/objecthandler.h>
#include <igloo/logmsg.h>
#include <igloo/stdio.h>
#include <igloo/error.h>
#include "private.h"
struct igloo_logcore_tag {
@ -175,7 +176,7 @@ static igloo_filter_result_t __push_msg(igloo_logcore_t *core, igloo_ro_t msg, i
return ret;
}
int igloo_logcore_configure(igloo_logcore_t *core, ssize_t recent_limit, ssize_t askack_limit, ssize_t output_recent_limit, const igloo_logcore_output_t *outputs, size_t outputs_len)
igloo_error_t igloo_logcore_configure(igloo_logcore_t *core, ssize_t recent_limit, ssize_t askack_limit, ssize_t output_recent_limit, const igloo_logcore_output_t *outputs, size_t outputs_len)
{
igloo_list_t *global_recent;
igloo_list_t *global_askack;
@ -185,10 +186,10 @@ int igloo_logcore_configure(igloo_logcore_t *core, ssize_t recent_li
size_t i;
if (!igloo_RO_IS_VALID(core, igloo_logcore_t))
return -1;
return igloo_ERROR_FAULT;
if (outputs_len < 1 && !outputs)
return -1;
return igloo_ERROR_INVAL;
if (recent_limit < 0)
recent_limit = 128;
@ -242,20 +243,20 @@ int igloo_logcore_configure(igloo_logcore_t *core, ssize_t recent_li
igloo_ro_unref(instance);
return 0;
return igloo_ERROR_NONE;
}
int igloo_logcore_set_acknowledge_cb(igloo_logcore_t *core, igloo_logcore_acknowledge_t callback, void *userdata)
igloo_error_t igloo_logcore_set_acknowledge_cb(igloo_logcore_t *core, igloo_logcore_acknowledge_t callback, void *userdata)
{
if (!igloo_RO_IS_VALID(core, igloo_logcore_t))
return -1;
return igloo_ERROR_FAULT;
igloo_thread_rwlock_wlock(&(core->rwlock));
core->acknowledge_cb = callback;
core->acknowledge_cb_userdata = userdata;
igloo_thread_rwlock_unlock(&(core->rwlock));
return 0;
return igloo_ERROR_NONE;
}
static igloo_list_t *__copy_filtered_list(igloo_list_t *list, const igloo_ro_type_t *type, igloo_filter_t *filter, ssize_t limit)
@ -336,12 +337,12 @@ igloo_list_t * igloo_logcore_get_askack(igloo_logcore_t *core, const igloo_ro_t
return ret;
}
int igloo_logcore_acknowledge(igloo_logcore_t *core, igloo_ro_t object)
igloo_error_t igloo_logcore_acknowledge(igloo_logcore_t *core, igloo_ro_t object)
{
int ret;
if (!igloo_RO_IS_VALID(core, igloo_logcore_t))
return -1;
return igloo_ERROR_FAULT;
igloo_thread_rwlock_wlock(&(core->rwlock));
ret = igloo_list_remove(core->global_askack, object);
@ -355,7 +356,7 @@ int igloo_logcore_acknowledge(igloo_logcore_t *core, igloo_ro_t obje
}
igloo_thread_rwlock_unlock(&(core->rwlock));
return ret;
return ret == 0 ? igloo_ERROR_NONE : igloo_ERROR_GENERIC;
}
static igloo_filter_result_t __handle(igloo_INTERFACE_BASIC_ARGS, igloo_ro_t object)