aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_system_monitor.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_system_monitor.erl')
-rw-r--r--src/ejabberd_system_monitor.erl32
1 files changed, 13 insertions, 19 deletions
diff --git a/src/ejabberd_system_monitor.erl b/src/ejabberd_system_monitor.erl
index 3f6c05667..ae7cb2d88 100644
--- a/src/ejabberd_system_monitor.erl
+++ b/src/ejabberd_system_monitor.erl
@@ -41,7 +41,7 @@
-include("ejabberd.hrl").
-include("logger.hrl").
--include("jlib.hrl").
+-include("xmpp.hrl").
-record(state, {}).
@@ -64,18 +64,16 @@ start_link() ->
process_command(From, To, Packet) ->
case To of
#jid{luser = <<"">>, lresource = <<"watchdog">>} ->
- #xmlel{name = Name} = Packet,
- case Name of
- <<"message">> ->
+ case Packet of
+ #message{body = Body} ->
LFrom =
jid:tolower(jid:remove_resource(From)),
case lists:member(LFrom, get_admin_jids()) of
true ->
- Body = fxml:get_path_s(Packet,
- [{elem, <<"body">>}, cdata]),
+ BodyText = xmpp:get_text(Body),
spawn(fun () ->
process_flag(priority, high),
- process_command1(From, To, Body)
+ process_command1(From, To, BodyText)
end),
stop;
false -> ok
@@ -186,24 +184,20 @@ process_large_heap(Pid, Info) ->
"much memory:~n~p~n~s",
[node(), Pid, Info, DetailedInfo])),
From = jid:make(<<"">>, Host, <<"watchdog">>),
- Hint = [#xmlel{name = <<"no-permanent-store">>,
- attrs = [{<<"xmlns">>, ?NS_HINTS}]}],
- lists:foreach(fun (JID) ->
- send_message(From, jid:make(JID), Body, Hint)
- end, JIDs).
+ Hint = [#hint{type = 'no-permanent-store'}],
+ lists:foreach(
+ fun(JID) ->
+ send_message(From, jid:make(JID), Body, Hint)
+ end, JIDs).
send_message(From, To, Body) ->
send_message(From, To, Body, []).
send_message(From, To, Body, ExtraEls) ->
ejabberd_router:route(From, To,
- #xmlel{name = <<"message">>,
- attrs = [{<<"type">>, <<"chat">>}],
- children =
- [#xmlel{name = <<"body">>, attrs = [],
- children =
- [{xmlcdata, Body}]}
- | ExtraEls]}).
+ #message{type = chat,
+ body = xmpp:mk_text(Body),
+ sub_els = ExtraEls}).
get_admin_jids() ->
ejabberd_config:get_option(