diff options
author | David Phillips <david@sighup.nz> | 2018-09-21 21:50:50 +1200 |
---|---|---|
committer | David Phillips <david@sighup.nz> | 2018-09-21 21:50:50 +1200 |
commit | 47b4448199799aca7c0fb3e0090e244112c8959c (patch) | |
tree | b79469ab87678500fe17af796a144042d2edcfa0 /idalius.pl | |
parent | b65441dbdb62e575fbb69580342e50079c871d18 (diff) | |
download | idalius-47b4448199799aca7c0fb3e0090e244112c8959c.tar.xz |
Move module configuration to callback
This lets modules loaded dynamically (i.e. those not specified in configuation
used at the start of execution) get configured correctly to e.g. record
a reference to their configuration and register commands.
Diffstat (limited to 'idalius.pl')
-rwxr-xr-x | idalius.pl | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -23,14 +23,11 @@ sub log_info { print "$stamp | @_\n"; } +Plugin::set_load_callback(\&module_loaded_callback); + eval { for my $module (@{$config->{_}->{plugins}}) { Plugin::load_plugin(\&log_info, $config->{_}, $module); - $module->configure( - \®ister_command, - \&run_command, - $config->{$module}, - $config->{_}); } 1; } or do { @@ -85,6 +82,16 @@ drop_priv(); $poe_kernel->run(); +sub module_loaded_callback { + my ($module) = @_; + + $module->configure( + \®ister_command, + \&run_command, + $config->{$module}, + $config->{_}); +} + sub module_is_enabled { my $module = $_[0]; |