aboutsummaryrefslogtreecommitdiff
path: root/src/mod_adhoc.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_adhoc.erl')
-rw-r--r--src/mod_adhoc.erl15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/mod_adhoc.erl b/src/mod_adhoc.erl
index fc0c62831..a0090aba9 100644
--- a/src/mod_adhoc.erl
+++ b/src/mod_adhoc.erl
@@ -31,7 +31,7 @@
-behaviour(gen_mod).
--export([start/2, stop/1, process_local_iq/1,
+-export([start/2, stop/1, reload/3, process_local_iq/1,
process_sm_iq/1, get_local_commands/5,
get_local_identity/5, get_local_features/5,
get_sm_commands/5, get_sm_identity/5, get_sm_features/5,
@@ -88,6 +88,19 @@ stop(Host) ->
gen_iq_handler:remove_iq_handler(ejabberd_local, Host,
?NS_COMMANDS).
+reload(Host, NewOpts, OldOpts) ->
+ case gen_mod:is_equal_opt(iqdisc, NewOpts, OldOpts,
+ fun gen_iq_handler:check_type/1,
+ one_queue) of
+ {false, IQDisc, _} ->
+ gen_iq_handler:add_iq_handler(ejabberd_local, Host, ?NS_COMMANDS,
+ ?MODULE, process_local_iq, IQDisc),
+ gen_iq_handler:add_iq_handler(ejabberd_sm, Host, ?NS_COMMANDS,
+ ?MODULE, process_sm_iq, IQDisc);
+ true ->
+ ok
+ end.
+
%-------------------------------------------------------------------------
get_local_commands(Acc, _From,