
3 changed files with 113 additions and 2 deletions
@ -0,0 +1,58 @@ |
|||
#include "message.hh" |
|||
|
|||
namespace pEp { |
|||
namespace PythonAdapter { |
|||
using namespace std; |
|||
|
|||
Message::Message() |
|||
: _msg(new_message(NULL, NULL, NULL, NULL)) |
|||
{ |
|||
if (!_msg) |
|||
throw bad_alloc(); |
|||
} |
|||
|
|||
Message::Message(const Message& second) |
|||
: _msg(message_dup(second._msg)) |
|||
{ |
|||
if (!_msg) |
|||
throw bad_alloc(); |
|||
} |
|||
|
|||
Message::Message(message *msg) |
|||
: _msg(msg) |
|||
{ |
|||
|
|||
} |
|||
|
|||
Message::~Message() |
|||
{ |
|||
free_message(_msg); |
|||
} |
|||
|
|||
void Message::attach(message *msg) |
|||
{ |
|||
free_message(_msg); |
|||
_msg = msg; |
|||
} |
|||
|
|||
message *Message::detach() |
|||
{ |
|||
message *new_one = new_message(NULL, NULL, NULL, NULL); |
|||
if (!new_one) |
|||
throw bad_alloc(); |
|||
|
|||
message *msg = _msg; |
|||
_msg = new_one; |
|||
|
|||
return msg; |
|||
} |
|||
|
|||
Message::operator message *() |
|||
{ |
|||
if (!_msg) |
|||
throw bad_cast(); |
|||
return _msg; |
|||
} |
|||
} |
|||
} |
|||
|
@ -0,0 +1,55 @@ |
|||
#pragma once |
|||
|
|||
#include <pEp/message.h> |
|||
#include <string> |
|||
#include "str_attr.hh" |
|||
|
|||
namespace pEp { |
|||
namespace PythonAdapter { |
|||
using namespace utility; |
|||
|
|||
class Message { |
|||
message *_msg; |
|||
|
|||
public: |
|||
Message(); |
|||
Message(const Message& second); |
|||
Message(message *ident); |
|||
~Message(); |
|||
operator message *(); |
|||
void attach(message *ident); |
|||
message *detach(); |
|||
|
|||
PEP_msg_direction dir; |
|||
char *id; |
|||
char *shortmsg; |
|||
char *longmsg; |
|||
|
|||
char *longmsg_formatted; |
|||
|
|||
bloblist_t *attachments; |
|||
char *rawmsg_ref; |
|||
size_t rawmsg_size; |
|||
timestamp *sent; |
|||
timestamp *recv; |
|||
pEp_identity *from; |
|||
identity_list *to; |
|||
pEp_identity *recv_by; |
|||
|
|||
identity_list *cc; |
|||
identity_list *bcc; |
|||
identity_list *reply_to; |
|||
stringlist_t *in_reply_to; |
|||
|
|||
struct _message *refering_msg_ref; |
|||
stringlist_t *references; |
|||
struct _message_ref_list *refered_by; |
|||
|
|||
stringlist_t *keywords; |
|||
char *comments; |
|||
stringpair_list_t *opt_fields; |
|||
PEP_enc_format enc_format; |
|||
}; |
|||
} |
|||
} |
|||
|
Loading…
Reference in new issue