diff --git a/src/message.cc b/src/message.cc index c9167d0..f47ada3 100644 --- a/src/message.cc +++ b/src/message.cc @@ -117,6 +117,7 @@ namespace pEp { _msg->from = ::identity_dup(*from); if (!_msg->from) throw bad_alloc(); + _msg->dir = dir; } } @@ -311,6 +312,11 @@ namespace pEp { return _color(outgoing_rating()); } + Message Message::copy() + { + return Message(_str()); + } + Message outgoing_message(Identity me) { ::myself(session, me); diff --git a/src/message.hh b/src/message.hh index d858fbd..9b22d47 100644 --- a/src/message.hh +++ b/src/message.hh @@ -128,7 +128,7 @@ namespace pEp { boost::python::tuple decrypt(); int outgoing_rating(); int outgoing_color(); - + Message copy(); }; Message outgoing_message(Identity me); diff --git a/src/message_api.cc b/src/message_api.cc index 112641f..dc74467 100644 --- a/src/message_api.cc +++ b/src/message_api.cc @@ -23,7 +23,7 @@ namespace pEp { free_stringlist(_extra); _throw_status(status); - if (!_dst || _dst == src) { + if (!_dst || _dst == _src) { Message dst(src); return dst; } diff --git a/src/pEpmodule.cc b/src/pEpmodule.cc index 39c7e2c..58b9da0 100644 --- a/src/pEpmodule.cc +++ b/src/pEpmodule.cc @@ -186,7 +186,8 @@ BOOST_PYTHON_MODULE(pEp) .def("encrypt", (Message(Message::*)(list,int,int))&Message::encrypt, "encrypt message") .def("decrypt", &Message::decrypt, "decrypt message") .add_property("outgoing_rating", &Message::outgoing_rating, "rating outgoing message will have") - .add_property("outgoing_color", &Message::outgoing_color, "color outgoing message will have"); + .add_property("outgoing_color", &Message::outgoing_color, "color outgoing message will have") + .def("copy", &Message::copy, "deep copy of message"); // basic API