You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
3.0 KiB
C
124 lines
3.0 KiB
C
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
#include <stdio.h>
|
|
#include <time.h>
|
|
|
|
struct account;
|
|
struct emoji;
|
|
struct media;
|
|
|
|
struct status
|
|
{
|
|
unsigned int id;
|
|
int account_id;
|
|
int activity_id;
|
|
|
|
char* url;
|
|
bool stub;
|
|
bool remote;
|
|
|
|
char* content;
|
|
char* source;
|
|
bool sensitive;
|
|
bool pinned;
|
|
bool bookmarked;
|
|
time_t published;
|
|
|
|
int in_reply_to;
|
|
int quote_id;
|
|
int repost_id;
|
|
int root_status_id;
|
|
int reposted_status_id; // if this post was reposted, this will be the id of that status
|
|
|
|
struct {
|
|
char** items;
|
|
int count;
|
|
} media;
|
|
|
|
struct {
|
|
struct media** items;
|
|
int count;
|
|
} media2;
|
|
|
|
struct {
|
|
struct status_react** items;
|
|
int count;
|
|
} reacts;
|
|
|
|
struct {
|
|
int* items;
|
|
int count;
|
|
} likes;
|
|
|
|
struct {
|
|
int* items;
|
|
int count;
|
|
} replies;
|
|
|
|
struct {
|
|
int* items;
|
|
int count;
|
|
} reposts;
|
|
|
|
struct {
|
|
int* items;
|
|
int count;
|
|
} quotes;
|
|
|
|
struct {
|
|
int* items;
|
|
int count;
|
|
} mentions;
|
|
|
|
struct {
|
|
struct emoji** items;
|
|
int count;
|
|
} emoji;
|
|
};
|
|
|
|
void status_assign_local_id( struct status* s );
|
|
struct status* status_from_id( unsigned int id );
|
|
struct status* status_new_system_unfollow( int account_id );
|
|
struct status* status_new_system_block( int account_id );
|
|
struct status* status_new_system_stub( struct status* s );
|
|
struct status* status_new_repost( struct status* s, struct account* a );
|
|
struct status* status_from_uri( const char* uri );
|
|
struct status* status_fetch_from_uri( const char* uri );
|
|
struct status* status_from_uri_or_fetch( const char* uri );
|
|
|
|
struct ap_object;
|
|
struct status* status_from_activity( struct ap_object* act );
|
|
bool status_sync_from_activity_pub( struct status* s, struct ap_object* act );
|
|
bool status_sync_from_uri( struct status* s, const char* uri );
|
|
bool status_sync( struct status* s );
|
|
|
|
bool status_save_new( struct status* s );
|
|
void status_write_to_FILE( struct status* s, FILE* f );
|
|
void status_save( struct status* s );
|
|
void status_free( struct status* s );
|
|
void status_delete( struct status* s );
|
|
|
|
void status_flag_for_async_fetch( struct status* s );
|
|
|
|
void status_add_to_timeline( struct status* s, int timeline_id );
|
|
void status_get_context( struct status* s, void* ancestors, void* replies );
|
|
|
|
void status_add_reply( struct status* s, struct status* child );
|
|
void status_add_mention( struct status* s, int id );
|
|
void status_add_repost( struct status* s, struct status* repost );
|
|
void status_add_quote( struct status* s, struct status* quote );
|
|
void status_make_reply_to( struct status* s, int in_reply_to );
|
|
void status_make_quote_of( struct status* s, int id_quote_of );
|
|
void status_add_react( struct status* s, const char* react, struct account* a );
|
|
void status_remove_react( struct status* s, const char* react, struct account* a );
|
|
void status_add_like( struct status* s, struct account* a );
|
|
void status_remove_like( struct status* s, struct account* a );
|
|
void status_set_bookmark( struct status* s );
|
|
void status_clear_bookmark( struct status* s );
|
|
|
|
char* status_render_source( struct status* s );
|
|
|
|
void status_get_bookmarks( int offset, int limit, void* results_ptr );
|
|
|