#pragma once #include #include #include #include #include #include #include "types.h" enum ArchiveType { MASTODON }; class Archive { public: enum InitError { NoError = 0, FailedOpeningFile, JsonParseError, JsonEmpty, JsonNull, JsonNotObject, JsonNotActivityStream // for ActivityPub archives }; Archive(QString outbox_filename, ArchiveType archive_type); ~Archive(); InitError init(); void update_status_list(ViewStatusTypes allowed_types, QListWidget *parent); QString get_html_status_info(int status_index, int text_zone_width); private: QString outbox_filename; ArchiveType archive_type; QJsonObject *outbox_json = nullptr; QJsonArray *outbox_items = nullptr; QString get_html_status_attachments(QJsonValueRef attachments_ref, int text_zone_width); };