handle_cast/2, terminate/2, code_change/3]).
%% hook handlers
--export([user_send_packet/4, user_receive_packet/5,
+-export([user_send_packet/3, user_receive_packet/4,
c2s_presence_in/2, c2s_broadcast_recipients/6]).
-include("ejabberd.hrl").
read_caps(Tail, Result);
read_caps([], Result) -> Result.
-user_send_packet(#xmlel{name = <<"presence">>, attrs = Attrs,
- children = Els} = Pkt,
- _C2SState,
- #jid{luser = User, lserver = Server} = From,
+user_send_packet(#jid{luser = User, lserver = Server} = From,
#jid{luser = User, lserver = Server,
- lresource = <<"">>}) ->
+ lresource = <<"">>},
+ #xmlel{name = <<"presence">>, attrs = Attrs,
+ children = Els} = Pkt) ->
Type = xml:get_attr_s(<<"type">>, Attrs),
if Type == <<"">>; Type == <<"available">> ->
case read_caps(Els) of
true -> ok
end,
Pkt;
-user_send_packet(Pkt, _C2SState, _From, _To) ->
+user_send_packet( _From, _To, Pkt) ->
Pkt.
-user_receive_packet(#xmlel{name = <<"presence">>, attrs = Attrs,
- children = Els} = Pkt,
- _C2SState, #jid{lserver = Server},
- From, _To) ->
+user_receive_packet(#jid{lserver = Server},
+ From, _To,
+ #xmlel{name = <<"presence">>, attrs = Attrs,
+ children = Els} = Pkt) ->
Type = xml:get_attr_s(<<"type">>, Attrs),
IsRemote = not lists:member(From#jid.lserver, ?MYHOSTS),
if IsRemote and
true -> ok
end,
Pkt;
-user_receive_packet(Pkt, _C2SState, _JID, _From, _To) ->
+user_receive_packet( _JID, _From, _To, Pkt) ->
Pkt.
-spec caps_stream_features([xmlel()], binary()) -> [xmlel()].