summaryrefslogtreecommitdiff
path: root/src/mod_irc.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-14 12:39:26 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-14 12:39:26 +0300
commit28f66ddd7c3d39bbc694a32a396fc1c40296983e (patch)
tree901b1c79e4664b831ee9c0109516813a451c4820 /src/mod_irc.erl
parentMerge 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.erl25
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) ->
[].