27 if( j.contains( key ) )
30 j.at( key ).get_to( tmp );
58 nlohmann::to_json( j[
"platforms"], v.
platforms );
70 j.at(
"version" ).get_to( v.
version );
71 j.at(
"status" ).get_to( v.
status );
81 if( j.contains(
"platforms" ) )
82 j.at(
"platforms" ).get_to( v.
platforms );
84 if( j.contains(
"keep_on_update" ) )
104 if( p.
tags.size() > 0 )
114 j.at(
"name" ).get_to( p.
name );
118 j.at(
"type" ).get_to( p.
type );
119 j.at(
"author" ).get_to( p.
author );
120 j.at(
"license" ).get_to( p.
license );
121 j.at(
"resources" ).get_to( p.
resources );
122 j.at(
"versions" ).get_to( p.
versions );
126 if( j.contains(
"tags" ) )
127 j.at(
"tags" ).get_to( p.
tags );
129 if( j.contains(
"keep_on_update" ) )
145 j.at(
"url" ).get_to( r.
url );
169 j.at(
"name" ).get_to( r.
name );
170 j.at(
"packages" ).get_to( r.
packages );
191 j.at(
"package" ).get_to( e.
package );
198 if( j.contains(
"pinned" ) )
199 j.at(
"pinned" ).get_to( e.
pinned );
void to_json(json &j, const PACKAGE_VERSION &v)
void to_optional(const json &j, const char *key, std::optional< T > &dest)
void from_json(const json &j, PACKAGE_VERSION &v)
< Package version metadata Package metadata
std::optional< uint64_t > download_size
std::optional< uint64_t > install_size
PCM_PACKAGE_VERSION_STATUS status
std::optional< wxString > kicad_version_max
std::optional< wxString > download_url
std::optional< wxString > download_sha256
std::optional< int > version_epoch
std::vector< std::string > platforms
std::vector< std::string > keep_on_update
uint64_t install_timestamp
Repository reference to a resource.
wxString description_full
std::vector< std::string > tags
std::optional< PCM_CONTACT > maintainer
std::vector< PACKAGE_VERSION > versions
std::vector< std::string > keep_on_update
Package installation entry.
PCM_RESOURCE_REFERENCE packages
std::optional< PCM_CONTACT > maintainer
std::optional< PCM_RESOURCE_REFERENCE > manifests
std::optional< PCM_RESOURCE_REFERENCE > resources
std::optional< wxString > sha256
uint64_t update_timestamp