./ct_report/coverage/mongoose_session.COVER.html

1 -module(mongoose_session).
2
3 -export([merge_info/2]).
4 -export([get_info/1]).
5 -export([get_info/3]).
6 -export([set_info/3]).
7 -export([get_resource/1]).
8
9 -ignore_xref([get_info/1, set_info/3]).
10
11 -include("session.hrl").
12
13 -spec merge_info(ejabberd_sm:session(), ejabberd_sm:session()) -> ejabberd_sm:session().
14 merge_info(New = #session{info = NewInfo}, #session{info = OldInfo}) ->
15 2705 New#session{info = maps:merge(OldInfo, NewInfo)}.
16
17 -spec get_info(ejabberd_sm:session()) -> ejabberd_sm:info().
18 get_info(#session{info = Info}) ->
19
:-(
Info.
20
21 -spec get_info(ejabberd_sm:session(), ejabberd_sm:info_key(), any()) -> any().
22 get_info(#session{info = Info}, Key, Default) ->
23 3385 case maps:is_key(Key, Info) of
24 108 true -> {Key, maps:get(Key, Info)};
25 3277 false -> Default
26 end.
27
28 -spec set_info(ejabberd_sm:session(), ejabberd_sm:info_key(), any()) -> ejabberd_sm:session().
29 set_info(#session{info = Info} = Session, Key, Value) ->
30
:-(
Session#session{info = maps:put(Key, Value, Info)}.
31
32 -spec get_resource(ejabberd_sm:session()) -> jid:lresource().
33 get_resource(#session{usr = {_U, _S, R}}) ->
34 10 R.
Line Hits Source