Browse Source

restructuring

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

30
src/message.cc

@ -318,10 +318,40 @@ namespace pEp {
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)
{
auto m = Message(mime_text);
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;
}
}

Loading…
Cancel
Save