From fc692ea5121f5c18d17d417233932fd4cdf2fdc2 Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Tue, 8 Jul 2014 20:57:43 +0400 Subject: Add start_module/2 --- src/gen_mod.erl | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/gen_mod.erl') diff --git a/src/gen_mod.erl b/src/gen_mod.erl index 261e6c6dd..6dac8cdef 100644 --- a/src/gen_mod.erl +++ b/src/gen_mod.erl @@ -28,7 +28,7 @@ -author('alexey@process-one.net'). --export([start/0, start_module/3, stop_module/2, +-export([start/0, start_module/2, start_module/3, stop_module/2, stop_module_keep_config/2, get_opt/3, get_opt/4, get_opt_host/3, db_type/1, db_type/2, get_module_opt/5, get_module_opt_host/3, loaded_modules/1, @@ -60,6 +60,19 @@ start() -> {keypos, #ejabberd_module.module_host}]), ok. +-spec start_module(binary(), atom()) -> any(). + +start_module(Host, Module) -> + Modules = ejabberd_config:get_option( + {modules, Host}, + fun(L) when is_list(L) -> L end, []), + case lists:keyfind(Module, 1, Modules) of + {_, Opts} -> + start_module(Host, Module, Opts); + false -> + {error, not_found_in_config} + end. + -spec start_module(binary(), atom(), opts()) -> any(). start_module(Host, Module, Opts) -> -- cgit v1.2.3