Skip to content
Snippets Groups Projects
Commit 7e3b1ef6 authored by Simon McVittie's avatar Simon McVittie
Browse files

bin: Factor out jsonify_os_release

parent 5b626b4a
No related branches found
No related tags found
1 merge request!106Refactor bin/system-info
Pipeline #2578 passed
......@@ -532,6 +532,106 @@ print_vdpau_details (JsonBuilder *builder,
json_builder_end_array (builder); // End vdpau_drivers
}
static void
jsonify_os_release (JsonBuilder *builder,
SrtSystemInfo *info)
{
json_builder_set_member_name (builder, "os-release");
json_builder_begin_object (builder);
{
GStrv strv;
gsize i;
gchar *tmp;
tmp = srt_system_info_dup_os_id (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "id");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
strv = srt_system_info_dup_os_id_like (info, FALSE);
if (strv != NULL)
{
json_builder_set_member_name (builder, "id_like");
json_builder_begin_array (builder);
{
for (i = 0; strv[i] != NULL; i++)
json_builder_add_string_value (builder, strv[i]);
}
json_builder_end_array (builder);
g_strfreev (strv);
}
tmp = srt_system_info_dup_os_name (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "name");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_pretty_name (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "pretty_name");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_version_id (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "version_id");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_version_codename (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "version_codename");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_build_id (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "build_id");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_variant_id (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "variant_id");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_variant (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "variant");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
}
json_builder_end_object (builder);
}
static const char * const locales[] =
{
"",
......@@ -743,100 +843,7 @@ main (int argc,
}
json_builder_end_object (builder);
json_builder_set_member_name (builder, "os-release");
json_builder_begin_object (builder);
{
GStrv strv;
gsize i;
gchar *tmp;
tmp = srt_system_info_dup_os_id (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "id");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
strv = srt_system_info_dup_os_id_like (info, FALSE);
if (strv != NULL)
{
json_builder_set_member_name (builder, "id_like");
json_builder_begin_array (builder);
{
for (i = 0; strv[i] != NULL; i++)
json_builder_add_string_value (builder, strv[i]);
}
json_builder_end_array (builder);
g_strfreev (strv);
}
tmp = srt_system_info_dup_os_name (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "name");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_pretty_name (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "pretty_name");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_version_id (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "version_id");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_version_codename (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "version_codename");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_build_id (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "build_id");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_variant_id (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "variant_id");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
tmp = srt_system_info_dup_os_variant (info);
if (tmp != NULL)
{
json_builder_set_member_name (builder, "variant");
json_builder_add_string_value (builder, tmp);
g_free (tmp);
}
}
json_builder_end_object (builder);
jsonify_os_release (builder, info);
json_builder_set_member_name (builder, "driver_environment");
json_builder_begin_array (builder);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment