summaryrefslogtreecommitdiff
path: root/src/portal/cpy/post.pxd
blob: aae98391ab12ace27b161848c21c4519774e1532 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
include "str.pxd"

cdef extern from "../src/post.h":
    ctypedef struct optional_int:
        s64 i
        bool set

    cdef struct camu_post_date:
        u8 type
        f32 range_start
        f32 range_end
        u32 meta

    ctypedef struct camu_dates_array:
        u32 size
        u32 alloc
        camu_post_date *data

    cdef struct camu_post_media:
        u8 type
        str key
        str url
        str ext
        str thumbnail_url
        str thumbnail_ext

    ctypedef struct camu_media_array:
        u32 size
        u32 alloc
        camu_post_media *data

    cdef struct camu_post_user:
        str unique_id
        wstr username
        wstr display_name
        str profile_picture_url

    cdef struct camu_post_ref:
        str unique_id

    cdef struct camu_post:
        u16 version
        u8 type
        str unique_id
        str url
        camu_dates_array dates
        camu_post_user author
        wstr title
        wstr text
        optional_int likes
        optional_int bookmarks
        optional_int reposts
        optional_int quotes
        optional_int comments
        optional_int views
        camu_media_array media
        camu_post_ref post
        camu_post_ref quoted
        camu_post_ref in_reply_to

    void camu_post_reset(camu_post *post)
    void camu_post_add_date(camu_post *post, u8 type, f32 range_start, f32 range_end, u32 meta)
    void camu_post_add_media(camu_post *post, u8 type, str *key, str *url, str *ext, str *thumbnail_url, str *thumbnail_ext)