2021-09-14 21:52:06 +08:00
|
|
|
#include <stdlib.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include "v1alpha1_server_storage_version.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1alpha1_server_storage_version_t *v1alpha1_server_storage_version_create(
|
|
|
|
|
char *api_server_id,
|
|
|
|
|
list_t *decodable_versions,
|
2023-09-06 01:56:31 +00:00
|
|
|
char *encoding_version,
|
|
|
|
|
list_t *served_versions
|
2021-09-14 21:52:06 +08:00
|
|
|
) {
|
|
|
|
|
v1alpha1_server_storage_version_t *v1alpha1_server_storage_version_local_var = malloc(sizeof(v1alpha1_server_storage_version_t));
|
|
|
|
|
if (!v1alpha1_server_storage_version_local_var) {
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
v1alpha1_server_storage_version_local_var->api_server_id = api_server_id;
|
|
|
|
|
v1alpha1_server_storage_version_local_var->decodable_versions = decodable_versions;
|
|
|
|
|
v1alpha1_server_storage_version_local_var->encoding_version = encoding_version;
|
2023-09-06 01:56:31 +00:00
|
|
|
v1alpha1_server_storage_version_local_var->served_versions = served_versions;
|
2021-09-14 21:52:06 +08:00
|
|
|
|
|
|
|
|
return v1alpha1_server_storage_version_local_var;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void v1alpha1_server_storage_version_free(v1alpha1_server_storage_version_t *v1alpha1_server_storage_version) {
|
|
|
|
|
if(NULL == v1alpha1_server_storage_version){
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
listEntry_t *listEntry;
|
|
|
|
|
if (v1alpha1_server_storage_version->api_server_id) {
|
|
|
|
|
free(v1alpha1_server_storage_version->api_server_id);
|
|
|
|
|
v1alpha1_server_storage_version->api_server_id = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (v1alpha1_server_storage_version->decodable_versions) {
|
|
|
|
|
list_ForEach(listEntry, v1alpha1_server_storage_version->decodable_versions) {
|
|
|
|
|
free(listEntry->data);
|
|
|
|
|
}
|
2022-03-09 10:56:53 +08:00
|
|
|
list_freeList(v1alpha1_server_storage_version->decodable_versions);
|
2021-09-14 21:52:06 +08:00
|
|
|
v1alpha1_server_storage_version->decodable_versions = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (v1alpha1_server_storage_version->encoding_version) {
|
|
|
|
|
free(v1alpha1_server_storage_version->encoding_version);
|
|
|
|
|
v1alpha1_server_storage_version->encoding_version = NULL;
|
|
|
|
|
}
|
2023-09-06 01:56:31 +00:00
|
|
|
if (v1alpha1_server_storage_version->served_versions) {
|
|
|
|
|
list_ForEach(listEntry, v1alpha1_server_storage_version->served_versions) {
|
|
|
|
|
free(listEntry->data);
|
|
|
|
|
}
|
|
|
|
|
list_freeList(v1alpha1_server_storage_version->served_versions);
|
|
|
|
|
v1alpha1_server_storage_version->served_versions = NULL;
|
|
|
|
|
}
|
2021-09-14 21:52:06 +08:00
|
|
|
free(v1alpha1_server_storage_version);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cJSON *v1alpha1_server_storage_version_convertToJSON(v1alpha1_server_storage_version_t *v1alpha1_server_storage_version) {
|
|
|
|
|
cJSON *item = cJSON_CreateObject();
|
|
|
|
|
|
|
|
|
|
// v1alpha1_server_storage_version->api_server_id
|
2022-04-18 09:29:02 +08:00
|
|
|
if(v1alpha1_server_storage_version->api_server_id) {
|
2021-09-14 21:52:06 +08:00
|
|
|
if(cJSON_AddStringToObject(item, "apiServerID", v1alpha1_server_storage_version->api_server_id) == NULL) {
|
|
|
|
|
goto fail; //String
|
|
|
|
|
}
|
2022-04-18 09:29:02 +08:00
|
|
|
}
|
2021-09-14 21:52:06 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
// v1alpha1_server_storage_version->decodable_versions
|
2022-04-18 09:29:02 +08:00
|
|
|
if(v1alpha1_server_storage_version->decodable_versions) {
|
2021-09-14 21:52:06 +08:00
|
|
|
cJSON *decodable_versions = cJSON_AddArrayToObject(item, "decodableVersions");
|
|
|
|
|
if(decodable_versions == NULL) {
|
|
|
|
|
goto fail; //primitive container
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
listEntry_t *decodable_versionsListEntry;
|
|
|
|
|
list_ForEach(decodable_versionsListEntry, v1alpha1_server_storage_version->decodable_versions) {
|
|
|
|
|
if(cJSON_AddStringToObject(decodable_versions, "", (char*)decodable_versionsListEntry->data) == NULL)
|
|
|
|
|
{
|
|
|
|
|
goto fail;
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-04-18 09:29:02 +08:00
|
|
|
}
|
2021-09-14 21:52:06 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
// v1alpha1_server_storage_version->encoding_version
|
2022-04-18 09:29:02 +08:00
|
|
|
if(v1alpha1_server_storage_version->encoding_version) {
|
2021-09-14 21:52:06 +08:00
|
|
|
if(cJSON_AddStringToObject(item, "encodingVersion", v1alpha1_server_storage_version->encoding_version) == NULL) {
|
|
|
|
|
goto fail; //String
|
|
|
|
|
}
|
2022-04-18 09:29:02 +08:00
|
|
|
}
|
2021-09-14 21:52:06 +08:00
|
|
|
|
2023-09-06 01:56:31 +00:00
|
|
|
|
|
|
|
|
// v1alpha1_server_storage_version->served_versions
|
|
|
|
|
if(v1alpha1_server_storage_version->served_versions) {
|
|
|
|
|
cJSON *served_versions = cJSON_AddArrayToObject(item, "servedVersions");
|
|
|
|
|
if(served_versions == NULL) {
|
|
|
|
|
goto fail; //primitive container
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
listEntry_t *served_versionsListEntry;
|
|
|
|
|
list_ForEach(served_versionsListEntry, v1alpha1_server_storage_version->served_versions) {
|
|
|
|
|
if(cJSON_AddStringToObject(served_versions, "", (char*)served_versionsListEntry->data) == NULL)
|
|
|
|
|
{
|
|
|
|
|
goto fail;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-14 21:52:06 +08:00
|
|
|
return item;
|
|
|
|
|
fail:
|
|
|
|
|
if (item) {
|
|
|
|
|
cJSON_Delete(item);
|
|
|
|
|
}
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
v1alpha1_server_storage_version_t *v1alpha1_server_storage_version_parseFromJSON(cJSON *v1alpha1_server_storage_versionJSON){
|
|
|
|
|
|
|
|
|
|
v1alpha1_server_storage_version_t *v1alpha1_server_storage_version_local_var = NULL;
|
|
|
|
|
|
2022-03-29 10:12:05 +08:00
|
|
|
// define the local list for v1alpha1_server_storage_version->decodable_versions
|
|
|
|
|
list_t *decodable_versionsList = NULL;
|
|
|
|
|
|
2023-09-06 01:56:31 +00:00
|
|
|
// define the local list for v1alpha1_server_storage_version->served_versions
|
|
|
|
|
list_t *served_versionsList = NULL;
|
|
|
|
|
|
2021-09-14 21:52:06 +08:00
|
|
|
// v1alpha1_server_storage_version->api_server_id
|
|
|
|
|
cJSON *api_server_id = cJSON_GetObjectItemCaseSensitive(v1alpha1_server_storage_versionJSON, "apiServerID");
|
|
|
|
|
if (api_server_id) {
|
2022-12-29 10:58:47 +08:00
|
|
|
if(!cJSON_IsString(api_server_id) && !cJSON_IsNull(api_server_id))
|
2021-09-14 21:52:06 +08:00
|
|
|
{
|
|
|
|
|
goto end; //String
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// v1alpha1_server_storage_version->decodable_versions
|
|
|
|
|
cJSON *decodable_versions = cJSON_GetObjectItemCaseSensitive(v1alpha1_server_storage_versionJSON, "decodableVersions");
|
|
|
|
|
if (decodable_versions) {
|
2022-03-29 10:12:05 +08:00
|
|
|
cJSON *decodable_versions_local = NULL;
|
2021-09-14 21:52:06 +08:00
|
|
|
if(!cJSON_IsArray(decodable_versions)) {
|
|
|
|
|
goto end;//primitive container
|
|
|
|
|
}
|
2022-03-09 10:56:53 +08:00
|
|
|
decodable_versionsList = list_createList();
|
2021-09-14 21:52:06 +08:00
|
|
|
|
|
|
|
|
cJSON_ArrayForEach(decodable_versions_local, decodable_versions)
|
|
|
|
|
{
|
|
|
|
|
if(!cJSON_IsString(decodable_versions_local))
|
|
|
|
|
{
|
|
|
|
|
goto end;
|
|
|
|
|
}
|
|
|
|
|
list_addElement(decodable_versionsList , strdup(decodable_versions_local->valuestring));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// v1alpha1_server_storage_version->encoding_version
|
|
|
|
|
cJSON *encoding_version = cJSON_GetObjectItemCaseSensitive(v1alpha1_server_storage_versionJSON, "encodingVersion");
|
|
|
|
|
if (encoding_version) {
|
2022-12-29 10:58:47 +08:00
|
|
|
if(!cJSON_IsString(encoding_version) && !cJSON_IsNull(encoding_version))
|
2021-09-14 21:52:06 +08:00
|
|
|
{
|
|
|
|
|
goto end; //String
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-06 01:56:31 +00:00
|
|
|
// v1alpha1_server_storage_version->served_versions
|
|
|
|
|
cJSON *served_versions = cJSON_GetObjectItemCaseSensitive(v1alpha1_server_storage_versionJSON, "servedVersions");
|
|
|
|
|
if (served_versions) {
|
|
|
|
|
cJSON *served_versions_local = NULL;
|
|
|
|
|
if(!cJSON_IsArray(served_versions)) {
|
|
|
|
|
goto end;//primitive container
|
|
|
|
|
}
|
|
|
|
|
served_versionsList = list_createList();
|
|
|
|
|
|
|
|
|
|
cJSON_ArrayForEach(served_versions_local, served_versions)
|
|
|
|
|
{
|
|
|
|
|
if(!cJSON_IsString(served_versions_local))
|
|
|
|
|
{
|
|
|
|
|
goto end;
|
|
|
|
|
}
|
|
|
|
|
list_addElement(served_versionsList , strdup(served_versions_local->valuestring));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-14 21:52:06 +08:00
|
|
|
|
|
|
|
|
v1alpha1_server_storage_version_local_var = v1alpha1_server_storage_version_create (
|
2022-12-29 10:58:47 +08:00
|
|
|
api_server_id && !cJSON_IsNull(api_server_id) ? strdup(api_server_id->valuestring) : NULL,
|
2021-09-14 21:52:06 +08:00
|
|
|
decodable_versions ? decodable_versionsList : NULL,
|
2023-09-06 01:56:31 +00:00
|
|
|
encoding_version && !cJSON_IsNull(encoding_version) ? strdup(encoding_version->valuestring) : NULL,
|
|
|
|
|
served_versions ? served_versionsList : NULL
|
2021-09-14 21:52:06 +08:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
return v1alpha1_server_storage_version_local_var;
|
|
|
|
|
end:
|
2022-03-29 10:12:05 +08:00
|
|
|
if (decodable_versionsList) {
|
|
|
|
|
listEntry_t *listEntry = NULL;
|
|
|
|
|
list_ForEach(listEntry, decodable_versionsList) {
|
|
|
|
|
free(listEntry->data);
|
|
|
|
|
listEntry->data = NULL;
|
|
|
|
|
}
|
|
|
|
|
list_freeList(decodable_versionsList);
|
|
|
|
|
decodable_versionsList = NULL;
|
|
|
|
|
}
|
2023-09-06 01:56:31 +00:00
|
|
|
if (served_versionsList) {
|
|
|
|
|
listEntry_t *listEntry = NULL;
|
|
|
|
|
list_ForEach(listEntry, served_versionsList) {
|
|
|
|
|
free(listEntry->data);
|
|
|
|
|
listEntry->data = NULL;
|
|
|
|
|
}
|
|
|
|
|
list_freeList(served_versionsList);
|
|
|
|
|
served_versionsList = NULL;
|
|
|
|
|
}
|
2021-09-14 21:52:06 +08:00
|
|
|
return NULL;
|
|
|
|
|
|
|
|
|
|
}
|