diff options
Diffstat (limited to 'data.c')
-rw-r--r-- | data.c | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -102,3 +102,28 @@ void data_add_incoming_message(const char* sender_jid, const char* content) { // received message so that future responses go to this ressource } + +void data_add_outgoing_message(const char* sender_jid, const char* content, + chat_t* chat) { + + // allocate and initialize message_t + message_t* msg = malloc(sizeof(message_t)); + msg->sender_jid = malloc(sizeof(char)*strlen(sender_jid)); + strcpy(msg->sender_jid, sender_jid); + msg->recipient_jid = malloc(sizeof(char)*strlen(chat->jid)); + strcpy(msg->recipient_jid, chat->jid); + msg->content = malloc(sizeof(char)*strlen(content)); + strcpy(msg->content, content); + msg->next = NULL; + + // find pointer to next message of chat and add this message + message_t* m; + for (m = chat->messages; m != NULL; m=m->next); + m = msg; + + // TODO send this message via XMPP + + // create GUI widget for this message + gui_add_message_widget(msg, chat); + +} |