25 #ifndef ACK_TRACKER_FACTORY_H_INCLUDED
26 #define ACK_TRACKER_FACTORY_H_INCLUDED
38 AckTracker *(*create)(AckTrackerFactory *
self, LogSource *
source);
42 static inline AckTracker *
43 ack_tracker_factory_create(AckTrackerFactory *
self, LogSource *
source)
45 g_assert(
self &&
self->create);
46 return self->create(
self,
source);
50 ack_tracker_factory_get_type(AckTrackerFactory *
self)
void ack_tracker_factory_init_instance(AckTrackerFactory *self)
Definition: ack_tracker_factory.c:31
void ack_tracker_factory_unref(AckTrackerFactory *self)
Definition: ack_tracker_factory.c:57
AckTrackerFactory * batched_ack_tracker_factory_new(guint timeout, guint batch_size, BatchedAckTrackerOnBatchAcked cb, gpointer user_data)
Definition: batched_ack_tracker_factory.c:80
AckTrackerFactory * consecutive_ack_tracker_factory_new(void)
Definition: consecutive_ack_tracker_factory.c:58
AckTrackerFactory * ack_tracker_factory_ref(AckTrackerFactory *self)
Definition: ack_tracker_factory.c:37
AckTrackerFactory * instant_ack_tracker_factory_new(void)
Definition: instant_ack_tracker_factory.c:57
AckTrackerFactory * instant_ack_tracker_bookmarkless_factory_new(void)
Definition: instant_ack_tracker_bookmarkless_factory.c:57
AckTrackerType
Definition: ack_tracker_types.h:29
void(* BatchedAckTrackerOnBatchAcked)(GList *ack_records, gpointer user_data)
Definition: batched_ack_tracker.h:30
FILE ** source
Definition: file_reader.c:47
#define self
Definition: rcptid.c:38
Definition: ack_tracker_factory.h:35
void(* free_fn)(AckTrackerFactory *self)
Definition: ack_tracker_factory.h:39
AckTrackerType type
Definition: ack_tracker_factory.h:37
GAtomicCounter ref_cnt
Definition: ack_tracker_factory.h:36