Browse Source

restructuring

PYADPT-55
Volker Birk 9 years ago
parent
commit
0cd8a9d346
  1. 9
      src/identity.cc
  2. 30
      src/message.cc

9
src/identity.cc

@ -118,11 +118,10 @@ namespace pEp {
Identity identity_attr(pEp_identity *&ident) Identity identity_attr(pEp_identity *&ident)
{ {
pEp_identity *_dup = NULL;
if (!ident) if (!ident)
_dup = new_identity(NULL, NULL, NULL, NULL); throw out_of_range("no identity assigned");
else
_dup = identity_dup(ident); pEp_identity *_dup = identity_dup(ident);
if (!_dup) if (!_dup)
throw bad_alloc(); throw bad_alloc();
@ -133,12 +132,12 @@ namespace pEp {
void identity_attr(pEp_identity *&ident, object value) void identity_attr(pEp_identity *&ident, object value)
{ {
Identity& _ident = extract< Identity& >(value); Identity& _ident = extract< Identity& >(value);
free_identity(ident);
pEp_identity *_dup = ::identity_dup(_ident); pEp_identity *_dup = ::identity_dup(_ident);
if (!_dup) if (!_dup)
throw bad_alloc(); throw bad_alloc();
PEP_STATUS status = update_identity(session, _dup); PEP_STATUS status = update_identity(session, _dup);
_throw_status(status); _throw_status(status);
free_identity(ident);
ident = _dup; ident = _dup;
} }

30
src/message.cc

@ -318,10 +318,40 @@ namespace pEp {
return m; return m;
} }
static object update(Identity ident)
{
update_identity(session, ident);
return object(ident);
}
static list update(list il)
{
for (int i=0; i<len(il); i++) {
update(extract< Identity >(il[i]));
}
return il;
}
Message incoming_message(string mime_text) Message incoming_message(string mime_text)
{ {
auto m = Message(mime_text); auto m = Message(mime_text);
m.dir(PEP_dir_incoming); m.dir(PEP_dir_incoming);
try {
m.from(update(m.from()));
}
catch (out_of_range&) { }
try {
m.recv_by(update(m.recv_by()));
}
catch (out_of_range&) { }
m.to(update(m.to()));
m.cc(update(m.cc()));
m.reply_to(update(m.reply_to()));
return m; return m;
} }
} }

Loading…
Cancel
Save