25 #ifndef ACK_TRACKER_H_INCLUDED
26 #define ACK_TRACKER_H_INCLUDED
36 Bookmark *(*request_bookmark)(AckTracker *
self);
41 gboolean (*
init)(AckTracker *
self);
52 ack_tracker_free(AckTracker *
self)
54 if (
self &&
self->free_fn)
60 static inline Bookmark *
61 ack_tracker_request_bookmark(AckTracker *
self)
63 return self->request_bookmark(
self);
67 ack_tracker_track_msg(AckTracker *
self, LogMessage *
msg)
69 self->track_msg(
self,
msg);
73 ack_tracker_manage_msg_ack(AckTracker *
self, LogMessage *
msg,
AckType ack_type)
75 self->manage_msg_ack(
self,
msg, ack_type);
79 ack_tracker_disable_bookmark_saving(AckTracker *
self)
81 if (
self->disable_bookmark_saving)
83 self->disable_bookmark_saving(
self);
87 static inline gboolean
88 ack_tracker_init(AckTracker *
self)
90 if (
self &&
self->init)
91 return self->init(
self);
97 ack_tracker_deinit(AckTracker *
self)
99 if (
self &&
self->deinit)
AckType
Definition: logmsg.h:44
#define self
Definition: rcptid.c:38
Definition: ack_tracker.h:46
Bookmark bookmark
Definition: ack_tracker.h:48
AckTracker * tracker
Definition: ack_tracker.h:47
Definition: ack_tracker.h:34
void(* track_msg)(AckTracker *self, LogMessage *msg)
Definition: ack_tracker.h:37
void(* free_fn)(AckTracker *self)
Definition: ack_tracker.h:39
void(* manage_msg_ack)(AckTracker *self, LogMessage *msg, AckType ack_type)
Definition: ack_tracker.h:38
LogSource * source
Definition: ack_tracker.h:35
void(* deinit)(AckTracker *self)
Definition: ack_tracker.h:42
void(* disable_bookmark_saving)(AckTracker *self)
Definition: ack_tracker.h:40
gboolean(* init)(AckTracker *self)
Definition: ack_tracker.h:41
LogMessage * msg
Definition: test_rename.c:35