AsRequire

AsRequire — Object representing a single requirement.

Stability Level

Unstable, unless otherwise indicated

Synopsis

#include <appstream-glib.h>

#define             AS_TYPE_REQUIRE
struct              AsRequireClass;
enum                AsRequireKind;
enum                AsRequireCompare;
AsRequire *         as_require_new                      (void);
AsRequireKind       as_require_kind_from_string         (const gchar *kind);
const gchar *       as_require_kind_to_string           (AsRequireKind kind);
AsRequireCompare    as_require_compare_from_string      (const gchar *compare);
const gchar *       as_require_compare_to_string        (AsRequireCompare compare);
AsRequireKind       as_require_get_kind                 (AsRequire *require);
AsRequireCompare    as_require_get_compare              (AsRequire *require);
const gchar *       as_require_get_version              (AsRequire *require);
const gchar *       as_require_get_value                (AsRequire *require);
void                as_require_set_kind                 (AsRequire *require,
                                                         AsRequireKind kind);
void                as_require_set_compare              (AsRequire *require,
                                                         AsRequireCompare compare);
void                as_require_set_version              (AsRequire *require,
                                                         const gchar *version);
void                as_require_set_value                (AsRequire *require,
                                                         const gchar *value);
gboolean            as_require_version_compare          (AsRequire *require,
                                                         const gchar *version,
                                                         GError **error);
gboolean            as_require_equal                    (AsRequire *require1,
                                                         AsRequire *require2);

Description

Requirements are things the component needs to be valid.

See also: AsApp

Details

AS_TYPE_REQUIRE

#define AS_TYPE_REQUIRE (as_require_get_type ())

struct AsRequireClass

struct AsRequireClass {
	GObjectClass		parent_class;
};

enum AsRequireKind

typedef enum {
	AS_REQUIRE_KIND_UNKNOWN,
	AS_REQUIRE_KIND_ID,
	AS_REQUIRE_KIND_FIRMWARE,
	AS_REQUIRE_KIND_HARDWARE,		/* Since: 0.7.4 */
	AS_REQUIRE_KIND_MODALIAS,		/* Since: 0.7.8 */
	AS_REQUIRE_KIND_KERNEL,			/* Since: 0.7.8 */
	AS_REQUIRE_KIND_MEMORY,			/* Since: 0.7.8 */
} AsRequireKind;

The require type.

AS_REQUIRE_KIND_UNKNOWN

Type invalid or not known

AS_REQUIRE_KIND_ID

Component ID

AS_REQUIRE_KIND_FIRMWARE

Device firmware version

AS_REQUIRE_KIND_HARDWARE

Hardware device, typically a GUID

AS_REQUIRE_KIND_MODALIAS

Modalias string

AS_REQUIRE_KIND_KERNEL

Kernel version

AS_REQUIRE_KIND_MEMORY

Amount of installed memory in MiB

enum AsRequireCompare

typedef enum {
	AS_REQUIRE_COMPARE_UNKNOWN,
	AS_REQUIRE_COMPARE_EQ,
	AS_REQUIRE_COMPARE_NE,
	AS_REQUIRE_COMPARE_LT,
	AS_REQUIRE_COMPARE_GT,
	AS_REQUIRE_COMPARE_LE,
	AS_REQUIRE_COMPARE_GE,
	AS_REQUIRE_COMPARE_GLOB,
	AS_REQUIRE_COMPARE_REGEX,
} AsRequireCompare;

The relational comparison type.

AS_REQUIRE_COMPARE_UNKNOWN

Comparison predicate invalid or not known

AS_REQUIRE_COMPARE_EQ

Equal to

AS_REQUIRE_COMPARE_NE

Not equal to

AS_REQUIRE_COMPARE_LT

Less than

AS_REQUIRE_COMPARE_GT

Greater than

AS_REQUIRE_COMPARE_LE

Less than or equal to

AS_REQUIRE_COMPARE_GE

Greater than or equal to

AS_REQUIRE_COMPARE_GLOB

Filename glob, e.g. `test*`

AS_REQUIRE_COMPARE_REGEX

A regular expression, e.g. `fw[0-255]`

as_require_new ()

AsRequire *         as_require_new                      (void);

Creates a new AsRequire.

Returns :

a AsRequire. [transfer full]

Since 0.6.7


as_require_kind_from_string ()

AsRequireKind       as_require_kind_from_string         (const gchar *kind);

Converts the text representation to an enumerated value.

kind :

the string.

Returns :

a AsRequireKind, or AS_REQUIRE_KIND_UNKNOWN for unknown. [transfer full]

Since 0.6.7


as_require_kind_to_string ()

const gchar *       as_require_kind_to_string           (AsRequireKind kind);

Converts the enumerated value to an text representation.

kind :

the AsRequireKind.

Returns :

string version of kind

Since 0.6.7


as_require_compare_from_string ()

AsRequireCompare    as_require_compare_from_string      (const gchar *compare);

Converts the text representation to an enumerated value.

compare :

the string.

Returns :

a AsRequireCompare, or AS_REQUIRE_COMPARE_UNKNOWN for unknown. [transfer full]

Since 0.6.7


as_require_compare_to_string ()

const gchar *       as_require_compare_to_string        (AsRequireCompare compare);

Converts the enumerated value to an text representation.

compare :

the AsRequireCompare.

Returns :

string version of compare

Since 0.6.7


as_require_get_kind ()

AsRequireKind       as_require_get_kind                 (AsRequire *require);

Gets the require kind.

require :

a AsRequire instance.

Returns :

the AsRequireKind

Since 0.6.7


as_require_get_compare ()

AsRequireCompare    as_require_get_compare              (AsRequire *require);

Gets the require version comparison type.

require :

a AsRequire instance.

Returns :

the AsRequireKind

Since 0.6.7


as_require_get_version ()

const gchar *       as_require_get_version              (AsRequire *require);

Gets the require version if set.

require :

a AsRequire instance.

Returns :

the version, e.g. "0.1.2"

Since 0.6.7


as_require_get_value ()

const gchar *       as_require_get_value                (AsRequire *require);

Gets the require value if set.

require :

a AsRequire instance.

Returns :

the value, e.g. "bootloader"

Since 0.6.7


as_require_set_kind ()

void                as_require_set_kind                 (AsRequire *require,
                                                         AsRequireKind kind);

Sets the require kind.

require :

a AsRequire instance.

kind :

the AsRequireKind, e.g. AS_REQUIRE_KIND_ID.

Since 0.6.7


as_require_set_compare ()

void                as_require_set_compare              (AsRequire *require,
                                                         AsRequireCompare compare);

Sets the require version comparison type.

require :

a AsRequire instance.

compare :

the AsRequireKind, e.g. AS_REQUIRE_KIND_ID.

Since 0.6.7


as_require_set_version ()

void                as_require_set_version              (AsRequire *require,
                                                         const gchar *version);

Sets the require version.

require :

a AsRequire instance.

version :

an version number, e.g. `0.1.2`

Since 0.6.7


as_require_set_value ()

void                as_require_set_value                (AsRequire *require,
                                                         const gchar *value);

Sets the require value.

require :

a AsRequire instance.

value :

an require version, e.g. `firmware`

Since 0.6.7


as_require_version_compare ()

gboolean            as_require_version_compare          (AsRequire *require,
                                                         const gchar *version,
                                                         GError **error);

Compares the version number of the requirement with a predicate.

require :

a AsRequire instance.

version :

a version number, e.g. `0.1.3`

error :

A GError or NULL

Returns :

TRUE if the predicate was true

Since 0.6.7


as_require_equal ()

gboolean            as_require_equal                    (AsRequire *require1,
                                                         AsRequire *require2);

Checks if two requires are the same.

require1 :

a AsRequire instance.

require2 :

a AsRequire instance.

Returns :

TRUE for success

Since 0.7.7