23 #ifndef ADD_CONTEXTUAL_DATA_SELECTOR_H_INCLUDED
24 #define ADD_CONTEXTUAL_DATA_SELECTOR_H_INCLUDED
34 gchar *(*resolve)(AddContextualDataSelector *
self, LogMessage *
msg);
35 void (*
free)(AddContextualDataSelector *
self);
36 AddContextualDataSelector *(*clone)(AddContextualDataSelector *
self, GlobalConfig *
cfg);
37 gboolean (*
init)(AddContextualDataSelector *
self, GList *ordered_selectors);
41 add_contextual_data_selector_resolve(AddContextualDataSelector *
self, LogMessage *
msg)
43 if (
self &&
self->resolve)
45 return self->resolve(
self,
msg);
52 add_contextual_data_selector_free(AddContextualDataSelector *
self)
54 if (
self &&
self->free)
61 static inline gboolean
62 add_contextual_data_selector_init(AddContextualDataSelector *
self, GList *ordered_selectors)
64 if (
self &&
self->init)
66 return self->init(
self, ordered_selectors);
72 static inline AddContextualDataSelector *
73 add_contextual_data_selector_clone(AddContextualDataSelector *
self, GlobalConfig *
cfg)
75 if (
self &&
self->clone)
77 return self->clone(
self,
cfg);
83 static inline gboolean
84 add_contextual_data_selector_is_ordering_required(AddContextualDataSelector *
self)
86 return self->ordering_required;
#define self
Definition: rcptid.c:38
Definition: add-contextual-data-selector.h:32
gboolean(* init)(AddContextualDataSelector *self, GList *ordered_selectors)
Definition: add-contextual-data-selector.h:37
void(* free)(AddContextualDataSelector *self)
Definition: add-contextual-data-selector.h:35
gboolean ordering_required
Definition: add-contextual-data-selector.h:33
GlobalConfig * cfg
Definition: test_batched_ack_tracker.c:34
LogMessage * msg
Definition: test_rename.c:35