#ifndef ARCHIVE_DEPENDENCY_H #define ARCHIVE_DEPENDENCY_H #include #include #include class launchpad; class archive_dependency { public: archive_dependency(); ~archive_dependency(); static std::optional parse(const std::string& json_data); void parse_json(const std::string& json_data); void set_lp(launchpad* lp_ptr); std::string archive_link; std::string component_name; std::string date_created; std::string dependency_link; std::string http_etag; std::string pocket; std::string resource_type_link; std::string self_link; std::string snap_base_link; std::string title; std::optional get() const; bool patch(const nlohmann::json& data) const; bool put(const nlohmann::json& data) const; private: launchpad* lp; }; #endif