diff options
Diffstat (limited to 'data.h')
-rw-r--r-- | data.h | 38 |
1 files changed, 36 insertions, 2 deletions
@@ -1,2 +1,36 @@ -void add_roster_item(const char* jid, const char* subscription, const char* name); -void* data_get_chat_page(void* roster_item_widget); +#ifndef DATA_H +#define DATA_H + +// https://www.rfc-editor.org/rfc/rfc6121#section-2.1.2.5 +typedef enum { + SUB_NONE, + SUB_TO, + SUB_FROM, + SUB_BOTH +} subscription_t; + +typedef struct _message_t { + char* content; + char* sender_jid; + struct _message_t* next; + void* widget; +} message_t; + +typedef struct _chat_t { + message_t* messages; + void* widget; +} chat_t; + +typedef struct _roster_item_t { + char* name; // could be NULL + char* jid; + subscription_t sub; + chat_t* chat; + struct _roster_item_t* next; + void* widget; +} roster_item_t; + +void data_add_roster_item(const char* jid, const char* subscription, + const char* name); +void data_add_incoming_message(const char* sender_jid, const char* content); +#endif |