fetch messages for channels and display them

This commit is contained in:
2019-07-08 18:38:24 +02:00
parent 8718ef85a0
commit c3f4f5a180
13 changed files with 397 additions and 8 deletions

View File

@@ -77,6 +77,11 @@ bool dc_api_create_channel(dc_api_t api, dc_account_t login,
dc_account_t *recipients, size_t nrecp,
dc_channel_t *channel);
/**
* Fetch 50 messages for the given channel.
*/
bool dc_api_get_messages(dc_api_t api, dc_account_t login, dc_channel_t c);
/**
* Fetch a list of friends of the login account "login". The friends are stored
* within the login object.

View File

@@ -5,6 +5,7 @@
#include <jansson.h>
#include <dc/account.h>
#include <dc/message.h>
/**
* A discord channel. Exactly what it says on the tin. A place where one
@@ -49,10 +50,16 @@ typedef struct dc_channel_ *dc_channel_t;
dc_channel_t dc_channel_new(void);
dc_channel_t dc_channel_from_json(json_t *j);
char const *dc_channel_id(dc_channel_t c);
dc_channel_type_t dc_channel_type(dc_channel_t c);
void dc_channel_set_type(dc_channel_t c, dc_channel_type_t t);
size_t dc_channel_recipients(dc_channel_t c);
dc_account_t dc_channel_nthrecipient(dc_channel_t c, size_t i);
size_t dc_channel_messages(dc_channel_t c);
dc_message_t dc_channel_nthmessage(dc_channel_t c, size_t i);
void dc_channel_addmessages(dc_channel_t c, dc_message_t *m, size_t s);
#endif

View File

@@ -0,0 +1,24 @@
#ifndef DC_MESSAGE_H
#define DC_MESSAGE_H
#include <stdint.h>
#include <jansson.h>
#include <dc/account.h>
struct dc_message_;
typedef struct dc_message_ *dc_message_t;
dc_message_t dc_message_new(void);
dc_message_t dc_message_from_json(json_t *j);
json_t *dc_message_to_json(dc_message_t m);
char const *dc_message_id(dc_message_t m);
char const *dc_message_channel_id(dc_message_t m);
char const *dc_message_timestamp(dc_message_t m);
char const *dc_message_content(dc_message_t m);
dc_account_t dc_message_author(dc_message_t m);
int dc_message_compare(dc_message_t *a, dc_message_t *b);
#endif