diff options
Diffstat (limited to 'src/core/ephraim_conv.erl')
-rw-r--r-- | src/core/ephraim_conv.erl | 11 |
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 -> |