diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-04-30 19:01:47 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-04-30 19:01:47 +0300 |
commit | fddd6110e00df12c99a20a2cc9d074f5f4f1f965 (patch) | |
tree | 366575b855f1b2013db7eeb02ecb213f81c98c1f /src/mod_irc.erl | |
parent | Merge branch 'new-option-validation' (diff) |
Don't validate an option in gen_mod:get*opt() functions
The changes are very similar to those from previous commit:
* Now there is no need to pass validating function in
gen_mod:get_opt() and gen_mod:get_module_opt() functions,
because the modules' configuration keeps already validated values.
* New functions gen_mod:get_opt/2 and gen_mod:get_module_opt/3 are
introduced.
* Functions gen_mod:get_opt/4 and get_module_opt/5 are deprecated.
If the functions are still called, the "function" argument is
simply ignored.
* Validating callback Mod:listen_opt_type/1 is introduced to validate
listening options at startup.
Diffstat (limited to '')
-rw-r--r-- | src/mod_irc.erl | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/src/mod_irc.erl b/src/mod_irc.erl index 091a2679..a2fa4fcd 100644 --- a/src/mod_irc.erl +++ b/src/mod_irc.erl @@ -103,14 +103,11 @@ init([Host, Opts]) -> <<"irc.@HOST@">>), Mod = gen_mod:db_mod(Host, Opts, ?MODULE), Mod:init(Host, Opts), - Access = gen_mod:get_opt(access, Opts, - fun acl:access_rules_validator/1, - all), + Access = gen_mod:get_opt(access, Opts, all), catch ets:new(irc_connection, [named_table, public, {keypos, #irc_connection.jid_server_host}]), - IQDisc = gen_mod:get_opt(iqdisc, Opts, fun gen_iq_handler:check_type/1, - one_queue), + IQDisc = gen_mod:get_opt(iqdisc, Opts, one_queue), register_hooks(MyHost, IQDisc), ejabberd_router:register_route(MyHost, Host), {ok, @@ -138,17 +135,11 @@ handle_call(stop, _From, State) -> handle_cast({reload, ServerHost, NewOpts, OldOpts}, State) -> NewHost = gen_mod:get_opt_host(ServerHost, NewOpts, <<"irc.@HOST@">>), OldHost = gen_mod:get_opt_host(ServerHost, OldOpts, <<"irc.@HOST@">>), - NewIQDisc = gen_mod:get_opt(iqdisc, NewOpts, - fun gen_iq_handler:check_type/1, - one_queue), - OldIQDisc = gen_mod:get_opt(iqdisc, OldOpts, - fun gen_iq_handler:check_type/1, - one_queue), + NewIQDisc = gen_mod:get_opt(iqdisc, NewOpts, one_queue), + OldIQDisc = gen_mod:get_opt(iqdisc, OldOpts, one_queue), NewMod = gen_mod:db_mod(ServerHost, NewOpts, ?MODULE), OldMod = gen_mod:db_mod(ServerHost, OldOpts, ?MODULE), - Access = gen_mod:get_opt(access, NewOpts, - fun acl:access_rules_validator/1, - all), + Access = gen_mod:get_opt(access, NewOpts, all), if NewMod /= OldMod -> NewMod:init(ServerHost, NewOpts); true -> @@ -166,9 +157,7 @@ handle_cast({reload, ServerHost, NewOpts, OldOpts}, State) -> true -> ok end, - Access = gen_mod:get_opt(access, NewOpts, - fun acl:access_rules_validator/1, - all), + Access = gen_mod:get_opt(access, NewOpts, all), {noreply, State#state{host = NewHost, access = Access}}; handle_cast(Msg, State) -> ?WARNING_MSG("unexpected cast: ~p", [Msg]), @@ -593,7 +582,6 @@ get_connection_params(Host, From, IRCServer) -> get_default_encoding(ServerHost) -> Result = gen_mod:get_module_opt(ServerHost, ?MODULE, default_encoding, - fun iolist_to_binary/1, ?DEFAULT_IRC_ENCODING), ?INFO_MSG("The default_encoding configured for " "host ~p is: ~p~n", @@ -601,10 +589,10 @@ get_default_encoding(ServerHost) -> Result. get_realname(ServerHost) -> - gen_mod:get_module_opt(ServerHost, ?MODULE, realname, fun iolist_to_binary/1, ?DEFAULT_REALNAME). + gen_mod:get_module_opt(ServerHost, ?MODULE, realname, ?DEFAULT_REALNAME). get_webirc_password(ServerHost) -> - gen_mod:get_module_opt(ServerHost, ?MODULE, webirc_password, fun iolist_to_binary/1, ?DEFAULT_WEBIRC_PASSWORD). + gen_mod:get_module_opt(ServerHost, ?MODULE, webirc_password, ?DEFAULT_WEBIRC_PASSWORD). get_connection_params(Host, ServerHost, From, IRCServer) -> |