#include <stumpless/config/journald_supported.h>
#include <stumpless/element.h>
#include <stumpless/param.h>
#include <stumpless/target/journald.h>
#include "private/config/journald_supported.h"
#include "private/element.h"
#include "private/param.h"
#include "private/validate.h"
stumpless_element_namer_func_t
stumpless_get_element_journald_namer( const struct stumpless_element *e ) {
stumpless_element_namer_func_t result;
VALIDATE_ARG_NOT_NULL( e );
lock_element( e );
result = e->get_journald_name;
unlock_element( e );
return result;
}
stumpless_param_namer_func_t
stumpless_get_param_journald_namer( const struct stumpless_param *param ) {
stumpless_param_namer_func_t result;
VALIDATE_ARG_NOT_NULL( param );
lock_param( param );
result = param->get_journald_name;
unlock_param( param );
return result;
}
struct stumpless_element *
stumpless_set_element_journald_namer( struct stumpless_element *element,
stumpless_element_namer_func_t namer ) {
VALIDATE_ARG_NOT_NULL( element );
VALIDATE_ARG_NOT_NULL( namer );
lock_element( element );
element->get_journald_name = namer;
unlock_element( element );
return element;
}
struct stumpless_param *
stumpless_set_param_journald_namer( struct stumpless_param *param,
stumpless_param_namer_func_t namer ) {
VALIDATE_ARG_NOT_NULL( param );
VALIDATE_ARG_NOT_NULL( namer );
lock_param( param );
param->get_journald_name = namer;
unlock_param( param );
return param;
}
void
journald_init_journald_element( struct stumpless_element *element ) {
element->get_journald_name = stumpless_flatten_element_name;
}
void
journald_init_journald_param( struct stumpless_param *param ) {
param->get_journald_name = stumpless_flatten_param_name;
}