#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); private: QString outbox_filename; ArchiveType archive_type; QJsonObject *outbox_json = nullptr; QJsonArray *outbox_items = nullptr; };