aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_sm.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_sm.erl')
-rw-r--r--src/ejabberd_sm.erl13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl
index bfe6e934f..e25902374 100644
--- a/src/ejabberd_sm.erl
+++ b/src/ejabberd_sm.erl
@@ -25,6 +25,8 @@
-module(ejabberd_sm).
+-behaviour(ejabberd_config).
+
-author('alexey@process-one.net').
-behaviour(gen_server).
@@ -64,9 +66,8 @@
is_existing_resource/3
]).
-%% gen_server callbacks
-export([init/1, handle_call/3, handle_cast/2,
- handle_info/2, terminate/2, code_change/3]).
+ handle_info/2, terminate/2, code_change/3, opt_type/1]).
-include("ejabberd.hrl").
-include("logger.hrl").
@@ -805,3 +806,11 @@ kick_user(User, Server) ->
PID ! kick
end, Resources),
length(Resources).
+
+opt_type(sm_db_type) ->
+ fun (mnesia) -> mnesia;
+ (internal) -> mnesia;
+ (odbc) -> odbc;
+ (redis) -> redis
+ end;
+opt_type(_) -> [sm_db_type].