AsSystemInfo

AsSystemInfo — Read information about the current OS and device.

Functions

Types and Values

Includes

#include <appstream.h>

Description

This class reads information about the current operating system and device that AppStream is running on. It can also be used by GUI toolkits to set data that we can not automatically determine in a toolkit-independent way, such as screen dimensions.

AppStream uses this information to verify component relations (as set in requires/recommends/supports etc. tags).

See also: AsComponent

Functions

as_system_info_error_quark ()

GQuark
as_system_info_error_quark (void);

Returns

An error quark.

Since: 0.16.0


as_system_info_new ()

AsSystemInfo *
as_system_info_new (void);

Creates a new AsSystemInfo.

Returns

a AsSystemInfo.

[transfer full]

Since: 0.10


as_system_info_get_os_id ()

const gchar *
as_system_info_get_os_id (AsSystemInfo *sysinfo);

Get the ID of the current operating system.

Parameters

sysinfo

a AsSystemInfo instance.

 

Returns

the current OS ID.


as_system_info_get_os_cid ()

const gchar *
as_system_info_get_os_cid (AsSystemInfo *sysinfo);

Get the AppStream component ID of the current operating system.

Parameters

sysinfo

a AsSystemInfo instance.

 

Returns

the component ID of the current OS.


as_system_info_get_os_name ()

const gchar *
as_system_info_get_os_name (AsSystemInfo *sysinfo);

Get the humen-readable name of the current operating system.

Parameters

sysinfo

a AsSystemInfo instance.

 

Returns

the name of the current OS.


as_system_info_get_os_version ()

const gchar *
as_system_info_get_os_version (AsSystemInfo *sysinfo);

Get the version string of the current operating system.

Parameters

sysinfo

a AsSystemInfo instance.

 

Returns

the version of the current OS.


as_system_info_get_os_homepage ()

const gchar *
as_system_info_get_os_homepage (AsSystemInfo *sysinfo);

Get the homepage URL of the current operating system.

Parameters

sysinfo

a AsSystemInfo instance.

 

Returns

the homepage of the current OS.


as_system_info_get_kernel_name ()

const gchar *
as_system_info_get_kernel_name (AsSystemInfo *sysinfo);

Get the name of the current kernel, e.g. "Linux"

Parameters

sysinfo

a AsSystemInfo instance.

 

Returns

the current OS kernel name


as_system_info_get_kernel_version ()

const gchar *
as_system_info_get_kernel_version (AsSystemInfo *sysinfo);

Get the version of the current kernel, e.g. "6.2.0-2"

Parameters

sysinfo

a AsSystemInfo instance.

 

Returns

the current kernel version


as_system_info_get_memory_total ()

gulong
as_system_info_get_memory_total (AsSystemInfo *sysinfo);

Get the current total amount of physical memory in MiB.

Parameters

sysinfo

a AsSystemInfo instance.

 

Returns

the current total amount of usable memory in MiB


as_system_info_get_modaliases ()

GPtrArray *
as_system_info_get_modaliases (AsSystemInfo *sysinfo);

Get a list of modaliases for all the hardware on this system that has them.

Parameters

sysinfo

a AsSystemInfo instance.

 

Returns

a list of modaliases on the system.

[transfer none][element-type utf8]


as_system_info_modalias_to_syspath ()

const gchar *
as_system_info_modalias_to_syspath (AsSystemInfo *sysinfo,
                                    const gchar *modalias);

Receive a path in /sys for the devices with the given modalias.

Parameters

sysinfo

a AsSystemInfo instance.

 

modalias

the modalias value to resolve.

 

Returns

the syspath, or NULL if none was found.


as_system_info_has_device_matching_modalias ()

gboolean
as_system_info_has_device_matching_modalias
                               (AsSystemInfo *sysinfo,
                                const gchar *modalias_glob);

Check if there is a device on this system that matches the given modalias glob.

Parameters

sysinfo

a AsSystemInfo instance.

 

modalias_glob

the modalias value to to look for, may contain wildcards.

 

Returns

TRUE if a matching device was found.


as_system_info_get_device_name_for_modalias ()

gchar *
as_system_info_get_device_name_for_modalias
                               (AsSystemInfo *sysinfo,
                                const gchar *modalias,
                                gboolean allow_fallback,
                                GError **error);

Return a human readable device name for the given modalias. Will return the modalias again if no device name could be found, and returns NULL on error. If allow_fallback is set to FALSE, this function will return NULL and error AS_SYSTEM_INFO_ERROR_NOT_FOUND in case no suitable description could be found.

Parameters

sysinfo

a AsSystemInfo instance.

 

modalias

the modalias value to resolve (may contain wildcards).

 

allow_fallback

fall back to low-quality data if no better information is available

 

error

a GError

 

Returns

a human-readable device name, or NULL on error.


as_system_info_has_input_control ()

AsCheckResult
as_system_info_has_input_control (AsSystemInfo *sysinfo,
                                  AsControlKind kind,
                                  GError **error);

Test if the current system has a specific user input control method. Returns AS_CHECK_RESULT_UNKNOWN if we could not test for an input control method, AS_CHECK_RESULT_ERROR on error and AS_CHECK_RESULT_FALSE if the control was not found.

Parameters

sysinfo

a AsSystemInfo instance.

 

kind

the AsControlKind to test for.

 

error

a GError

 

Returns

AS_CHECK_RESULT_TRUE if control was found


as_system_info_set_input_control ()

void
as_system_info_set_input_control (AsSystemInfo *sysinfo,
                                  AsControlKind kind,
                                  gboolean found);

Explicitly mark a user input control as present or not present on this system.

Parameters

sysinfo

a AsSystemInfo instance.

 

kind

the AsControlKind to set.

 

found

TRUE if the control should be marked as found.

 

as_system_info_get_display_length ()

gulong
as_system_info_get_display_length (AsSystemInfo *sysinfo,
                                   AsDisplaySideKind side);

Get the current display length for the given side kind. If the display size is unknown, this function will return 0.

Parameters

sysinfo

a AsSystemInfo instance.

 

side

the AsDisplaySideKind to select.

 

Returns

the display size in logical pixels.


as_system_info_set_display_length ()

void
as_system_info_set_display_length (AsSystemInfo *sysinfo,
                                   AsDisplaySideKind side,
                                   gulong value_dip);

Set the current display length for the given side kind. The size needs to be in device-independent pixels, see the AppStream documentation for more information: https://freedesktop.org/software/appstream/docs/chap-Metadata.htmltag-relations-display_length

Parameters

sysinfo

a AsSystemInfo instance.

 

side

the AsDisplaySideKind to select.

 

value_dip

the length value in device-independt pixels.

 

as_get_current_distro_component_id ()

gchar *
as_get_current_distro_component_id (void);

Returns the component-ID of the current distribution based on contents of the /etc/os-release file. This function is a shorthand for as_distro_details_get_cid

Types and Values

AS_TYPE_SYSTEM_INFO

#define AS_TYPE_SYSTEM_INFO (as_system_info_get_type ())

struct AsSystemInfoClass

struct AsSystemInfoClass {
	GObjectClass parent_class;
};

enum AsSystemInfoError

The error type.

Members

AS_SYSTEM_INFO_ERROR_FAILED

Generic failure

 

AS_SYSTEM_INFO_ERROR_NOT_FOUND

Information was not found.

 

AS_SYSTEM_INFO_ERROR

#define AS_SYSTEM_INFO_ERROR				as_system_info_error_quark ()

AsSystemInfo

typedef struct _AsSystemInfo AsSystemInfo;