26 #include <boost/optional.hpp> 28 #include <nlohmann/json.hpp> 32 #include <wx/string.h> 147 struct adl_serializer<wxString>
149 static void to_json(
json& j,
const wxString& s ) { j = s.ToUTF8(); }
153 s = wxString::FromUTF8( j.get<std::string>().c_str() );
200 repository_name, install_timestamp );
203 #endif // PCM_DATA_H_ < Package version metadata Package metadata
PCM_PACKAGE_VERSION_STATUS status
boost::optional< PCM_CONTACT > maintainer
PCM_PACKAGE_TYPE
< Supported package types
std::vector< std::string > platforms
PCM_RESOURCE_REFERENCE packages
uint64_t update_timestamp
boost::optional< uint64_t > download_size
boost::optional< PCM_RESOURCE_REFERENCE > resources
boost::optional< uint64_t > install_size
PCM_PACKAGE_VERSION_STATUS
boost::optional< wxString > download_sha256
boost::optional< int > version_epoch
wxString description_full
static void to_json(json &j, const wxString &s)
boost::optional< wxString > download_url
Repository reference to a resource.
std::vector< std::string > tags
std::map< wxString, wxString > STRING_MAP
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(PCM_INSTALLATION_ENTRY, package, current_version, repository_id, repository_name, install_timestamp)
NLOHMANN_JSON_SERIALIZE_ENUM(PCM_PACKAGE_TYPE, { { PT_INVALID, "invalid" }, { PT_PLUGIN, "plugin" }, { PT_LIBRARY, "library" }, { PT_COLORTHEME, "colortheme" }, }) NLOHMANN_JSON_SERIALIZE_ENUM(PCM_PACKAGE_VERSION_STATUS
std::vector< PACKAGE_VERSION > versions
uint64_t install_timestamp
void from_json(const json &j, PACKAGE_VERSION &v)
std::tuple< int, int, int, int > parsed_version
boost::optional< wxString > kicad_version_max
boost::optional< PCM_RESOURCE_REFERENCE > manifests
boost::optional< wxString > sha256
std::vector< PCM_PACKAGE > package_list
void to_json(json &j, const PCM_PACKAGE &p)
Package installation entry.
static void from_json(const json &j, wxString &s)
boost::optional< PCM_CONTACT > maintainer