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_irc.erl | |
parent | Merge pull request #1539 from lemenkov/use_crypto_sha (diff) |
Attach modules to gen_mod's supervisor
Diffstat (limited to 'src/mod_irc.erl')
-rw-r--r-- | src/mod_irc.erl | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/src/mod_irc.erl b/src/mod_irc.erl index 25c7430b..dcb60331 100644 --- a/src/mod_irc.erl +++ b/src/mod_irc.erl @@ -32,7 +32,7 @@ -behaviour(gen_mod). %% API --export([start_link/2, start/2, stop/1, export/1, import/1, +-export([start/2, stop/1, export/1, import/1, import/3, closed_connection/3, get_connection_params/3, data_to_binary/2, process_disco_info/1, process_disco_items/1, process_register/1, process_vcard/1, process_command/1]). @@ -62,38 +62,21 @@ server_host = <<"">> :: binary(), access = all :: atom()}). --define(PROCNAME, ejabberd_mod_irc). - -callback init(binary(), gen_mod:opts()) -> any(). -callback import(binary(), #irc_custom{}) -> ok | pass. -callback get_data(binary(), binary(), jid()) -> error | empty | irc_data(). -callback set_data(binary(), binary(), jid(), irc_data()) -> {atomic, any()}. %%==================================================================== -%% 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) -> start_supervisor(Host), - 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) -> stop_supervisor(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) -> []. |