summaryrefslogtreecommitdiffstats
path: root/src/core/ephraim_conv.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ephraim_conv.erl')
-rw-r--r--src/core/ephraim_conv.erl11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/ephraim_conv.erl b/src/core/ephraim_conv.erl
index 3010036..ac4c26d 100644
--- a/src/core/ephraim_conv.erl
+++ b/src/core/ephraim_conv.erl
@@ -19,7 +19,18 @@ loop(State) ->
ok;
{receive_message, Packet} ->
+ Type = exmpp_message:get_type(Packet),
+ Body = exmpp_message:get_body(Packet),
io:format("Received message from ~p:~n~p~n", [State#conv_state.jid, Packet]),
+ ephraim ! {ui_update, {receive_message, State#conv_state.jid, Type, Body}},
+ loop(State);
+
+ {send_message, Type, Message} ->
+ Packet = exmpp_message:normal(Message),
+ Packet2 = exmpp_message:set_type(Packet, Type),
+ Packet3 = exmpp_xml:set_attribute(Packet2, to, State#conv_state.jid),
+ ephraim ! {send_packet, Packet3},
+ ephraim ! {ui_update, {sent_message, State#conv_state.jid, Type, Message}},
loop(State);
Msg ->