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_client_state.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 'src/mod_client_state.erl')
-rw-r--r-- | src/mod_client_state.erl | 42 |
1 files changed, 9 insertions, 33 deletions
diff --git a/src/mod_client_state.erl b/src/mod_client_state.erl index be5679855..f2fcb37ee 100644 --- a/src/mod_client_state.erl +++ b/src/mod_client_state.erl @@ -59,18 +59,9 @@ %%-------------------------------------------------------------------- -spec start(binary(), gen_mod:opts()) -> ok. start(Host, Opts) -> - QueuePresence = - gen_mod:get_opt(queue_presence, Opts, - fun(B) when is_boolean(B) -> B end, - true), - QueueChatStates = - gen_mod:get_opt(queue_chat_states, Opts, - fun(B) when is_boolean(B) -> B end, - true), - QueuePEP = - gen_mod:get_opt(queue_pep, Opts, - fun(B) when is_boolean(B) -> B end, - true), + QueuePresence = gen_mod:get_opt(queue_presence, Opts, true), + QueueChatStates = gen_mod:get_opt(queue_chat_states, Opts, true), + QueuePEP = gen_mod:get_opt(queue_pep, Opts, true), if QueuePresence; QueueChatStates; QueuePEP -> register_hooks(Host), if QueuePresence -> @@ -93,18 +84,9 @@ start(Host, Opts) -> -spec stop(binary()) -> ok. stop(Host) -> - QueuePresence = - gen_mod:get_module_opt(Host, ?MODULE, queue_presence, - fun(B) when is_boolean(B) -> B end, - true), - QueueChatStates = - gen_mod:get_module_opt(Host, ?MODULE, queue_chat_states, - fun(B) when is_boolean(B) -> B end, - true), - QueuePEP = - gen_mod:get_module_opt(Host, ?MODULE, queue_pep, - fun(B) when is_boolean(B) -> B end, - true), + QueuePresence = gen_mod:get_module_opt(Host, ?MODULE, queue_presence, true), + QueueChatStates = gen_mod:get_module_opt(Host, ?MODULE, queue_chat_states, true), + QueuePEP = gen_mod:get_module_opt(Host, ?MODULE, queue_pep, true), if QueuePresence; QueueChatStates; QueuePEP -> unregister_hooks(Host), if QueuePresence -> @@ -127,15 +109,9 @@ stop(Host) -> -spec reload(binary(), gen_mod:opts(), gen_mod:opts()) -> ok. reload(Host, NewOpts, _OldOpts) -> - QueuePresence = gen_mod:get_opt(queue_presence, NewOpts, - fun(B) when is_boolean(B) -> B end, - true), - QueueChatStates = gen_mod:get_opt(queue_chat_states, NewOpts, - fun(B) when is_boolean(B) -> B end, - true), - QueuePEP = gen_mod:get_opt(queue_pep, NewOpts, - fun(B) when is_boolean(B) -> B end, - true), + QueuePresence = gen_mod:get_opt(queue_presence, NewOpts, true), + QueueChatStates = gen_mod:get_opt(queue_chat_states, NewOpts, true), + QueuePEP = gen_mod:get_opt(queue_pep, NewOpts, true), if QueuePresence; QueueChatStates; QueuePEP -> register_hooks(Host); true -> |