0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-05 18:18:35 +02:00
Commit graph

70 commits

Author SHA1 Message Date
Jason Volk bfcfacfc50 modules/client: 11.9 Device Management (incomplete). 2018-02-14 22:07:01 -08:00
Jason Volk 24aac22e33 modules/client/account: Stub an account/3pid response. 2018-02-14 22:07:01 -08:00
Jason Volk 3dd792033b modules/client/account: 3.6.1 GET whoami 2018-02-14 22:06:20 -08:00
Jason Volk 575820d993 modules: Split client/account. 2018-02-14 21:49:46 -08:00
Jason Volk d4e6e23804 modules: Split client/user. 2018-02-14 21:49:46 -08:00
Jason Volk c45461d5f6 modules: Split modules/client/rooms; reorg Makefile. 2018-02-14 21:49:46 -08:00
Jason Volk 5f24883c1c modules: Add minimum viable stubs for errorless Riot load.
modules/client/pushrules: Stub arrays for errorless Riot load.
2018-02-12 19:30:44 -08:00
Jason Volk 44f8868598 modules: Add reloadable console module with library of command handlers. 2018-02-06 12:50:25 -08:00
Jason Volk 025e1d7c78 ircd:Ⓜ️ Move events database description and instance to libircd. 2018-02-05 21:24:36 -08:00
Jason Volk fffea204b9 modules: Add preliminary federation/get_missing_events handler. 2018-01-23 16:35:28 -08:00
Jason Volk ba3d1e7af4 modules: Add stub media/upload. 2017-12-24 21:54:59 -07:00
Jason Volk 80931e4e86 ircd:Ⓜ️ Split m.cc; distribute inits; modules: Checkpoint matrix. 2017-12-12 14:59:40 -07:00
Jason Volk 1a1a50f5f3 Checkpoint reorganization. 2017-11-30 12:30:19 -08:00
Jason Volk 4793e4906c ircd:Ⓜ️ Checkpoint matrix top-half / modules. 2017-11-30 11:23:44 -08:00
Jason Volk f89d6f651c modules: Add preliminary federation and media directories. 2017-11-30 11:23:40 -08:00
Jason Volk 43e35786ce ircd: Move subsystem 'index header' into subsystem directories. 2017-10-19 01:38:03 -07:00
Jason Volk 20869309a2 Checkpoint matrix with preliminary federation client and keyserver related. 2017-10-03 04:27:15 -07:00
Jason Volk 01d7ec1560 modules: Various fixes; cleanup. 2017-10-03 04:27:13 -07:00
Jason Volk babde26165 make: Minor cleanup. 2017-10-03 04:17:10 -07:00
Jason Volk 85b699c286 Various makefile cleanup. 2017-09-08 03:47:53 -07:00
Jason Volk 1cea631f60 ircd::m modules: Matrix reinterface checkpoint. 2017-09-08 03:47:53 -07:00
Jason Volk fa41c1db5f ircd:Ⓜ️ Reorg location of database descriptions. 2017-08-23 15:52:14 -06:00
Jason Volk caa6ed58e5 ircd: Makefile improvements. 2017-08-23 15:39:41 -06:00
Jason Volk a3117391b5 ircd/modules: Preliminary matrix scaffold. 2017-08-23 15:10:28 -06:00
Jason Volk a25143b035 charybdis/modules: Fix Makefile argument related. 2017-08-23 14:55:58 -06:00
Jason Volk 7ff04618c0 ircd;modules: Minor Makefile tweaks. 2017-04-04 16:10:29 -07:00
Jason Volk b07169dd69 Update Makefile flags for libraries to show more linkage issues. 2017-03-30 16:04:20 -07:00
Jason Volk 8ef53f2640 ircd: Move and improve socket listener device. 2017-03-30 16:04:19 -07:00
Jason Volk 49c2a5361c ircd: Various fixes. 2017-03-13 14:43:27 -07:00
Jason Volk b592b69b86 What is the Matrix? Control. 2017-03-10 17:51:18 -08:00
Jason Volk 8b0fe0318f gold linker. 2016-11-25 19:23:50 -08:00
Jason Volk 0d3ddb9bd7 [prelim] modules: Add js kernel. 2016-11-25 19:23:50 -08:00
Jason Volk edbc19790e modules: Stub crypto module. 2016-11-25 19:23:50 -08:00
Jason Volk eef5b78112 modules: Add stream interface object. 2016-11-25 19:23:50 -08:00
Jason Volk 63a6a82ea2 modules: Add assert object for Node.js style tests. 2016-11-25 19:23:50 -08:00
Jason Volk 848337a76b modules: Add net with Node.js compatible net.Socket / net.Server. 2016-11-25 19:23:50 -08:00
Jason Volk 7b4c06575f modules: Add DNS module with Node.js compatible lookup(). 2016-11-25 19:23:50 -08:00
Jason Volk 4fa9985399 modules: Add Events prototype. 2016-11-25 19:23:50 -08:00
Jason Volk 53f355e41d modules: Add preliminary console to support js-style console.log() et al. 2016-11-25 19:23:49 -08:00
Jason Volk 4127367a46 modules: Add preliminary "require" to load additional modules into js. 2016-11-25 19:23:49 -08:00
Jason Volk 67af461540 modules: Update future object to support async contracts. 2016-11-25 19:23:49 -08:00
Jason Volk a4f55b4627 ircd::mods: Reorganize and distill interface. 2016-11-25 19:23:49 -08:00
Jason Volk 998724937c [temp] Checkpoint test. 2016-10-13 21:55:53 -07:00
Jason Volk 4ac4244876 Add m_host "HOST" command for DNS resolution. 2016-09-21 16:29:28 -07:00
Jason Volk 556ceba8a0 ircd: new client; start over. 2016-09-21 16:29:28 -07:00
Jason Volk 2742547826 Introduce modular configuration system. 2016-09-21 16:28:51 -07:00
Jason Volk 12c836dc6e Rip out libltdl. 2016-09-09 16:17:02 -07:00
Jason Volk 9d0a959bb5 MAPI IV. This iteration leverages the C++11 standardized RTTI.
* 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);
});
2016-09-09 16:17:01 -07:00
Jason Volk 06b84579e3 modules/extensions: LDFLAGS += --no-allow-shlib-undefined 2016-08-23 05:22:38 -07:00
Jason Volk 61b517ca3c Precompile and remove most include directives. Notes:
* To benefit from the precompiled-header (PCH) it MUST provide "the first C token."

Advantages:
Never worry about the include stack again. Remember, this means one less thing
for random module developers, community people learning C++, and new developers
to deal with. It should reduce the learning curve and barrier for participation.

Disadvantages:
Makes overall compilation a bit slower, especially without any additional
work to improve it again. There are several opportunities, places where the
PCH is probably being ignored, etc that can be addressed.
2016-08-20 19:30:33 -07:00