aboutsummaryrefslogtreecommitdiff
path: root/src/mod_client_state.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-04-30 19:01:47 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-04-30 19:01:47 +0300
commitfddd6110e00df12c99a20a2cc9d074f5f4f1f965 (patch)
tree366575b855f1b2013db7eeb02ecb213f81c98c1f /src/mod_client_state.erl
parentMerge 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.erl42
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 ->