diff options
Diffstat (limited to 'src/mod_muc.erl')
-rw-r--r-- | src/mod_muc.erl | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/src/mod_muc.erl b/src/mod_muc.erl index 0cf03fa81..acfbb90a0 100644 --- a/src/mod_muc.erl +++ b/src/mod_muc.erl @@ -233,7 +233,6 @@ get_online_rooms_by_user(ServerHost, LUser, LServer) -> init([Host, Opts]) -> process_flag(trap_exit, true), - IQDisc = gen_mod:get_opt(iqdisc, Opts), #state{access = Access, hosts = MyHosts, history_size = HistorySize, queue_type = QueueType, room_shaper = RoomShaper} = State = init_state(Host, Opts), @@ -243,7 +242,7 @@ init([Host, Opts]) -> RMod:init(Host, [{hosts, MyHosts}|Opts]), lists:foreach( fun(MyHost) -> - register_iq_handlers(MyHost, IQDisc), + register_iq_handlers(MyHost), ejabberd_router:register_route(MyHost, Host), load_permanent_rooms(MyHost, Host, Access, HistorySize, RoomShaper, QueueType) @@ -273,8 +272,6 @@ handle_call({create, Room, Host, From, Nick, Opts}, _From, {reply, ok, State}. handle_cast({reload, ServerHost, NewOpts, OldOpts}, #state{hosts = OldHosts}) -> - NewIQDisc = gen_mod:get_opt(iqdisc, NewOpts), - OldIQDisc = gen_mod:get_opt(iqdisc, OldOpts), NewMod = gen_mod:db_mod(ServerHost, NewOpts, ?MODULE), NewRMod = gen_mod:ram_db_mod(ServerHost, NewOpts, ?MODULE), OldMod = gen_mod:db_mod(ServerHost, OldOpts, ?MODULE), @@ -290,18 +287,10 @@ handle_cast({reload, ServerHost, NewOpts, OldOpts}, #state{hosts = OldHosts}) -> true -> ok end, - if (NewIQDisc /= OldIQDisc) -> - lists:foreach( - fun(NewHost) -> - register_iq_handlers(NewHost, NewIQDisc) - end, NewHosts -- (NewHosts -- OldHosts)); - true -> - ok - end, lists:foreach( fun(NewHost) -> ejabberd_router:register_route(NewHost, ServerHost), - register_iq_handlers(NewHost, NewIQDisc) + register_iq_handlers(NewHost) end, NewHosts -- OldHosts), lists:foreach( fun(OldHost) -> @@ -372,19 +361,19 @@ init_state(Host, Opts) -> max_rooms_discoitems = MaxRoomsDiscoItems, room_shaper = RoomShaper}. -register_iq_handlers(Host, IQDisc) -> +register_iq_handlers(Host) -> gen_iq_handler:add_iq_handler(ejabberd_local, Host, ?NS_REGISTER, - ?MODULE, process_register, IQDisc), + ?MODULE, process_register), gen_iq_handler:add_iq_handler(ejabberd_local, Host, ?NS_VCARD, - ?MODULE, process_vcard, IQDisc), + ?MODULE, process_vcard), gen_iq_handler:add_iq_handler(ejabberd_local, Host, ?NS_MUCSUB, - ?MODULE, process_mucsub, IQDisc), + ?MODULE, process_mucsub), gen_iq_handler:add_iq_handler(ejabberd_local, Host, ?NS_MUC_UNIQUE, - ?MODULE, process_muc_unique, IQDisc), + ?MODULE, process_muc_unique), gen_iq_handler:add_iq_handler(ejabberd_local, Host, ?NS_DISCO_INFO, - ?MODULE, process_disco_info, IQDisc), + ?MODULE, process_disco_info), gen_iq_handler:add_iq_handler(ejabberd_local, Host, ?NS_DISCO_ITEMS, - ?MODULE, process_disco_items, IQDisc). + ?MODULE, process_disco_items). unregister_iq_handlers(Host) -> gen_iq_handler:remove_iq_handler(ejabberd_local, Host, ?NS_REGISTER), @@ -972,8 +961,7 @@ mod_opt_type({default_room_options, presence_broadcast}) -> (participant) -> participant; (visitor) -> visitor end, L) - end; -mod_opt_type(iqdisc) -> fun gen_iq_handler:check_type/1. + end. mod_options(Host) -> [{access, all}, @@ -982,7 +970,6 @@ mod_options(Host) -> {access_persistent, all}, {db_type, ejabberd_config:default_db(Host, ?MODULE)}, {ram_db_type, ejabberd_config:default_ram_db(Host, ?MODULE)}, - {iqdisc, gen_iq_handler:iqdisc(Host)}, {history_size, 20}, {host, <<"conference.@HOST@">>}, {hosts, []}, |