mirror of
https://github.com/matrix-construct/construct
synced 2024-11-26 00:32:35 +01:00
9d0a959bb5
* Simplifies the export declarations for module developers. While MAPI III utilized a flexible key-value vector to eliminate positional arguments in a header initializer, now the developer simply makes a list of pointers to what they want to export for injection into IRCd. Example: mapi::header IRCD_MODULE { "mymod", "My module adds a command, a hook, and a CLICAP", &my_cmdtab, &some_hook, &clicaptab }; * Distributes the handlers for items passed to the above vector. Anyone can add a type-handler to the module system from anywhere in IRCd (and other modules?) When your type is encountered a handler is called providing the symbol name to read out of the module. Example in parser.cc: mods::add_loader<Message>([] (mod &loading, const std::string &symbol) { auto &msg(get<Message>(loading, symbol)); add_command(msg.name, msg); }); |
||
---|---|---|
.. | ||
.gitignore | ||
arc4random.h | ||
balloc.h | ||
commio.h | ||
commio_int.h | ||
dictionary.h | ||
dlink.h | ||
event.h | ||
event_int.h | ||
format.h | ||
helper.h | ||
linebuf.h | ||
Makefile.am | ||
memory.h | ||
patricia.h | ||
radixtree.h | ||
rawbuf.h | ||
rb.h | ||
requires.h | ||
ssl.h | ||
system.h | ||
tools.h |