NeoMutt
2025-12-11-1009-ga75d9e
Teaching an old dog new tricks
DOXYGEN
Toggle main menu visibility
Loading...
Searching...
No Matches
module.c
Go to the documentation of this file.
1
22
28
29
#include "config.h"
30
#include <stdbool.h>
31
#include <stddef.h>
32
#include "
mutt/lib.h
"
33
#include "
config/lib.h
"
34
#include "
core/lib.h
"
35
#include "
module_data.h
"
36
37
extern
struct
ConfigDef
MboxVars
[];
38
42
static
bool
mbox_init
(
struct
NeoMutt
*n)
43
{
44
struct
MboxModuleData
*mod_data =
MUTT_MEM_CALLOC
(1,
struct
MboxModuleData
);
45
neomutt_set_module_data
(n,
MODULE_ID_MBOX
, mod_data);
46
47
mod_data->
notify
=
notify_new
();
48
notify_set_parent
(mod_data->
notify
, n->
notify
);
49
50
return
true
;
51
}
52
56
static
bool
mbox_config_define_variables
(
struct
NeoMutt
*n,
struct
ConfigSet
*cs)
57
{
58
return
cs_register_variables
(cs,
MboxVars
);
59
}
60
64
static
bool
mbox_cleanup
(
struct
NeoMutt
*n,
void
*data)
65
{
66
struct
MboxModuleData
*mod_data = data;
67
68
notify_free
(&mod_data->
notify
);
69
70
FREE
(&mod_data);
71
return
true
;
72
}
73
77
const
struct
Module
ModuleMbox
= {
78
MODULE_ID_MBOX
,
79
"mbox"
,
80
mbox_init
,
81
NULL,
// config_define_types
82
mbox_config_define_variables
,
83
NULL,
// commands_register
84
NULL,
// gui_init
85
NULL,
// gui_cleanup
86
mbox_cleanup
,
87
};
lib.h
Convenience wrapper for the config headers.
cs_register_variables
bool cs_register_variables(const struct ConfigSet *cs, struct ConfigDef vars[])
Register a set of config items.
Definition
set.c:290
lib.h
Convenience wrapper for the core headers.
ModuleMbox
const struct Module ModuleMbox
Module for the Mbox library.
Definition
module.c:77
MboxVars
struct ConfigDef MboxVars[]
Config definitions for the Mbox library.
Definition
config.c:37
mbox_init
static bool mbox_init(struct NeoMutt *n)
Initialise a Module - Implements Module::init().
Definition
module.c:42
mbox_cleanup
static bool mbox_cleanup(struct NeoMutt *n, void *data)
Clean up a Module - Implements Module::cleanup().
Definition
module.c:64
mbox_config_define_variables
static bool mbox_config_define_variables(struct NeoMutt *n, struct ConfigSet *cs)
Define the Config Variables - Implements Module::config_define_variables().
Definition
module.c:56
module_data.h
Mbox private Module data.
FREE
#define FREE(x)
Free memory and set the pointer to NULL.
Definition
memory.h:68
MUTT_MEM_CALLOC
#define MUTT_MEM_CALLOC(n, type)
Definition
memory.h:52
MODULE_ID_MBOX
@ MODULE_ID_MBOX
ModuleMbox, Mbox
Definition
module_api.h:77
lib.h
Convenience wrapper for the library headers.
notify_new
struct Notify * notify_new(void)
Create a new notifications handler.
Definition
notify.c:62
notify_set_parent
void notify_set_parent(struct Notify *notify, struct Notify *parent)
Set the parent notification handler.
Definition
notify.c:95
notify_free
void notify_free(struct Notify **ptr)
Free a notification handler.
Definition
notify.c:75
neomutt_set_module_data
void neomutt_set_module_data(struct NeoMutt *n, enum ModuleId id, void *data)
Set the private data for a Module.
Definition
neomutt.c:680
ConfigDef
Definition
set.h:65
ConfigSet
Container for lots of config items.
Definition
set.h:251
MboxModuleData
Mbox private Module data.
Definition
module_data.h:30
MboxModuleData::notify
struct Notify * notify
Notifications.
Definition
module_data.h:31
Module
Definition
module_api.h:104
NeoMutt
Container for Accounts, Notifications.
Definition
neomutt.h:41
NeoMutt::notify
struct Notify * notify
Notifications handler.
Definition
neomutt.h:45