From 2aa3c1c7208823fedc77e7c8d1a50d2012676e78 Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Fri, 24 Jan 2003 20:18:33 +0000 Subject: *** empty log message *** SVN Revision: 49 --- src/gen_mod.erl | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/gen_mod.erl (limited to 'src/gen_mod.erl') diff --git a/src/gen_mod.erl b/src/gen_mod.erl new file mode 100644 index 000000000..6978dbe37 --- /dev/null +++ b/src/gen_mod.erl @@ -0,0 +1,58 @@ +%%%---------------------------------------------------------------------- +%%% File : gen_mod.erl +%%% Author : Alexey Shchepin +%%% Purpose : +%%% Created : 24 Jan 2003 by Alexey Shchepin +%%% Id : $Id$ +%%%---------------------------------------------------------------------- + +-module(gen_mod). +-author('alexey@sevcom.net'). +-vsn('$Revision$ '). + +-export([start_module/2, + stop_module/1, + get_opt/2, + get_opt/3]). + +-export([behaviour_info/1]). + +-include("ejabberd.hrl"). + + +behaviour_info(callbacks) -> + [{start, 1}, + {stop, 0}]; +behaviour_info(Other) -> + undefined. + + +start_module(Module, Opts) -> + case catch Module:start(Opts) of + {'EXIT', Reason} -> + ?ERROR_MSG("~p", [Reason]); + _ -> + ok + end. + +stop_module(Module) -> + Module:stop(). + + +get_opt(Opt, Opts) -> + case lists:keysearch(Opt, 1, Opts) of + false -> + % TODO: replace with more appropriate function + [] = {undefined_option, Opt}; + {value, {_, Val}} -> + Val + end. + +get_opt(Opt, Opts, Default) -> + case lists:keysearch(Opt, 1, Opts) of + false -> + Default; + {value, {_, Val}} -> + Val + end. + -- cgit v1.2.3