Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_roster_mnesia.erl')
-rw-r--r--src/mod_roster_mnesia.erl12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/mod_roster_mnesia.erl b/src/mod_roster_mnesia.erl
index 398f105d5..1a33407e1 100644
--- a/src/mod_roster_mnesia.erl
+++ b/src/mod_roster_mnesia.erl
@@ -15,7 +15,7 @@
get_roster/2, get_roster_by_jid/3, get_only_items/2,
roster_subscribe/4, get_roster_by_jid_with_groups/3,
remove_user/2, update_roster/4, del_roster/3, transaction/2,
- read_subscription_and_groups/3, import/2]).
+ read_subscription_and_groups/3, import/3, create_roster/1]).
-include("mod_roster.hrl").
-include("logger.hrl").
@@ -51,7 +51,7 @@ write_roster_version(LUser, LServer, InTransaction, Ver) ->
end.
get_roster(LUser, LServer) ->
- mnesia:dirty_index_read(roster, {LUser, LServer}, #roster.us).
+ {ok, mnesia:dirty_index_read(roster, {LUser, LServer}, #roster.us)}.
get_roster_by_jid(LUser, LServer, LJID) ->
case mnesia:read({roster, {LUser, LServer, LJID}}) of
@@ -103,9 +103,13 @@ read_subscription_and_groups(LUser, LServer, LJID) ->
transaction(_LServer, F) ->
mnesia:transaction(F).
-import(_LServer, #roster{} = R) ->
+create_roster(RItem) ->
+ mnesia:dirty_write(RItem).
+
+import(_LServer, <<"rosterusers">>, #roster{} = R) ->
mnesia:dirty_write(R);
-import(_LServer, #roster_version{} = RV) ->
+import(LServer, <<"roster_version">>, [LUser, Ver]) ->
+ RV = #roster_version{us = {LUser, LServer}, version = Ver},
mnesia:dirty_write(RV).
%%%===================================================================