diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-02-14 12:39:26 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-02-14 12:39:26 +0300 |
commit | 28f66ddd7c3d39bbc694a32a396fc1c40296983e (patch) | |
tree | 901b1c79e4664b831ee9c0109516813a451c4820 /src/mod_echo.erl | |
parent | a1e45ab56c5405fe2d5ea6a0b9eabc4e3450190d (diff) |
Attach modules to gen_mod's supervisor
Diffstat (limited to 'src/mod_echo.erl')
-rw-r--r-- | src/mod_echo.erl | 38 |
1 files changed, 10 insertions, 28 deletions
diff --git a/src/mod_echo.erl b/src/mod_echo.erl index 80e41494b..7c8722fce 100644 --- a/src/mod_echo.erl +++ b/src/mod_echo.erl @@ -32,8 +32,7 @@ -behaviour(gen_mod). %% API --export([start_link/2, start/2, stop/1, - do_client_version/3]). +-export([start/2, stop/1, do_client_version/3]). -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3, @@ -46,31 +45,20 @@ -record(state, {host = <<"">> :: binary()}). --define(PROCNAME, ejabberd_mod_echo). - %%==================================================================== -%% API +%% gen_mod API %%==================================================================== -%%-------------------------------------------------------------------- -%% Function: start_link() -> {ok,Pid} | ignore | {error,Error} -%% Description: Starts the server -%%-------------------------------------------------------------------- -start_link(Host, Opts) -> - Proc = gen_mod:get_module_proc(Host, ?PROCNAME), - gen_server:start_link({local, Proc}, ?MODULE, - [Host, Opts], []). - start(Host, Opts) -> - Proc = gen_mod:get_module_proc(Host, ?PROCNAME), - ChildSpec = {Proc, {?MODULE, start_link, [Host, Opts]}, - transient, 1000, worker, [?MODULE]}, - supervisor:start_child(ejabberd_sup, ChildSpec). + gen_mod:start_child(?MODULE, Host, Opts). stop(Host) -> - Proc = gen_mod:get_module_proc(Host, ?PROCNAME), - supervisor:terminate_child(ejabberd_sup, Proc), - supervisor:delete_child(ejabberd_sup, Proc), - ok. + gen_mod:stop_child(?MODULE, Host). + +depends(_Host, _Opts) -> + []. + +mod_opt_type(host) -> fun iolist_to_binary/1; +mod_opt_type(_) -> [host]. %%==================================================================== %% gen_server callbacks @@ -190,9 +178,3 @@ do_client_version(enabled, From, To) -> after 5000 -> % Timeout in miliseconds: 5 seconds [] end. - -depends(_Host, _Opts) -> - []. - -mod_opt_type(host) -> fun iolist_to_binary/1; -mod_opt_type(_) -> [host]. |