NeoMutt
2025-12-11-1039-g550ac6
Teaching an old dog new tricks
DOXYGEN
Toggle main menu visibility
Loading...
Searching...
No Matches
observer.h
Go to the documentation of this file.
1
22
23
#ifndef MUTT_MUTT_OBSERVER_H
24
#define MUTT_MUTT_OBSERVER_H
25
26
#include <stdbool.h>
27
#include "
notify_type.h
"
28
#include "
queue.h
"
29
33
struct
NotifyCallback
34
{
35
struct
Notify
*
current
;
36
enum
NotifyType
event_type
;
37
int
event_subtype
;
38
void
*
event_data
;
39
void
*
global_data
;
40
};
41
54
typedef
int (*
observer_t
)(
struct
NotifyCallback
*nc);
55
59
struct
Observer
60
{
61
enum
NotifyType
type
;
62
observer_t
callback
;
63
void
*
global_data
;
64
};
65
69
struct
ObserverNode
70
{
71
struct
Observer
*
observer
;
72
STAILQ_ENTRY
(
ObserverNode
) entries;
73
};
74
STAILQ_HEAD
(ObserverList,
ObserverNode
);
75
76
#endif
/* MUTT_MUTT_OBSERVER_H */
notify_type.h
Notification Types.
NotifyType
NotifyType
Notification Types.
Definition
notify_type.h:34
observer_t
int(* observer_t)(struct NotifyCallback *nc)
Definition
observer.h:54
queue.h
STAILQ_HEAD
#define STAILQ_HEAD(name, type)
Definition
queue.h:312
NotifyCallback
Data passed to a notification function.
Definition
observer.h:34
NotifyCallback::event_data
void * event_data
Data from notify_send().
Definition
observer.h:38
NotifyCallback::event_type
enum NotifyType event_type
Send: Event type, e.g. NT_ACCOUNT.
Definition
observer.h:36
NotifyCallback::current
struct Notify * current
Notify object being observed.
Definition
observer.h:35
NotifyCallback::event_subtype
int event_subtype
Send: Event subtype, e.g. NT_ACCOUNT_ADD.
Definition
observer.h:37
NotifyCallback::global_data
void * global_data
Data from notify_observer_add().
Definition
observer.h:39
Notify
Notification API.
Definition
notify.c:53
ObserverNode
List of Observers.
Definition
observer.h:70
ObserverNode::STAILQ_ENTRY
STAILQ_ENTRY(ObserverNode) entries
Linked list.
ObserverNode::observer
struct Observer * observer
An Observer.
Definition
observer.h:71
Observer
An observer of notifications.
Definition
observer.h:60
Observer::callback
observer_t callback
Callback function for events.
Definition
observer.h:62
Observer::global_data
void * global_data
Private data to pass to callback.
Definition
observer.h:63
Observer::type
enum NotifyType type
Notification type to observe, e.g. NT_WINDOW.
Definition
observer.h:61