Creates a new #AsAgreement. a #AsAgreement Gets the agreement kind. a string, e.g. %AS_AGREEMENT_KIND_EULA a #AsAgreement instance. Gets the first section in the agreement. agreement section, or %NULL a #AsAgreement instance. Gets all the sections in the agreement. array a #AsAgreement instance. Gets the agreement version_id. a string, e.g. "1.4a", or NULL a #AsAgreement instance. Sets the agreement kind. a #AsAgreement instance. the agreement kind, e.g. %AS_AGREEMENT_KIND_EULA Sets the agreement version identifier. a #AsAgreement instance. the agreement version ID, e.g. "1.4a" The kind of the agreement. Unknown value A generic agreement without a specific type An End User License Agreement A privacy agreement, typically a GDPR statement Converts the text representation to an enumerated value. a #AsAgreementKind or %AS_AGREEMENT_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @value the #AsAgreementKind. Creates a new #AsAgreementSection. a #AsAgreementSection Returns the #AsContext associated with this section. This function may return %NULL if no context is set. the #AsContext used by this agreement section. An instance of #AsAgreementSection. Gets the agreement section desc. a string, e.g. "GDPR", or NULL a #AsAgreementSection instance. Gets the agreement section kind. a string, e.g. "GDPR", or NULL a #AsAgreementSection instance. Gets the agreement section name. a string, e.g. "GDPR", or NULL a #AsAgreementSection instance. Sets the document context this release is associated with. An instance of #AsAgreementSection. the #AsContext. Sets the agreement section desc. a #AsAgreementSection instance. the agreement description, e.g. "GDPR" the locale in BCP47 format. e.g. "en-GB" Sets the agreement section kind. a #AsAgreementSection instance. the agreement kind, e.g. "GDPR" Sets the agreement section name. a #AsAgreementSection instance. the agreement name, e.g. "GDPR" the locale. e.g. "en_GB" Creates a new #AsArtifact. a #AsArtifact Add a checksum for the file associated with this artifact. An instance of #AsArtifact. The #AsChecksum. Adds a artifact location. An URL of the download location Gets the bundle kind of this artifact. the #AsBundleKind an #AsArtifact instance. Gets the artifact checksum an #AsChecksum, or %NULL for not set or invalid a #AsArtifact instance. Get a list of all checksums we have for this artifact. an array of #AsChecksum objects. Gets a suggested filename for the downloaded artifact, or %NULL if none is suggested. The platform triplet or identifier string. a #AsArtifact instance. Gets the artifact kind. the #AsArtifactKind a #AsArtifact instance. Gets the artifact locations, typically URLs. list of locations Gets the artifact platform string (e.g. a triplet like "x86_64-linux-gnu"). The platform triplet or identifier string. a #AsArtifact instance. Gets the artifact size. The size of the given kind of this artifact. a #AsArtifact instance a #AsSizeKind Sets the bundle kind for this release artifact. an #AsArtifact instance. the #AsBundleKind, e.g. %AS_BUNDLE_KIND_TARBALL. Sets a suggested filename for this artifact after it has been downloaded. a #AsArtifact instance. the file name suggestion. Sets the artifact kind. a #AsArtifact instance. the #AsArtifactKind, e.g. %AS_ARTIFACT_KIND_SOURCE. Sets the artifact platform triplet or identifier string. a #AsArtifact instance. the platform triplet. Sets the artifact size for the given kind. a #AsArtifact instance a size in bytes, or 0 for unknown a #AsSizeKind The artifact type. Type invalid or not known The artifact describes software sources. The artifact describes a binary distribution of the component. Converts the text representation to an enumerated value. a #AsArtifactKind, or %AS_ARTIFACT_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @kind the #AsArtifactKind. Creates a new #AsBranding. a #AsBranding Retrieve a color of the given @kind that matches @scheme_kind. If a color has no scheme preference defined, it will be returned for either scheme type, unless a more suitable color was found. The HTML color code of the found color, or %NULL if no color was found. an #AsBranding instance. the #AsColorKind, e.g. %AS_COLOR_KIND_PRIMARY. Color scheme preference for the color, e.g. %AS_COLOR_SCHEME_KIND_LIGHT Deletes a color that matches the given type and scheme preference. an #AsBranding instance. the #AsColorKind, e.g. %AS_COLOR_KIND_PRIMARY. Type of color scheme preferred for this color, e.g. %AS_COLOR_SCHEME_KIND_LIGHT Sets a new accent color. If a color of the given kind with the given scheme preference already exists, it will be overriden with the new color code. an #AsBranding instance. the #AsColorKind, e.g. %AS_COLOR_KIND_PRIMARY. Type of color scheme preferred for this color, e.g. %AS_COLOR_SCHEME_KIND_LIGHT a HTML color code. A #AsBrandingColorIter structure represents an iterator that can be used to iterate over the accent colors of an #AsBranding object. #AsBrandingColorIter structures are typically allocated on the stack and then initialized with as_branding_color_iter_init(). Initializes a color iterator for the accent color list and associates it it with @branding. The #AsBrandingColorIter structure is typically allocated on the stack and does not need to be freed explicitly. an uninitialized #AsBrandingColorIter an #AsBranding Returns the current color entry and advances the iterator. Example: |[<!-- language="C" --> AsBrandingColorIter iter; AsColorKind ckind; AsColorSchemeKind scheme_preference; const gchar *color_value; as_branding_color_iter_init (&iter, branding); while (as_branding_color_iter_next (&iter, &ckind, &scheme_preference, &color_value)) { // do something with the color data } ]| %FALSE if the last entry has been reached. an initialized #AsBrandingColorIter Destination of the returned color kind. Destination of the returned color's scheme preference. Destination of the returned color code. Creates a new #AsBundle. a #AsBundle Gets the ID for this bundle. ID, e.g. "foobar-1.0.2" an #AsBundle instance. Gets the bundle kind. the #AsBundleKind an #AsBundle instance. Sets the ID for this bundle. an #AsBundle instance. the URL. Sets the bundle kind. an #AsBundle instance. the #AsBundleKind, e.g. %AS_BUNDLE_KIND_LIMBA. The bundle type. Type invalid or not known A native package (currently not used) A Limba bundle A Flatpak bundle An AppImageKit bundle A Snap/Snappy bundle A (maybe compressed) tarball. Cabinet firmware deployment A Linglong bundle Converts the text representation to an enumerated value. a #AsBundleKind or %AS_BUNDLE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsBundleKind. Flags on how caching should be used. No flags. Create an user-specific metadata cache. Use and - if possible - update the system metadata cache. Don't clear the cache when opening it. Refresh the system cache that is shared between applications. Creates a new #AsCategory. a new #AsCategory Add a subcategory to this category. An instance of #AsCategory. A subcategory to add. Add a component to this category. An instance of #AsCategory. The #AsComponent to add. Add a desktop-file category to this #AsCategory. An instance of #AsCategory. A subcategory to add. A list of subcategories. An instance of #AsCategory. Get list of components which have been sorted into this category. List of #AsCategory An instance of #AsCategory. A list of desktop-file categories. An instance of #AsCategory. Get the stock icon name for this category. An instance of #AsCategory. Get the ID of this category. An instance of #AsCategory. Get the name of this category. An instance of #AsCategory. Get the summary (short description) of this category. An instance of #AsCategory. Test for sub-categories. %TRUE if this category has any subcategory An instance of #AsCategory. Check if the exact #AsComponent @cpt is a member of this category already. %TRUE if the component is present. An instance of #AsCategory. The #AsComponent to look for. Drop a subcategory from this #AsCategory. An instance of #AsCategory. A subcategory to remove. Set the stock icon name for this category. An instance of #AsCategory. Set the ID of this category. An instance of #AsCategory. Set the name of this category. An instance of #AsCategory. Get the summary (short description) of this category. An instance of #AsCategory. A new short summary of this category. The type of chassis a computing device is built into. Unknown chassis. A desktop/workstation A mobile computer with a bigger screen / laptop A server, often without GUI A tablet with touch as primary input method A smaller touch-input device, like a smartphone Converts the text representation to an enumerated value. a #AsChassisKind or %AS_CHASSIS_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsChassisKind. Result of a check operation. The check failed. The outcome could not be determined. False/No True/Yes Creates a new #AsChecksum. an #AsChecksum Creates a new #AsChecksum with the given hash function and hash value. an #AsChecksum Gets the checksum type. the #AsChecksumKind a #AsChecksum instance. Gets the checksum, usually in its hexadecimal form. the checksum. a #AsChecksum instance. Sets the checksum type. a #AsChecksum instance. the #AsChecksumKind, e.g. %AS_CHECKSUM_KIND_SHA256. Sets the checksum value filename. a #AsChecksum instance. the new value. Checksums supported by #AsRelease No checksum SHA1 checksum SHA256 checksum SHA512 checksum BLAKE2 checksum BLAKE3 checksum Converts the text representation to an enumerated value. a #AsChecksumKind or %AS_CHECKSUM_KIND_NONE for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsChecksumKind. A branding color type. Color type invalid or not known Primary accent color Converts the text representation to an enumerated value. a #AsColorKind or %AS_COLOR_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @kind the %AsColorKind. A color scheme type. Color scheme invalid or not known A light color scheme A dark color scheme Converts the text representation to an enumerated value. a #AsColorKind or %AS_COLOR_SCHEME_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @kind the %AsColorSchemeKind. Creates a new #AsComponent. a new #AsComponent Add a reference to the addon that is enhancing this component. a #AsComponent instance. The #AsComponent that extends @cpt Adds an agreement to the software component. a #AsComponent instance. an #AsAgreement instance. Adds a bundle to the component. a #AsComponent instance. The #AsBundle to add. Add a category. a #AsComponent instance. the categories name to add. Adds a content rating to this component. a #AsComponent instance. a #AsContentRating instance. Add a reference to the extended component a #AsComponent instance. The id of a component which is extended by this component Add an icon to this component. an #AsComponent instance the valid #AsIcon instance to add. Add a new keyword to the keywords list for the given locale. This function does not check for duplicate keywords. an #AsComponent instance. The new keyword to add. BCP47 locale of the values, or %NULL to use current locale. Adds a language to the component. an #AsComponent instance. the BCP47 locale, or %NULL. e.g. "en-GB" the percentage completion of the translation, 0 for locales with unknown amount of translation Adds a #AsLaunchable containing launchables entries for this component. a #AsComponent instance. a #AsLaunchable instance. Add a set of provided items to this component. a #AsComponent instance. a #AsProvided instance. Adds a provided item to the component with the given @kind, creating a new @AsProvided for this kind internally if necessary. a #AsComponent instance. the kind of the provided item (e.g. %AS_PROVIDED_KIND_MEDIATYPE) the item to add. Adds an external reference to the software component. a #AsComponent instance. an #AsReference instance. Adds a #AsRelation to set a recommends or requires relation of component @cpt on the item mentioned in the #AsRelation. a #AsComponent instance. a #AsRelation instance. Add an #AsRelease to this component. a #AsComponent instance. The #AsRelease to add Add the component ID of a component that gets replaced by the current component. a #AsComponent instance. an AppStream component ID Adds a user review to a software component. a #AsComponent instance. a #AsReview instance. Add an #AsScreenshot to this component. a #AsComponent instance. The #AsScreenshot to add Add an #AsSuggested to this component. a #AsComponent instance. The #AsSuggested Add a tag to this component. %TRUE if the tag was added. a #AsComponent instance. The namespace the tag belongs to The tag name Assign an #AsTranslation object describing the translation system used by this component. an #AsComponent instance. an #AsTranslation instance. Adds some URL data to the component. a #AsComponent instance. the URL kind, e.g. %AS_URL_KIND_HOMEPAGE the full URL. Verifies the respective relations and presents whether the system specified in #AsSystemInfo @sysinfo and data from @pool supply the requested facilities. An array of #AsRelationCheckResult a #AsComponent instance. an #AsSystemInfo to use for system information. an #AsPool to find component dependencies in. the kind of relations to check Remove all keywords for the given locale. an #AsComponent instance. BCP47 locale of the values, or %NULL to use current locale. Remove all registered language translation information. an #AsComponent instance. Remove all tags associated with this component. a #AsComponent instance. Returns a list of #AsComponent objects which are addons extending this component in functionality. This is the reverse of %as_component_get_extends() An array of #AsComponent. an #AsComponent instance. Gets an agreement the component has specified for the particular kind. a #AsAgreement or %NULL for not found a #AsComponent instance. an agreement kind, e.g. %AS_AGREEMENT_KIND_EULA Get a list of all agreements registered with this software component. An array of #AsAgreement. an #AsComponent instance. Gets the branch for the application. string, or %NULL if unset a #AsComponent instance. Get the branding associated with this component, or %NULL in case this component has no special branding. An #AsBranding. an #AsComponent instance. Gets a bundle identifier string. An #AsBundle, or %NULL if not set. a #AsComponent instance. the bundle kind, e.g. %AS_BUNDLE_KIND_LIMBA. Get a list of all software bundles associated with this component. A list of #AsBundle. a #AsComponent instance. String array of categories a #AsComponent instance. A list of desktops where this component is compulsory a #AsComponent instance. Gets a content ratings of a specific type that are defined for this component. a #AsContentRating or %NULL if not found a #AsComponent instance. a ratings kind, e.g. "oars-1.0" Gets all content ratings defined for this software. an array a #AsComponent instance. Get the #AsContext associated with this component. This function may return %NULL if no context is set (which will be the case if the component was not loaded from a file or cache but constructed in memory). the associated #AsContext or %NULL a #AsComponent instance. Hash table of custom user defined data fields. An #AsComponent. Retrieve value for a custom data entry with the given key. An #AsComponent. Field name. Get a unique identifier for this metadata set. This unique ID is only valid for the current session, as opposed to the AppStream ID which uniquely identifies a software component. The format of the unique id usually is: %{scope}/%{origin}/%{distribution_system}/%{appstream_id} For example: system/os/package/org.example.FooBar the unique session-specific identifier. a #AsComponent instance. Gets the end-of-life date for the entire component. The EOL date as string in ISO8601 format. a #AsComponent instance. Get the localized long description of this component. the description. a #AsComponent instance. Get information about the component's developer or development team. The returned object may be empty if no developer information was available. the developer as #AsDeveloper. a #AsComponent instance. Returns a string list of IDs of components which are extended by this addon. See %as_component_get_extends() for the reverse. A #GPtrArray or %NULL if not set. an #AsComponent instance. Gets an icon matching the size constraints. The icons are not filtered by type, and the first icon which matches the size is returned. If you want more control over which icons you use for displaying, use the %as_component_get_icons() function to get a list of all icons. Note that this function is not HiDPI aware! It will never return an icon with a scaling factor > 1. An icon matching the given width/height, or %NULL if not found. an #AsComponent instance The icon width in pixels. the icon height in pixels. Gets a stock icon for this component if one is associated with it. Will return %NULL otherwise. An stock icon, or %NULL if none found. an #AsComponent instance A #GPtrArray of all icons for this component. an #AsComponent instance Get the unique AppStream identifier for this component. This ID is unique for the described component, but does not uniquely identify the metadata set. For a unique ID for this metadata set in the current session, use %as_component_get_data_id() the unique AppStream identifier. a #AsComponent instance. String array of keywords a #AsComponent instance. Retrieve the internal hash table mapping languages to keword arrays. Hash table locale->keyword arrays a #AsComponent instance. Returns the #AsComponentKind of this component. the kind of #this. a #AsComponent instance. Gets the translation coverage in percent for a specific locale a percentage value, -1 if locale was not found an #AsComponent instance. the BCP47 locale, or %NULL. e.g. "en-GB" Get a list of all languages. list of locales an #AsComponent instance. Gets a #AsLaunchable of a specific type that contains launchable entries for this component. a #AsLaunchable or %NULL if not found a #AsComponent instance. a launch kind, e.g. %AS_LAUNCHABLE_KIND_DESKTOP_ID an array a #AsComponent instance. Get the merge method which should apply to duplicate components with this ID. the #AsMergeKind of this component. a #AsComponent instance. The license the metadata iself is subjected to. the license. a #AsComponent instance. A human-readable name for this component. the name. a #AsComponent instance. Get the internal locale to component name mapping table. locale->names map an #AsComponent instance. Get variant suffix for the component name (only to be displayed if two components have the same name). the variant suffix a #AsComponent instance. a #AsComponent instance. Get the first package name of the list of packages that need to be installed for this component to be present on the system. Since most components consist of only one package, this is safe to use for about 90% of all cases. However, to support a component fully, please use %as_component_get_pkgnames() for getting all packages that need to be installed, and use this method only to e.g. get the main package to perform a quick "is it installed?" check. String array of package names a #AsComponent instance. Get a list of package names which this component consists of. This usually is just one package name. String array of package names a #AsComponent instance. Returns the priority of this component. This method is used internally. a #AsComponent instance. Get the component's project group. the project group. a #AsComponent instance. Get the license of the project this component belongs to. the license. a #AsComponent instance. Get a list of #AsProvided objects associated with this component. A list of #AsProvided objects. a #AsComponent instance. Get an #AsProvided object for the given interface type, containing information about the public interfaces (mimetypes, firmware, DBus services, ...) this component provides. #AsProvided containing the items this component provides, or %NULL. a #AsComponent instance. kind of the provided item, e.g. %AS_PROVIDED_KIND_MEDIATYPE Get an array of items that are recommended by this component. an array a #AsComponent instance. Get a list of external references and citation information for this component. An array of #AsReference. an #AsComponent instance. Get release information for this component, without downloading or loading any data from external sources. Release information as #AsReleaseList a #AsComponent instance. Get a list of component IDs of components that this software replaces entirely. an array of component-IDs a #AsComponent instance. Get an array of items that are required by this component. an array a #AsComponent instance. Gets any reviews associated with the component. an array a #AsComponent instance. the #AsComponentScope of this component. a #AsComponent instance. Get a list of all associated screenshots, for all environments. an array of #AsScreenshot instances a #AsComponent instance. Returns all search tokens for this component. The string search tokens a #AsComponent instance. Returns the sorting priority of this component. This will only return a valid value if this component was the result of or involved in a search operation which returned sorted results. In most cases you will not need to access this value explicitly, as all results of search operations in AppStream are already sorted from best match to worst. The returned value is an arbitrary integer value, valid only for the search terms involved in the search operation that yielded this component as a result. a #AsComponent instance. the source package name. a #AsComponent instance. Get a list of associated suggestions. an array of #AsSuggested instances a #AsComponent instance. Get a short description of this component. the summary. a #AsComponent instance. Get the internal locale to component summary mapping table. locale->summary map an #AsComponent instance. Get an array of items that are supported by this component, e.g. to indicate support for a specific piece of hardware. an array a #AsComponent instance. Return a score between 0 and 100 determining how compatible the component is with the system configuration provided as parameter. 0 means the componsnt will not work at all, while 100 is best compatibility. a compatibility score between 0 and 100 a #AsComponent instance. an #AsSystemInfo to use for system information. if %TRUE, treat system info as neutral template, ignoring any peripheral devices or kernel relations. Receive the resulting check results Gets the UNIX timestamp for the date when this component is out of support (end-of-life) and will receive no more updates, not even security fixes. UNIX timestamp, or 0 for unset or invalid. a #AsComponent instance. Get a #GPtrArray of #AsTranslation objects describing the translation systems and translation-ids (e.g. Gettext domains) used by this software component. Only set for metainfo files. An array of #AsTranslation objects. an #AsComponent instance. Gets a URL. string, or %NULL if unset a #AsComponent instance. the URL kind, e.g. %AS_URL_KIND_HOMEPAGE. %TRUE if this component has a bundle associated. a #AsComponent instance. Check if component is in the specified category. %TRUE if the component is in the specified category. an #AsComponent object the specified category to check Test if the component is tagged with the selected tag. %TRUE if tag exists. a #AsComponent instance. The namespace the tag belongs to The tag name Add a key and value pair to the custom data table. %TRUE if the key did not exist yet. An #AsComponent. Key name. A string value. Check if this component is compulsory for the given desktop. %TRUE if compulsory, %FALSE otherwise. an #AsComponent object the desktop-id to test for Returns %TRUE if this component is free and open source software. To determine this status, this function will check if it comes from a vetted free-software-only source or whether its licenses are only free software licenses. %TRUE if this component is free software. a #AsComponent instance. Whether this component's metadata should be ignored. a #AsComponent instance. Test if the component @cpt is a member of category @category. a #AsComponent instance. The category to test. Check if the essential properties of this Component are populated with useful data. TRUE if the component data was validated successfully. a #AsComponent instance. Load metadata for this component from an XML string. You normally do not want to use this method directly and instead use the more convenient API of #AsMetadata to create and update components. If this function returns %TRUE, a valid component is returned unless the selected format was %AS_FORMAT_KIND_DESKTOP_ENTRY, in which case a component ID will have to be set explicitly by the caller in order to make the component valid. %TRUE on success. an #AsComponent instance. an #AsContext instance. the format of the data to load, e.g. %AS_FORMAT_KIND_XML the data to load. Get release information for this component, download it if necessary. Release information as #AsReleaseList, or %NULL if loading failed. a #AsComponent instance. Remove a tag from this component %TRUE if the tag was removed. a #AsComponent instance. The namespace the tag belongs to The tag name Searches component data for a specific keyword. a match scrore, where 0 is no match and 100 is the best match. a #AsComponent instance. the search term. Searches component data for all the specific keywords. a match score, where 0 is no match and larger numbers are better matches. a #AsComponent instance. the search terms. Set the branch that the component instance was sourced from. a #AsComponent instance. the branch, e.g. "master" or "3-16". Set branding for this component. a #AsComponent instance. an #AsBranding instance. Mark this component to be compulsory for the specified desktop environment. a #AsComponent instance. The name of the desktop. Sets the document context this component is associated with. a #AsComponent instance. the #AsContext. Set the active locale on the context assoaiacted with this component, creating a new context for the component if none exists yet. Please not that this will flip the locale of all other components and entities that use the same context as well! This function is just a convenience method, and does not replace proper #AsContext management. a #AsComponent instance. the new locale. Set the session-specific unique metadata identifier for this component. If two components have a different data_id but the same ID, they will be treated as independent sets of metadata describing the same component type. a #AsComponent instance. the unique session-specific identifier. Sets an end-of-life date for this component. a #AsComponent instance. the EOL date in ISO8601 format. Set long description for this component. A valid #AsComponent The long description The BCP47 locale for this value, or %NULL to use the current active one. Set the the component's developer. a #AsComponent instance. the new #AsDeveloper Set the AppStream identifier for this component. a #AsComponent instance. the unique identifier. Set keywords for this component, replacing all existing ones for the selected locale. a #AsComponent instance. Array of keywords BCP47 locale of the values, or %NULL to use current locale. Set to %TRUE if the keywords array should be copied, %FALSE to set by reference. Sets the #AsComponentKind of this component. a #AsComponent instance. the #AsComponentKind. Sets the #AsMergeKind for this component. a #AsComponent instance. the #AsMergeKind. Set the license this metadata is licensed under. a #AsComponent instance. the metadata license. Set a human-readable name for this component. A valid #AsComponent The name The BCP47 locale for this value, or %NULL to use the current active one. Set a variant suffix for the component name (only to be displayed if components have the same name). a #AsComponent instance. the developer or developer team name the BCP47 locale, or %NULL. e.g. "en-GB" a #AsComponent instance. the origin. Set the package name that provides this component. a #AsComponent instance. the package name Set a list of package names this component consists of. (This should usually be just one package name) a #AsComponent instance. Sets the priority of this component. This method is used internally. a #AsComponent instance. the given priority Set the component's project group. a #AsComponent instance. the project group. Set the project license. a #AsComponent instance. the project license. Set a new set of releases for this component. a #AsComponent instance. the #AsReleaseList to use. Sets the #AsComponentScope of this component. a #AsComponent instance. the #AsComponentKind. Sets the sorting score of this component. a #AsComponent instance. the given sorting score a #AsComponent instance. the source package name. Set a short description for this component. A valid #AsComponent The summary The BCP47 locale for this value, or %NULL to use the current active one. Reorder the screenshots to prioritize a certain environment or style, instead of using the default screenshot order. If both "environment" and "style" are %NULL, the previous default order is restored. a #AsComponent instance. a GUI environment string, e.g. "plasma" or "gnome" and environment style string, e.g. "light" or "dark" if %TRUE, order screenshots of the given style earlier than ones of the given environment. Returns a string identifying this component. (useful for debugging) A descriptive string a #AsComponent instance. Serialize this component into an XML string. You normally do not want to use this method directly and instead use the more convenient API of #AsMetadata to serialize components. %TRUE on success. an #AsComponent instance. an #AsContext instance. string array of categories the description hash map of icon urls and sizes the unique identifier string array of keywords the #AsComponentKind of this component the name string array of packages name the project group the project license An array of #AsScreenshot instances the summary the urls associated with this component Creates a new #AsComponentBox. an #AsComponentBox Creates a new #AsComponentBox with the simplest parameters, so it is basically an array storage without overhead. Only the most basic checks on inserted components will be performed, and it is assumed that the inserted components have been checked already prior to insertion. an #AsComponentBox Add a component to the box. Returns an error if we could not add it (most likely due to component box constraints). %TRUE on success. An instance of #AsComponentBox. Get the contents of this component box as #GPtrArray. an array of #AsComponent instances. An instance of #AsComponentBox. Remove all contents of this component box. An instance of #AsComponentBox. Get the flags this component box was constructed with. The #AsComponentBoxFlags that are in effect. An instance of #AsComponentBox. Get the amount of components in this box. Amount of components. An instance of #AsComponentBox. Retrieve a component at the respective index from the internal component array. An #AsComponent or %NULL An instance of #AsComponentBox. The component index. Check if there are any components present. %TRUE if this component box is empty. An instance of #AsComponentBox. Remove a component at the specified index. Please ensure that the index is not larger than %as_component_box_get_size() - 1 An instance of #AsComponentBox. the index of the component to remove. Sort components to bring them into a deterministic order. An instance of #AsComponentBox. Sort components by their (search) match score. An instance of #AsComponentBox. Flags controlling the component box behavior. No flags. Only perform the most basic verification. The type of an #AsComponent. Type invalid or not known A generic (= without specialized type) component An application with a .desktop-file A console application A web application A system service launched by the init system An extension of existing software, which does not run standalone An application runtime platform A font A multimedia codec An input-method provider A computer operating system Firmware A driver Software localization (usually l10n resources) A remote software or data source An icon theme following the XDG specification Converts the text representation to an enumerated value. a #AsComponentKind or %AS_COMPONENT_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsComponentKind. Scope of the #AsComponent (system-wide or user-scope) Unknown scope System scope User scope Converts the text representation to an enumerated value. a #AsComponentScope or %AS_COMPONENT_SCOPE_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @scope the #AsComponentScope. Creates a new #AsContentRating. a #AsContentRating Gets the highest #AsContentRatingValue which is allowed to be seen by the given Common Sense Media @age for the given subsection @id. For example, if the CSM age mappings for `violence-bloodshed` are: * age ≥ 0 for %AS_CONTENT_RATING_VALUE_NONE * age ≥ 9 for %AS_CONTENT_RATING_VALUE_MILD * age ≥ 11 for %AS_CONTENT_RATING_VALUE_MODERATE * age ≥ 18 for %AS_CONTENT_RATING_VALUE_INTENSE then calling this function with `violence-bloodshed` and @age set to 17 would return %AS_CONTENT_RATING_VALUE_MODERATE. Calling it with age 18 would return %AS_CONTENT_RATING_VALUE_INTENSE. the #AsContentRatingValue, or %AS_CONTENT_RATING_VALUE_UNKNOWN if unknown the subsection ID e.g. `violence-cartoon` the CSM age Get a human-readable description of what content would be expected to require the content rating attribute given by @id and @value. a human-readable description of @id and @value the subsection ID e.g. `violence-cartoon` the #AsContentRatingValue, e.g. %AS_CONTENT_RATING_VALUE_INTENSE Gets the Common Sense Media approved age for a specific rating level. The age in years, or 0 for no details. the subsection ID e.g. `violence-cartoon` the #AsContentRatingValue, e.g. %AS_CONTENT_RATING_VALUE_INTENSE Returns a list of all the valid OARS content rating attribute IDs as could be passed to as_content_rating_add_attribute() or as_content_rating_attribute_to_csm_age(). a %NULL-terminated array of IDs, to be freed with g_free() (the element values are owned by libappstream and must not be freed) Adds an attribute value to the content rating. a #AsContentRating instance. a content rating ID, e.g. `money-gambling`. a #AsContentRatingValue, e.g. %AS_CONTENT_RATING_VALUE_MODERATE. Gets the content_rating kind. a string, e.g. "oars-1.0", or NULL a #AsContentRating instance. Gets the lowest Common Sense Media approved age for the content_rating block. NOTE: these numbers are based on the data and descriptions available from https://www.commonsensemedia.org/about-us/our-mission/about-our-ratings and you may disagree with them. You're free to disagree with these, and of course you should use your own brain to work our if your child is able to cope with the concepts enumerated here. Some 13 year olds may be fine with the concept of mutilation of body parts; others may get nightmares. The age in years, 0 for no rating, or G_MAXUINT for no details. a #AsContentRating Gets the set of ratings IDs which are present in this @content_rating. An example of a ratings ID is `violence-bloodshed`. The IDs are returned in lexicographical order. %NULL-terminated array of ratings IDs; each ratings ID is owned by the #AsContentRating and must not be freed, but the container must be freed with g_free() a #AsContentRating Gets the value of a content rating key. the #AsContentRatingValue, or %AS_CONTENT_RATING_VALUE_UNKNOWN a #AsContentRating A ratings ID, e.g. `violence-bloodshed`. Sets the content rating kind. a #AsContentRating instance. the rating kind, e.g. "oars-1.0" Sets the value of a content rating key. a #AsContentRating A ratings ID, e.g. `violence-bloodshed`. A #AsContentRatingValue, e.g. %AS_CONTENT_RATING_VALUE_INTENSE A content rating system for a particular territory. Unknown ratings system INCAA ACB DJCTQ GSRR PEGI KAVI USK ESRA CERO OFLCNZ Russia MDA GRAC ESRB IARC Format @age as a human-readable string in the given rating @system. This is the way to present system-specific strings in a UI. a newly allocated formatted version of @age, or %NULL if the given @system has no representation for @age an #AsContentRatingSystem a CSM age to format Determine the most appropriate #AsContentRatingSystem for the given @locale. Content rating systems are selected by territory. If no content rating system seems suitable, %AS_CONTENT_RATING_SYSTEM_IARC is returned. the most relevant #AsContentRatingSystem a locale, in the format described in `man 3 setlocale` Get the CSM ages corresponding to the entries returned by as_content_rating_system_get_formatted_ages() for this @system. an array of CSM ages an #AsContentRatingSystem return location for the length of the returned array Get an array of all the possible return values of as_content_rating_system_format_age() for the given @system. The array is sorted with youngest CSM age first. %NULL-terminated array of human-readable age strings an #AsContentRatingSystem Get a human-readable string to identify @system. %NULL will be returned for %AS_CONTENT_RATING_SYSTEM_UNKNOWN. a human-readable string for @system, or %NULL if unknown an #AsContentRatingSystem The specified level of an content_rating rating ID. Unknown value None A small amount A moderate amount An intense amount Converts the text representation to an enumerated value. a #AsContentRatingValue or %AS_CONTENT_RATING_VALUE_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @value the #AsContentRatingValue. Creates a new #AsContext. an #AsContext The name of the file the data originates from. a #AsContext instance. The AppStream format version. a #AsContext instance. The active locale in BCP47 format. a #AsContext instance. %TRUE if all locale should be parsed. a #AsContext instance. The media base URL. a #AsContext instance. The data origin. a #AsContext instance. The data priority. a #AsContext instance. The document style. a #AsContext instance. The #AsValueFlags that are set on @cpt. a #AsContext instance. %TRUE if a media base URL is set. a #AsContext instance. Sets the file name we are loading data from. a #AsContext instance. the new file name. Sets the AppStream format version. a #AsContext instance. the new format version. Sets the active locale. If the magic value "ALL" is used, the current system locale will be used for data reading, but when writing data all locale will be written. a #AsContext instance. a POSIX or BCP47 locale, or %NULL. e.g. "en_GB" Sets the media base URL. a #AsContext instance. the new value. Sets the data origin. a #AsContext instance. the new value. Sets the data priority. a #AsContext instance. the new priority. Sets the AppStream document style. a #AsContext instance. the new document style. a #AsContext instance. #AsValueFlags to set on @cpt. Kind of an input method for users to control software Unknown kind Mouse/cursors/other precision pointing device Keyboard input Console / command-line interface Touch input Gamepad input (any game controller with wheels/buttons/joysticks) Control via voice recognition/activation Computer vision / visual object and sign detection Input via a television remote Graphics tablet input Converts the text representation to an enumerated value. a #AsControlKind or %AS_CONTROL_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsControlKind. The flags used when matching unique IDs. No flags set Scope, e.g. a #AsComponentScope Bundle kind, e.g. a #AsBundleKind Origin Component AppStream ID Branch Creates a new #AsDeveloper. a #AsDeveloper Gets a unique ID for this particular developer, e.g. "gnome" or "mozilla.org" the unique developer ID, or %NULL if none was set. an #AsDeveloper instance. Get a localized developer, or development team name. the developer name. an #AsDeveloper instance. Sets the unique ID of this developer. an #AsDeveloper instance. a developer ID, e.g. "mozilla.org" Set the the developer or development team name. an #AsDeveloper instance. the developer or developer team name the BCP47 locale, or %NULL. e.g. "en-GB" Side a display_length requirement is for. Unknown Shortest side of the display rectangle. Longest side of the display rectangle. Converts the text representation to an enumerated value. a #AsDisplaySideKind or %AS_DISPLAY_SIDE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsDisplaySideKind. Format of the AppStream metadata. Unknown metadata format. AppStream XML metadata. AppStream YAML (DEP-11) metadata. XDG Desktop Entry data. Converts the text representation to an enumerated value. a #AsFormatKind or %AS_FORMAT_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsFormatKind. There are a few differences between AppStream's metainfo files (shipped by upstream projects) and the catalog metadata (shipped by distributors). The data source kind indicates which style we should process. Usually you do not want to set this explicitly. The format style is unknown. Parse AppStream upstream metadata (metainfo files) Parse AppStream metadata catalog (shipped by software distributors) Format version / API level of the AppStream metadata. Unknown format version 1.0 Converts the text representation to an enumerated value. a #AsFormatVersion. For unknown, the highest version number is assumed. the string. Converts the enumerated value to an text representation. string version of @version the #AsFormatKind. Creates a new #AsIcon. a #AsIcon The absolute path for the icon on disk. This is only set for icons of kind %AS_ICON_KIND_LOCAL or %AS_ICON_KIND_CACHED. a #AsIcon instance. The icon height in pixels, or 0 if unknown. a #AsIcon instance. Gets the icon kind. the #AsIconKind a #AsIcon instance. the stock name of the icon. In case the icon is not of kind "stock", the basename of the icon filename or URL is returned. a #AsIcon instance. The icon scaling factor. a #AsIcon instance. Gets the icon URL, pointing at a remote location. HTTPS and FTP urls are allowed. This property is only set for icons of type %AS_ICON_KIND_REMOTE the URL a #AsIcon instance. The icon width in pixels, or 0 if unknown. a #AsIcon instance. Sets the icon absolute filename. a #AsIcon instance. the new icon URL. Sets the icon height. a #AsIcon instance. the height in pixels. Sets the icon kind. a #AsIcon instance. the #AsIconKind, e.g. %AS_ICON_KIND_CACHED. Sets the stock name or basename to use for the icon. a #AsIcon instance. the icon stock name, e.g. "gwenview" Sets the icon scaling factor used for HiDPI displays. a #AsIcon instance. the icon scaling factor. Sets the icon URL. a #AsIcon instance. the new icon URL. Sets the icon width. a #AsIcon instance. the width in pixels. The icon type. Unknown icon kind Stock icon name Icon in the internal caches Local icon name Remote icon URL Converts the text representation to an enumerated value. a #AsIconKind or %AS_ICON_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsIconKind. Creates a new #AsImage. a #AsImage Gets the image height. height in pixels an #AsImage instance. Gets the image kind. the #AsImageKind an #AsImage instance. Get locale for this image. Locale string an #AsImage instance. Gets the image integer scale factor. the scale factor. an #AsImage instance. Gets the full qualified URL for the image, usually pointing at some mirror. URL an #AsImage instance. Gets the image width. width in pixels an #AsImage instance. Sets the image height. an #AsImage instance. the height in pixels. Sets the image kind. an #AsImage instance. the #AsImageKind, e.g. %AS_IMAGE_KIND_THUMBNAIL. Sets the locale for this image. an #AsImage instance. the BCP47 locale string. Sets the image scale factor. an #AsImage instance. the integer scale factor, e.g. 2 Sets the fully-qualified mirror URL to use for the image. an #AsImage instance. the URL. Sets the image width. an #AsImage instance. the width in pixels. The image type. Type invalid or not known The source image at full resolution A thumbnail at reduced resolution Converts the text representation to an enumerated value. a #AsImageKind, or %AS_IMAGE_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @kind the #AsImageKind. Different internet connectivity requirements or recommendations for an application. Unknown Always requires/recommends internet Application is offline-only Requires/Recommends internet on first run only Converts the text representation to an enumerated value. a #AsInternetKind or %AS_INTERNET_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsInternetKind. Creates a new #AsIssue. an #AsIssue Gets the issue ID (usually a bug number or CVE ID) the ID. a #AsIssue instance. Gets the issue type. the #AsIssueKind a #AsIssue instance. Gets the URL associacted with this issue, usually referencing a bug report or issue description. the URL. a #AsIssue instance. Sets the issue ID. a #AsIssue instance. the new ID. Sets the issue type. a #AsIssue instance. the #AsIssueKind, e.g. %AS_ISSUE_KIND_SHA256. Sets an URL describing this issue. a #AsIssue instance. the new URL. Checksums supported by #AsRelease Unknown issue type Generic issue type Common Vulnerabilities and Exposures issue Converts the text representation to an enumerated value. a #AsIssueKind or %AS_ISSUE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsIssueKind. The severity of an issue found by #AsValidator The severity is unknown. Pedantic information about ways to improve the data, but could also be ignored. Non-essential information on how to improve metadata, no immediate action needed. Something metadata issue which should be fixed as soon as possible. There is a serious, fatal error in your metadata Converts the text representation to an enumerated value. a #AsIssueSeverity, or %AS_ISSUE_SEVERITY_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @severity the #AsIssueSeverity. Creates a new #AsLaunchable. a #AsLaunchable Add a new launchable entry. a #AsLaunchable instance. Get an array of launchable entries. An string list of launch entries. a #AsLaunchable instance. The launch system for the entries this #AsLaunchable object stores. an enum of type #AsLaunchableKind a #AsLaunchable instance. Set the launch system for the entries this #AsLaunchable object stores. a #AsLaunchable instance. the new #AsLaunchableKind Type of launch system the entries belong to. Unknown kind Launch by desktop-id A systemd/SysV-init service name A Cockpit manifest / package name A web HTTPS URL to launch a web application from Converts the text representation to an enumerated value. a #AsLaunchableKind or %AS_LAUNCHABLE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsLaunchableKind. Text markup types. Unknown markup. XML markup. Simple text with unicode symbols. Markdown Defines how #AsComponent data should be merged if the component is set for merge. No merge is happening. Merge replacing data of target. Merge appending data to target. Remove the entire component if it matches. Converts the text representation to an enumerated value. a #AsMergeKind or %AS_MERGE_KIND_NONE for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsMergeKind. Creates a new #AsMetadata. a #AsMetadata Guesses the AppStream metadata style (metainfo or catalog) based on the filename. An #AsFormatStyle, e.g. %AS_FORMAT_STYLE_METAINFO. a file name Add an #AsComponent to the list of components. This can be used to add multiple components in order to produce a distro-XML AppStream metadata file. Remove all previously parsed or manually added components. an instance of #AsMetadata. Remove all previously parsed releases entries. a #AsMetadata instance. Convert an #AsComponent to metainfo data. This will always be XML, YAML is no valid format for metainfo files. The amount of localization included in the metadata depends on how the #AsComponent was initially loaded and whether it contains data for all locale. The first #AsComponent added to the internal list will be transformed. In case no component is present, %NULL is returned. A string containing the XML metadata. Free with g_free() An instance of #AsMetadata. The format to use (XML or YAML) Serialize all #AsComponent instances into AppStream catalog metadata. %NULL is returned if there is nothing to serialize. A string containing the YAML or XML data. Free with g_free() An instance of #AsMetadata. The format to serialize the data to (XML or YAML). The architecture of AppStream distro metadata an #AsMetadata instance. Gets the #AsComponent which has been parsed from the XML. If the AppStream XML contained multiple components, return the last component that has been parsed. An #AsComponent or %NULL a #AsMetadata instance. an #AsComponentBox of all parsed components a #AsMetadata instance. Get the metadata parsing mode. a #AsMetadata instance. The AppStream metadata format version. an #AsMetadata instance. Gets the current active locale for parsing metadata, or "ALL" if all locales are read. Locale used for metadata parsing. a #AsMetadata instance. The media URL prefix. an #AsMetadata instance. The origin of AppStream distro metadata an #AsMetadata instance. Get the metadata parse flags. a #AsMetadata instance. Gets the recently parsed #AsReleaseList entry. An #AsReleaseList or %NULL a #AsMetadata instance. A #GPtrArray of all parsed release metadata. a #AsMetadata instance. Whether existing components should be updates with the parsed data, instead of creating new ones. an #AsMetadata instance. Whether we will write a header/root node in catalog metadata. an #AsMetadata instance. Parses any AppStream metadata into one or more #AsComponent instances. %TRUE on success. An instance of #AsMetadata. Metadata describing one or more software components. The format of the data (XML or YAML). Parses any AppStream metadata into one or more #AsComponent instances. %TRUE on success. An instance of #AsMetadata. Metadata describing one or more software components as string. Length of @data, or -1 if length is unknown and @data is NULL-terminated. The format of the data (XML or YAML). Parses XDG Desktop Entry metadata and adds it to the list of parsed entities. Please note that not every desktop-entry file will result in a valid component being generated, even if parsing succeeds without error (The desktiop-entry file may be valid but not generate a component on purpose). %TRUE if the file was parsed without error. An instance of #AsMetadata. The component-id the new #AsComponent should have. Metadata describing one or more software components. The data length, or -1 if unknown and null-terminated. Parses an AppStream upstream metadata file. If @file does not exist, %G_IO_ERROR_NOT_FOUND will be returned. Other #GIOErrors and #AsMetadataErrors may be returned as appropriate. %TRUE if the file was parsed without error. A valid #AsMetadata instance #GFile for the upstream metadata The format the data is in, or %AS_FORMAT_KIND_UNKNOWN if not known. Parses any AppStream release metadata into #AsRelease objects. You can retrieve the last parsed #AsReleaseList using %as_metadata_get_release_list. %TRUE on success. An instance of #AsMetadata. Metadata describing release notes. Parses any AppStream release metadata into #AsRelease objects using the provided file. You can retrieve the last parsed #AsReleaseList using %as_metadata_get_release_list. %TRUE on success. A valid #AsMetadata instance #GFile for the release metadata Convert a releases of an #AsReleaseList entity into a release metadata XML representation. The XML representation or %NULL on error. A valid #AsMetadata instance the #AsReleaseList to convert. Serialize all #AsComponent instances to XML or YAML metadata and save the data to a file. An existing file at the same location will be overridden. %TRUE if the file was written without error. An instance of #AsMetadata. The filename for the new metadata file. Serialize #AsComponent instance to XML and save it to file. An existing file at the same location will be overridden. %TRUE if the file was written without error. The filename for the new metadata file. The format to save this file in. Only XML is supported at time. Set the architecture the components in this metadata belong to. an #AsMetadata instance. an architecture string. Sets the current metadata parsing mode. a #AsMetadata instance. the #AsFormatStyle. Set the current AppStream format version that we should generate data for or be able to read. a #AsMetadata instance. the AppStream metadata format version as #AsFormatVersion. Sets the locale which should be read when processing metadata. All other locales are ignored, which increases parsing speed and reduces memory usage. If you set the locale to "ALL", all locales will be read. a #AsMetadata instance. the BCP47 locale. Set the base URL for all media links referenced in the metadata, or %NULL if every component has absolute URLs. an #AsMetadata instance. the base URL. Set the origin of AppStream distro metadata an #AsMetadata instance. the origin of AppStream distro metadata. Sets the current metadata parse flags. a #AsMetadata instance. the #AsParseFlags. If set to %TRUE, the parser will not create new components but instead update existing components in the pool with new metadata. NOTE: Right now, this feature is only implemented for metainfo XML parsing! an #AsMetadata instance. A boolean value. If set to %TRUE, tehe metadata writer will omit writing a DEP-11 header document when in YAML mode, and will not write a root components node when writing XML data. Please keep in mind that this will create an invalid DEP-11 YAML AppStream catalog metadata file, and an invalid XML file. This parameter should only be changed e.g. by the appstream-generator tool. NOTE: Right now, this feature is only implemented for YAML! an #AsMetadata instance. A boolean value. A metadata processing error. Generic failure. Unable to parse the metadata file. Expected catalog metadata but got metainfo metadata, or vice versa. We expected a component in the pool, but couldn't find one. A essential value is missing in the source document. An error quark. The flags used when installing and removing metadata files. An unknown/invalid location. Installed by the vendor, shared Installed as metadata into /var/lib, shared Installed as metadata into /var/cache, shared Installed for the current user Influence certain aspects of how AppStream metadata is parsed. No flags. Do not process the media_baseurl document property. Creates a new #AsPool. a #AsPool Register a set of components with the pool temporarily. Data from components added like this will not be cached. %TRUE if the new components were successfully added to the pool. An instance of #AsPool Components to add to the pool. Add an additional non-standard location to the metadata pool where metadata will be read from. If @directory contains a "xml", "xmls", "yaml" or "icons" subdirectory (or all of them), those paths will be added to the search paths instead. An instance of #AsPool. An existing filesystem location. The expected format style of the metadata, e.g. %AS_FORMAT_STYLE_CATALOG Convenience function to add one or multiple #AsPoolFlags to the flag set of this data pool. An instance of #AsPool. The #AsPoolFlags to add. Splits up a string into an array of tokens that are suitable for searching. This includes stripping whitespaces, casefolding the terms and removing greylist words. This function is usually called automatically when needed, you will only need to run it explicitly when you need to check which search tokens the pool will actually use internally for a given phrase. (array zero-terminated=1): Valid tokens to search for, or %NULL for error An instance of #AsPool. the (user-provided) search phrase. Remove all metadata from the pool, data will be reloaded once %as_pool_load is called again. An #AsPool. Get a list of found components. an #AsComponentBox. An instance of #AsPool. Find components that are provided by a bundle with a specific ID by its prefix. For example, given a AS_BUNDLE_KIND_FLATPAK and a bundle_id "org.kde.dolphin/", it will list all the components that bundle dolphin. If the bundle_id is "org.kde.dolphin/x86_64" it will give those with also the architecture. an #AsComponentBox. An instance of #AsPool. The kind of the bundle we are looking for The bundle ID to match, as specified in #AsBundle %TRUE to match the ID by prefix, %FALSE to perform an absolute match. Return a list of components which are in all of the categories. an #AsComponentBox of found components. An instance of #AsDatabase. An array of XDG categories to include. Find components extending the component with the given ID. They can then be registered to the #AsComponent they extend via %as_component_add_addon. If the %AS_POOL_FLAG_RESOLVE_ADDONS pool flag is set, addons are automatically resolved and this explicit function is not needed, but overall query time will be increased (so only use this flag if you will be resolving addon information later anyway). an #AsComponentBox. An instance of #AsPool. The ID of the component to search extensions for. Get a specific component by its ID. This function may contain multiple results if we have data describing this component from multiple scopes/origin types. an #AsComponentBox. An instance of #AsPool. The AppStream-ID to look for. Return a list of all components in the pool which are of a certain kind. an #AsComponentBox of found components. An instance of #AsDatabase. An #AsComponentKind. Find components in the AppStream data pool which provide a specific launchable. See #AsLaunchable for details on launchables, or refer to the AppStream specification. an #AsComponentBox of found components. An instance of #AsPool. An #AsLaunchableKind The ID of the launchable. Find components in the AppStream data pool which provide a certain item. an #AsComponentBox of found components. An instance of #AsPool. An #AsProvidesKind The value of the provided item. Get the #AsPoolFlags for this data pool. An instance of #AsPool. Gets the currently used locale. Locale used for metadata parsing. An instance of #AsPool. Check if this pool contains any data. %TRUE if the pool is empty. An instance of #AsPool. Builds an index of all found components in the watched locations. The function will try to get as much data into the pool as possible, so even if the update completes with %FALSE, it might still have added components to the pool. The function will load from all possible data sources, preferring caches if they are up to date. %TRUE if update completed without error. An instance of #AsPool. a #GCancellable. Asynchronously loads data from all registered locations. Equivalent to as_pool_load() (but asynchronous) An instance of #AsPool. a #GCancellable. A #GAsyncReadyCallback Data to pass to @callback Retrieve the result of as_pool_load_async(). %TRUE for success An instance of #AsPool. A #GAsyncResult Convenience function to remove one or multiple #AsPoolFlags from the flag set of this data pool. An instance of #AsPool. The #AsPoolFlags to remove. Remove all explicitly added metadata locations. An instance of #AsPool. Search for a list of components matching the search term. The list will be ordered by match score. an #AsComponentBox of the found components. An instance of #AsPool A search string Set the #AsPoolFlags for this data pool. An instance of #AsPool. The new #AsPoolFlags. This is a convenience function that enables or disables loading of metadata from well-known standard locations by configuring the #AsPoolFlags of this #AsPool accordingly. Data affected by this includes the OS data catalog, metainfo, desktop-entry files and Flatpak data. If you need more fine-grained control, set the #AsPoolFlags explicitly. An instance of #AsPool. Whether loading of data from standard locations should be enabled. Sets the current locale which should be used when parsing metadata. An instance of #AsPool. the BCP47 or POSIX locale to use for this pool. The ::changed signal is emitted when components have been added or removed from the metadata pool. A metadata pool error. Generic failure The pool was loaded, but we had to ignore some metadata. An AppStream-ID collision occured (a component with that ID already existed in the pool) Unable to write to *any* cache file (not even tmpfs writes worked) The disk cache was broken and we could not automatically recover. An error quark. Flags controlling the metadata pool behavior. No flags. Load AppStream catalog metadata from OS locations. Load MetaInfo data from OS locations. Load components from desktop-entry files in OS locations. Load AppStream catalog metadata from Flatpak. Load fresh data even if an up-o-date cache is available. Always resolve addons for returned components. Prefer local metainfo data over the system-provided catalog data. Useful for previewing local data. Monitor registered directories for changes, and auto-reload metadata if necessary. Creates a new #AsProvided. a #AsProvided Add a new provided item. a #AsProvided instance. Get an array of provided data. An string list of provided items. a #AsProvided instance. The kind of items this #AsProvided object stores. an enum of type #AsProvidedKind a #AsProvided instance. Check if the current #AsProvided contains an item of the given name. %TRUE if found. a #AsProvided instance. the name of a provided item, e.g. "audio/x-vorbis" (in case the provided kind is a mimetype) Set the kind of items this #AsProvided object stores. a #AsProvided instance. the new #AsProvidedKind Type of the public interface components can provide. Unknown kind A shared library A binary installed into a directory in PATH Provides a handler for a mimetype A font A modalias A Python 3 module A DBus service name on the system bus. A DBus service name on the user/session bus. Firmware flashed at runtime. Firmware flashed permanently to the device. An AppStream component Converts the text representation to an enumerated value. a #AsProvidedKind or %AS_PROVIDED_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a localized text representation, using the plural forms (e.g. "Libraries" instead of "Library"). This can be useful when displaying provided items in GUI dialogs. Pluralized, l10n string version of @kind the #AsProvidedKind. Converts the enumerated value to a text representation. string version of @kind the #AsProvidedKind. Creates a new #AsReference. a #AsReference Gets the reference kind. the #AsReferenceKind an #AsReference instance. Gets the name of the registry this reference is for, if the reference is of type %AS_REFERENCE_KIND_REGISTRY. Otherwise return %NULL. the registry name. an #AsReference instance. Gets the value of this reference, e.g. a DOI if the reference kind is %AS_REFERENCE_KIND_DOI or an URL for %AS_REFERENCE_KIND_CITATION_CFF. the value of this reference. an #AsReference instance. Sets the reference kind. an #AsReference instance. the #AsReferenceKind, e.g. %AS_REFERENCE_KIND_DOI. Sets a name of a registry if this reference is of type %AS_REFERENCE_KIND_REGISTRY. an #AsReference instance. name of an external registry. Sets a value for this reference. an #AsReference instance. a value for this reference, e.g. "10.1000/182" A reference type. Unknown reference kind. Digital Object Identifier Web URL to a Citation File Format file A generic registry. Converts the text representation to an enumerated value. a AsReferenceKind or %AS_REFERENCE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsReferenceKind. Creates a new #AsRelation. a #AsRelation Calculate a compatibility sore between 0 and 100 based on the given set of AsRelationCheckResults. A compatibility of 100 means all requirements are satisfied and the component will run perfectly on the confoguration it was tested agains, while 0 means it will not run at all. an array of #AsRelationCheckResult The version comparison type. an enum of type #AsRelationCompare a #AsRelation instance. Gets the display side kind, in case this item is of kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH a #AsDisplaySideKind or %AS_DISPLAY_SIDE_KIND_UNKNOWN an #AsRelation instance. The kind of the item of this #AsRelation. an enum of type #AsRelationItemKind a #AsRelation instance. The type (and thereby strength) of this #AsRelation. an enum of type #AsRelationKind a #AsRelation instance. Get the value of this #AsRelation item as #AsControlKind if the type of this relation is %AS_RELATION_ITEM_KIND_CONTROL. Otherwise return %AS_CONTROL_KIND_UNKNOWN a #AsControlKind or %AS_CONTROL_KIND_UNKNOWN in case the item is not of the right kind. an #AsRelation instance. The value of this #AsRelation item as an integer. Returns 0 if the value was no integer. an #AsRelation instance. If this #AsRelation is of kind %AS_RELATION_ITEM_KIND_INTERNET, return the minimum bandwidth requirement of the component, if set. If the relation is of a different kind, or the requirement isn’t set, this returns `0`. The minimum bandwidth requirement, in Mbit/s. an #AsRelation instance. Get the value of this #AsRelation item as #AsInternetKind if the type of this relation is %AS_RELATION_ITEM_KIND_INTERNET. Otherwise return %AS_INTERNET_KIND_UNKNOWN a #AsInternetKind or %AS_INTERNET_KIND_UNKNOWN in case the item is not of the right kind. an #AsRelation instance. In case this #AsRelation is of kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH, return the set logical pixel amount. The logical pixel amount for this display length, value <= 0 on error. an #AsRelation instance. The value of the item this #AsRelation is about, as a string. an #AsRelation instance. The version of the item this #AsRelation is about. an #AsRelation instance. Test if this relation is satisfied on the current system or with the provided #AsPool. If no #AsSystemInfo is found, a temporary one will be created. If no #AsPool is provided, any component relationships can not be validated and an error will be thrown. an #AsRelationCheckResult with details about the result, or %NULL on error. a #AsRelation instance. an #AsSystemInfo to use for system information. an #AsPool to find component dependencies in. Set the version comparison type of this #AsRelation. an #AsRelation instance. the new #AsRelationCompare Sets the display side kind, in case this item is of kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH an #AsRelation instance. the new #AsDisplaySideKind. Set the kind of the item this #AsRelation is about. a #AsRelation instance. the new #AsRelationItemKind Set the kind of this #AsRelation. a #AsRelation instance. the new #AsRelationKind Set relation item value from an #AsControlKind. an #AsRelation instance. an #AsControlKind Sets the item value as an integer, if the given item type of this #AsRelation permits integer values. an #AsRelation instance. the new value. Set relation item value from an #AsInternetKind. an #AsRelation instance. an #AsInternetKind Sets the item value as logical pixel count. This requires the relation to be of item kind %AS_RELATION_ITEM_KIND_DISPLAY_LENGTH. an #AsRelation instance. logical pixel count. Sets the item value as a string, if the given item type of this #AsRelation permits string values. an #AsRelation instance. the new value. Sets the item version. an #AsRelation instance. the new version. Tests whether the version number of this #AsRelation is fulfilled by @version. Whether the given version is sufficient to fulfill the version requirement of this #AsRelation is determined by its comparison resraint. %TRUE if the version from the parameter is sufficient. an #AsRelation instance. a version number, e.g. `1.2.0` Creates a new #AsRelationCheckResult. a #AsRelationCheckResult Retrieve the error code, in case this result represents an error. an #AsRelationError an #AsRelationCheckResult instance. Get a human-readable message about the state of this relation. May be %NULL in case the relation is satisfied and there is no further information about it. a human-readable message about this relation's state. an #AsRelationCheckResult instance. Get the relation that this check result was generated for. an #AsRelation or %NULL an #AsRelationCheckResult instance. Returns the status of this relation check result. If the status is %AS_RELATION_STATUS_ERROR, an error message will have been set as message. an #AsRelationStatus an #AsRelationCheckResult instance. Set the error code in case this result represents an error. an #AsRelationCheckResult instance. the #AsRelationError Set a human-readable information message about the satisfaction state of the dependency under the checked system configuration. an #AsRelationCheckResult instance. the new message Set an #AsRelation to associate with this check result. an #AsRelationCheckResult instance. the #AsRelation Set the outcome of this relation check result. an #AsRelationCheckResult instance. the new #AsRelationStatus The relational comparison type. Comparison predicate invalid or not known Equal to Not equal to Less than Greater than Less than or equal to Greater than or equal to Converts the text representation to an enumerated value. a #AsRelationCompare, or %AS_RELATION_COMPARE_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. The enum is converted into a two-letter identifier ("eq", "ge", etc.) for use in the XML representation. string version of @compare the #AsRelationCompare. Converts the enumerated value to an text representation. The enum is converted into an identifier consisting of two mathematical comparison operators ("==", ">=", etc.) for use in the YAML representation and user interfaces. string version of @compare the #AsRelationCompare. The error type. Generic failure A metadata value was bad. Some check was not (yet) implemented. An error quark. Type of the item an #AsRelation is for. Unknown kind A component ID A hardware modalias An operating system kernel (like Linux) A system RAM requirement A device firmware requirement (used by fwupd) An input method for users to control software Display edge length A Computer Hardware ID (CHID) to depend on system hardware Internet connectivity (Since: 0.15.5) Converts the text representation to an enumerated value. a #AsRelationItemKind or %AS_RELATION_ITEM_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsRelationKind. Type of a component's relation to other items. Unknown kind The referenced item is required by the component The referenced item is recommended The referenced item is supported Converts the text representation to an enumerated value. a #AsRelationKind or %AS_RELATION_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsRelationKind. Status of a relation check result. Unknown status. An error occured and the status could not be checked. The relation is not satisfied. The relation is satisfied. Creates a new #AsRelease. a #AsRelease Add an artifact (binary / source download) for this release. An instance of #AsRelease. The #AsArtifact. Add information about a (resolved) issue to this release. An instance of #AsRelease. The #AsIssue. Add a tag to this release. %TRUE if the tag was added. an #AsRelease instance. The namespace the tag belongs to The tag name Remove all tags associated with this release. an #AsRelease instance. Get a list of all downloadable artifacts that are associated with this release. an array of #AsArtifact objects. the #AsContext associated with this release. This function may return %NULL if no context is set. An instance of #AsRelease. Gets the release date. The date in ISO8601 format. a #AsRelease instance. Gets the end-of-life date for this release. The EOL date in ISO8601 format. a #AsRelease instance. Gets the release description markup for a given locale. markup, or %NULL for not set or invalid a #AsRelease instance. Get a list of all issues resolved by this release. an array of #AsIssue objects. Gets the type of the release. (development or stable release) a #AsRelease instance. Gets the release timestamp. timestamp, or 0 for unset a #AsRelease instance. Gets the UNIX timestamp for the date when this release is out of support (end-of-life). UNIX timestamp, or 0 for unset or invalid. a #AsRelease instance. Gets the urgency of the release (showing how important it is to update to a more recent release) #AsUrgencyKind, or %AS_URGENCY_KIND_UNKNOWN for not set a #AsRelease instance. Gets an URL. string, or %NULL if unset a #AsRelease instance. the URL kind, e.g. %AS_RELEASE_URL_KIND_DETAILS. Gets the release version. string, or %NULL for not set or invalid a #AsRelease instance. Test if the release is tagged with the selected tag. %TRUE if tag exists. an #AsRelease instance. The namespace the tag belongs to The tag name Remove a tag from this release %TRUE if the tag was removed. an #AsRelease instance. The namespace the tag belongs to The tag name Sets the document context this release is associated with. An instance of #AsRelease. the #AsContext. Sets the release date. a #AsRelease instance. the date in ISO8601 format. Sets the end-of-life date for this release. a #AsRelease instance. the EOL date in ISO8601 format. Sets the description release markup. a #AsRelease instance. the description markup. the BCP47 locale, or %NULL. e.g. "en-GB". Sets the release kind to distinguish between end-user ready stable releases and development prereleases.. a #AsRelease instance. the #AsReleaseKind Sets the release timestamp. a #AsRelease instance. the timestamp value. Sets the UNIX timestamp for the date when this release is out of support (end-of-life). a #AsRelease instance. the timestamp value. Sets the release urgency. a #AsRelease instance. the urgency of this release/update (as #AsUrgencyKind) Sets an URL for this release. a #AsRelease instance. the URL kind, e.g. %AS_RELEASE_URL_KIND_DETAILS the full URL. Sets the release version. a #AsRelease instance. the version string. Compare the version numbers of two releases. 1 if @rel1 version is higher than @rel2, 0 if versions are equal, -1 if @rel2 version is higher than @rel1. an #AsRelease an #AsRelease The release kind. Unknown release type A stable release for end-users A development release or pre-release for testing A snapshot of a software being worked on Converts the text representation to an enumerated value. an #AsReleaseKind or %AS_RELEASE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsReleaseKind. Creates a new #AsReleaseList. an #AsReleaseList Append a release entry to this #AsReleaseList container. An instance of #AsReleaseList. Remove all release entries from this releases object. a #AsReleaseList instance. Get the #AsContext associated with these releases. This function may return %NULL if no context is set the associated #AsContext or %NULL a #AsReleaseList instance. Get the release entries as #GPtrArray. an array of #AsRelease instances. An instance of #AsReleaseList. Returns the #AsReleaseListKind of the release metadata associated with this component. The kind. a #AsReleaseList instance. Get the amount of components in this box. Amount of components. An instance of #AsReleaseList. Get the remote URL to obtain release information from. The URL of external release data, or %NULL a #AsReleaseList instance. Retrieve a release entry at the respective index from the release entry list. An #AsRelease or %NULL An instance of #AsReleaseList. The release entry index. Check if there are any components present. %TRUE if this component box is empty. An instance of #AsReleaseList. Load release information from XML bytes. %TRUE on success. a #AsReleaseList instance. the attached #AsContext or %NULL to use the current context the release XML data as #GBytes Sets the document context these releases are associated with. a #AsReleaseList instance. the #AsContext. Sets the #AsReleaseListKind of the release metadata associated with this component. a #AsReleaseList instance. the #AsComponentKind. Set the amount of release entries stored. a #AsReleaseList instance. Set a remote URL pointing to an AppStream release info file. a #AsReleaseList instance. the web URL where release data is found. Sort releases by their release version, starting with the most recent release. a #AsReleaseList instance. The kind of a releases block. Unknown releases type Release info is embedded in metainfo file Release info is split to a separate file Converts the text representation to an enumerated value. an #AsReleaseKind or %AS_RELEASE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsReleaseKind. @AS_RELEASE_URL_KIND_UNKNOWN Unknown release web URL type The release URL kinds. Weblink to detailed release notes. Converts the text representation to an enumerated value. an #AsReleaseUrlKind or %AS_RELEASE_URL_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsReleaseUrlKind. Creates a new #AsReview. a #AsReview Adds flags to an existing review without replacing the other flags. a #AsReview a #AsReviewFlags, e.g. %AS_REVIEW_FLAG_SELF Adds metadata to the review object. It is left for the the plugin to use this method as required, but a typical use would be to store some secure authentication token. a #AsReview a string a string Checks if two reviews are the same. %TRUE for success a #AsReview instance. a #AsReview instance. Gets the date the review was originally submitted. the #GDateTime, or %NULL for unset a #AsReview Gets the multi-line review text that forms the body of the review. the string, or %NULL a #AsReview Gets any flags set on the review, for example if the user has already voted on the review or if the user wrote the review themselves. a #AsReviewFlags, e.g. %AS_REVIEW_FLAG_SELF a #AsReview Gets the review id. the review identifier, e.g. "deadbeef" a #AsReview Gets the locale for the review. the string, or %NULL a #AsReview Gets some metadata from a review object. It is left for the the plugin to use this method as required, but a typical use would be to retrieve some secure authentication token. A string value, or %NULL for not found a #AsReview a string This allows the UI to sort reviews into the correct order. Higher numbers indicate a more important or relevant review. the review priority, or 0 for unset. a #AsReview Gets the star rating of the review, where 100 is 5 stars. integer as a percentage, or 0 for unset a #AsReview Gets the name of the reviewer. the reviewer ID, e.g. "deadbeef", or %NULL a #AsReview Gets the name of the reviewer. the reviewer name, e.g. "David Smith", or %NULL a #AsReview Gets the review summary. the one-line summary, e.g. "Awesome application" a #AsReview Gets the version string for the application being reviewed.. the version string, e.g. "0.1.2", or %NULL for unset a #AsReview Sets the date the review was originally submitted. a #AsReview a #GDateTime, or %NULL Sets the multi-line review text that forms the body of the review. a #AsReview multi-line description Gets any flags set on the review, for example if the user has already voted on the review or if the user wrote the review themselves. a #AsReview a #AsReviewFlags, e.g. %AS_REVIEW_FLAG_SELF Sets the review identifier that is unique to each review. a #AsReview review identifier, e.g. "deadbeef" Sets the locale for the review. a #AsReview a BCP47 locale, e.g. "en-GB" Sets the priority for the review, where positive numbers indicate a better review for the specific user. a #AsReview a priority value Sets the star rating of the review, where 100 is 5 stars.. a #AsReview a integer as a percentage, or 0 for unset Sets the name of the reviewer, which can be left unset. a #AsReview the reviewer ID, e.g. "deadbeef" Sets the name of the reviewer, which can be left unset. a #AsReview the reviewer name, e.g. "David Smith" Sets the one-line summary that may be displayed in bold. a #AsReview a one-line summary, e.g. "Awesome application" Sets the version string for the application being reviewed. a #AsReview a version string, e.g. "0.1.2" The priority for the review, where positive numbers indicate a better review for the specific user. The flags for the review. No special flags set The user wrote the review themselves The user voted on the review Creates a new #AsScreenshot. a #AsScreenshot Adds an image to the screenshot. a #AsScreenshot instance. a #AsImage instance. Adds a video to the screenshot. a #AsScreenshot instance. a #AsVideo instance. Remove all images associated with this screenshot. a #AsScreenshot instance. Gets the image caption the caption a #AsScreenshot instance. Returns the #AsContext associated with this screenshot. This function may return %NULL if no context is set. the #AsContext used by this screenshot. an #AsScreenshot instance. Get the GUI environment ID of this screenshot, if any is associated with it. E.g. "plasma-mobile" or "gnome:dark". The GUI environment ID the screenshot was recorded in, or %NULL if none set. a #AsScreenshot instance. Gets the AsImage closest to the target size. The #AsImage may not actually be the requested size, and the application may have to pad / rescale the image to make it fit. Only images for the current active locale (or fallback, if images are not localized) are considered. an #AsImage, or %NULL a #AsScreenshot instance. target width target height the target scaling factor. Gets the images for this screenshots. Only images valid for the current language are returned. We return all sizes. an array a #AsScreenshot instance. Returns an array of all images we have, regardless of their size and language. an array an #AsScreenshot instance. Gets the screenshot kind. a #AsScreenshotKind a #AsScreenshot instance. Gets the screenshot media kind. a #AsScreenshotMediaKind a #AsScreenshot instance. Gets the videos for this screenshots. Only videos valid for the current language selection are returned. We return all sizes. an array a #AsScreenshot instance. Returns an array of all screencast videos we have, regardless of their size and locale. an array a #AsScreenshot instance. Performs a quick validation on this screenshot TRUE if the screenshot is a complete #AsScreenshot a #AsScreenshot instance. Sets a caption on the screenshot a #AsScreenshot instance. the caption text. Sets the document context this screenshot is associated with. an #AsScreenshot instance. the #AsContext. Sets the GUI environment ID of this screenshot. a #AsScreenshot instance. the GUI environment ID, e.g. "plasma-mobile" or "gnome:dark" Sets the screenshot kind. a #AsScreenshot instance. the #AsScreenshotKind. The screenshot type. Type invalid or not known The primary screenshot to show by default Optional screenshot Converts the text representation to an enumerated value. a %AsScreenshotKind, or %AS_SCREENSHOT_KIND_UNKNOWN if not known. the string. Converts the enumerated value to an text representation. string version of @kind the #AsScreenshotKind. The media kind contained in this screenshot. Media kind is unknown The screenshot contains images The screenshot contains videos The artifact size kind. Unknown size Size of download of component Size of installed component Converts the text representation to an enumerated value. an #AsSizeKind or %AS_SIZE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @size_kind the #AsSizeKind. Creates a new #AsSuggested. a new #AsSuggested Add a component id to this suggested object. a #AsSuggested instance. The component id to add Get a list of components id that generated the suggestion an array of components id a #AsSuggested instance. Gets the suggested kind. the #AsSuggestedKind a #AsSuggested instance. Check if the essential properties of this suggestion are populated with useful data. %TRUE if we have useful data. a #AsSuggested instance. Sets the suggested kind. a #AsSuggested instance. the #AsSuggestedKind, e.g. %AS_SUGGESTED_KIND_HEURISTIC. The suggested type. Unknown suggested kind Suggestions provided by the upstream project. Suggestions provided by automatic heuristics. Converts the text representation to an enumerated value. a #AsSuggestedKind or %AS_SUGGESTED_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsSuggestedKind. Creates a new #AsSystemInfo. a #AsSystemInfo Creates a new #AsSystemInfo that can be used as a mock system for the given chassis type, reading (mostly) no information from the current system. This function will try to generate a device most representative of the given chassis class. This can be useful when testing compatibility for other devices on a different device that is not of the same chassis type as the one to be tested. an #AsSystemInfo template the #AsChassisKind to generate a template for 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. a human-readable device name, or %NULL on error. a #AsSystemInfo instance. the modalias value to resolve (may contain wildcards). fall back to low-quality data if no better information is available Get the current display length for the given side kind. If the display size is unknown, this function will return 0. the display size in logical pixels. a #AsSystemInfo instance. the #AsDisplaySideKind to select. Check whether graphical applications can be displayed via X11 or Wayland. %TRUE if graphical applications can be displayed. a #AsSystemInfo instance. Get the name of the current kernel, e.g. "Linux" the current OS kernel name a #AsSystemInfo instance. Get the version of the current kernel, e.g. "6.2.0-2" the current kernel version a #AsSystemInfo instance. Get the current total amount of physical memory in MiB. the current total amount of usable memory in MiB a #AsSystemInfo instance. Get a list of modaliases for all the hardware on this system that has them. a list of modaliases on the system. a #AsSystemInfo instance. Get the AppStream component ID of the current operating system. the component ID of the current OS. a #AsSystemInfo instance. Get the homepage URL of the current operating system. the homepage of the current OS. a #AsSystemInfo instance. Get the ID of the current operating system. the current OS ID. a #AsSystemInfo instance. Get the humen-readable name of the current operating system. the name of the current OS. a #AsSystemInfo instance. Get the version string of the current operating system. the version of the current OS. a #AsSystemInfo instance. Check if there is a device on this system that matches the given modalias glob. %TRUE if a matching device was found. a #AsSystemInfo instance. the modalias value to to look for, may contain wildcards. 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. %AS_CHECK_RESULT_TRUE if control was found a #AsSystemInfo instance. the #AsControlKind to test for. Receive a path in /sys for the devices with the given modalias. the syspath, or %NULL if none was found. a #AsSystemInfo instance. the modalias value to resolve. 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.html#tag-relations-display_length a #AsSystemInfo instance. the #AsDisplaySideKind to select. the length value in device-independt pixels. Set whether this system has a GUI / desktop environment available. a #AsSystemInfo instance. %TRUE if GUI is available. Explicitly mark a user input control as present or not present on this system. a #AsSystemInfo instance. the #AsControlKind to set. %TRUE if the control should be marked as found. The error type. Generic failure Information was not found. An error quark. Creates a new #AsTranslation. a #AsTranslation The ID (e.g. Gettext translation domain) of this translation. a #AsTranslation instance. The translation system type. an enum of type #AsTranslationKind a #AsTranslation instance. The locale of the source strings for this component. If this has not been explicitly specified, `en_US` will be returned. The locale of the source strings for this component. a #AsTranslation instance. Set the ID (e.g. Gettext domain) of this translation. a #AsTranslation instance. The ID of this translation. Set the translation system type. a #AsTranslation instance. the new #AsTranslationKind Set the locale of the source strings for this component. In gettext, this is referred to as the `C` locale. It’s almost always `en_US`, but for some components it may not be. a #AsTranslation instance. The POSIX locale that the source strings are in, or %NULL if unknown or default. The translation type. Type invalid or not known Gettext translation domain Qt translation domain Converts the text representation to an enumerated value. a #AsTranslationKind or %AS_TRANSLATION_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsTranslationKind. The urgency of an #AsRelease Urgency is unknown or not set Low urgency Medium urgency High urgency Critical urgency Converts the text representation to an enumerated value. a %AsUrgencyKind or %AS_URGENCY_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @urgency_kind the %AsUrgencyKind. The URL type. Type invalid or not known Project homepage Bugtracker FAQ page Help manual Page with information about how to donate to the project Page with instructions on how to translate the project / submit translations. Contact the developers Browse the source code Help developing Converts the text representation to an enumerated value. a #AsUrlKind or %AS_URL_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @url_kind the %AsUrlKind. The error type. Generic failure An error quark. Creates a new #AsValidator. an #AsValidator Override the severity of a selected tag. For most tags, the severity can not be lowered to a value that makes a validation that would otherwise fail pass (so e.g. an ERROR can not become an INFO). Some tags are explicitly allowed to have their severity lowered to enable validation of e.g. incomplete metadata during development. Increasing the severity of any tag is always allowed. a #AsValidator instance. the issue tag to override, e.g. "release-time-missing" the new severity for the tag. Add release metadata explicitly from bytes. a #AsValidator instance. File basename of the release metadata file to add. Data of the release metadata file. Add a release metadata file to the validation process. a #AsValidator instance. Release metadata file to add. Check the current registered values again and return %TRUE if no issues were found that would make the previously validated files fail validation. Usually you do not need to call this function explicitly, as the as_validator_validate_* functions will already return whether data was valid as return value. %TRUE if previously validated files were valid. An instance of #AsValidator. Clear all release information that was explicitly added to the validation process. a #AsValidator instance. %TRUE in case we allow network access. a #AsValidator instance. Get the number of files for which issues have been found. The number of files that have issues. An instance of #AsValidator. Get a list of found metadata format issues. a list of #AsValidatorIssue instances, free with g_list_free() An instance of #AsValidator. Get a hash table of filenames mapped to lists of issues. This is useful if validation was requested for multiple files and a list of issues per-file is desired without prior explicit sorting. a file to issue list mapping An instance of #AsValidator. %TRUE in case we are in strict mode and consider any issues as fatal. a #AsValidator instance. Get the explanatory text for a given issue tag. Explanation text. An instance of #AsValidator. Get the severity for a given issue tag. The #AsIssueSeverity An instance of #AsValidator. Get an array of all tags known to the validator. A string array of tags An instance of #AsValidator. If set to %TRUE, the validator will be allowed to connect to the internet to e.g. check URLs for validity. a #AsValidator instance. %TRUE if remote URLs should be checked for availability. Enable or disable strict mode. In strict mode, any found issue will result in a failed validation (except for issues of "pedantic" severity). Otherwise, only a "warning" or "error" will cause the validation to fail. a #AsValidator instance. %TRUE to enable strict mode. Validate AppStream XML data from a byte array. Remember to run %as_validator_clear_issues if you do not want previous validation runs to affect the outcome of this validation. %TRUE if bytes validated successfully. An instance of #AsValidator. XML metadata as #GBytes. Validate AppStream XML data. %TRUE if data validated successfully. An instance of #AsValidator. XML metadata. Validate an AppStream XML file. %TRUE if file validated successfully. An instance of #AsValidator. An AppStream XML file. Validate a full directory tree for issues in AppStream metadata. %TRUE if file validated successfully. An instance of #AsValidator. The root directory of the filesystem tree that should be validated. The error type. Generic failure The issue override was not accepted. The filename was invalid. An error quark. Creates a new #AsValidatorIssue. a #AsValidatorIssue The component-id this issue is about. a component-id. a #AsValidatorIssue instance. Get an extended explanation on this issue, or return %NULL if none is available. the explanation a #AsValidatorIssue instance. The name of the file this issue was found in. the filename a #AsValidatorIssue instance. Get a short context hint for this issue. the hint a #AsValidatorIssue instance. Gets the line number where this issue was found. the line number where this issue occured, or -1 if unknown. a #AsValidatorIssue instance. Builds a string containing all information about the location where this issue occured that we know about. the location hint as string. a #AsValidatorIssue instance. Gets the severity of this issue. a #AsIssueSeverity a #AsValidatorIssue instance. Gets the issue tag string for this issue. the tag a #AsValidatorIssue instance. Sets the component-id this issue is about. a #AsValidatorIssue instance. a component-id. Set explanatory text for this issue. a #AsValidatorIssue instance. the explanation. Sets the name of the file the issue was found in. a #AsValidatorIssue instance. the filename. Sets short issue hint. a #AsValidatorIssue instance. the hint. Sets the line number where this issue was found. a #AsValidatorIssue instance. the line number. Sets the severity for this issue. a #AsValidatorIssue instance. the #AsIssueSeverity. Sets the issue tag. a #AsValidatorIssue instance. the tag. Set how values assigned to an #AsComponent should be treated when they are set or retrieved. No flags. Check for duplicates when adding items to list values. Don't fall back to C when retrieving translated values. The flags used when matching unique IDs. No flags set Ignore epoch part of a version string. Creates a new #AsVideo. a #AsVideo Gets the video codec, if known. the #AsVideoCodecKind a #AsVideo instance. Gets the video container format, if known. the #AsVideoContainerKind a #AsVideo instance. Gets the video height, if known. height in pixels or 0 if unknown a #AsVideo instance. Get locale for this video. Locale string a #AsVideo instance. Gets the full qualified URL for the video, usually pointing at a mirror or CDN server. a web URL a #AsVideo instance. Gets the video width, if known. width in pixels or 0 if unknown a #AsVideo instance. Sets the video codec. a #AsVideo instance. the #AsVideoCodecKind, e.g. %AS_VIDEO_CODEC_KIND_AV1. Sets the video container. a #AsVideo instance. the #AsVideoContainerKind, e.g. %AS_VIDEO_CONTAINER_KIND_MKV. Sets the video height. a #AsVideo instance. the height in pixels. Sets the locale for this video. a #AsVideo instance. the BCP47 locale string. Sets the fully-qualified URL to use for the video. a #AsVideo instance. the URL. Sets the video width. a #AsVideo instance. the width in pixels. Supported video codecs. Unknown video codec The VP9 video codec The AV1 video codec Converts the text representation to an enumerated value. a #AsVideoCodecKind, or %AS_VIDEO_CODEC_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @codec the #AsVideoCodecKind. Supported video codecs. Unknown video container The Matroska video (MKV) container The WebM video container Converts the text representation to an enumerated value. a #AsVideoContainerKind, or %AS_VIDEO_CONTAINER_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @kind the #AsVideoContainerKind. Converts the text representation to an enumerated value. a #AsAgreementKind or %AS_AGREEMENT_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @value the #AsAgreementKind. Converts the text representation to an enumerated value. a #AsArtifactKind, or %AS_ARTIFACT_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @kind the #AsArtifactKind. Agreements can be used by components to specify GDPR, EULA or other warnings. See also: #AsAgreementSection Agreements are typically split up into sections. This class describes one agreement section. See also: #AsAgreement Describes a artifact artifact See also: #AsArtifact This class provides information contained in an AppStream branding tag. See https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-branding for more information. See also: #AsComponent This class provides information contained in an AppStream bundle tag. See https://www.freedesktop.org/software/appstream/docs/chap-CatalogData.html#tag-ct-bundle for more information. See also: #AsComponent Caches are used by #AsPool to quickly search for components while not keeping all component data in memory. This class is threadsafe. See also: #AsPool This object represents a XDG category, as defined at: https://specifications.freedesktop.org/menu-spec/menu-spec-1.0.html#category-registry The #AsCategory object does not support all aspects of a menu. Its main purpose is to be used in software-centers to group visual components (gui/web applications). You can use %as_get_default_categories() to get a set of supported default categories. See also: #AsComponent A checksum for a file referenced in a release. See also: #AsRelease This object represents an Appstream software component which is associated to a package in the distribution's repositories. A component can be anything, ranging from an application to a font, a codec or even a non-visual software project providing libraries and python-modules for other applications to use. The type of the component is stored as #AsComponentKind and can be queried to find out which kind of component we're dealing with. See also: #AsProvidesKind, #AsDatabase This class is a container for #AsComponent objects which usually share the same #AsContext and are manipulated together. It also provides binding-safe accessor functions to manipulate an array of components. See also: #AsComponent Content ratings are age-specific guidelines for applications. See also: #AsComponent Contains information about the context of AppStream metadata, from the root node of the document. Instances of #AsContext may be shared between #AsComponent instances. You usually do not want to use this directly, but use the more convenient #AsMetadata instead. See also: #AsComponent, #AsMetadata Describes the developer of a component. See also: #AsComponent This module mainly contains distribution-specific, non-public helper methods. This object will monitor a set of directories for changes. See also: #AsPool Screenshot may have multiple versions of an image in different resolutions or aspect ratios. This object allows access to the location and size of a single image. See also: #AsScreenshot Information about an issue that was resolved in a release. See also: #AsRelease Components can provide multiple launch-entries to launch the software they belong to. This class describes them. See also: #AsComponent This object parses MetaInfo data, AppStream Catalog metadata and AppStream release metadata into #AsComponent representations. It is also able to serialize #AsComponent entities into their various AppStream XML/YAML representations. See also: #AsComponent, #AsRelease, #AsPool Read NEWS and other types of release information files and convert them to AppStream metainfo data. Also, write NEWS files from #AsRelease release information. These functions are private/internal. This class loads AppStream metadata from various sources and refines it with existing knowledge about the system (e.g. by setting absolute paths for cached icons). An #AsPool will use an on-disk cache to store metadata is has read and refined to speed up the loading time when the same data is requested a second time. You can find AppStream metadata matching various user-defined criteria, and also add new metadata to the pool. The caching behavior can be controlled by the application using #AsCacheFlags. An AppStream cache object can also be created and read using the appstreamcli(1) utility. This class is threadsafe. See also: #AsComponent Components can provide various items, like libraries, Python-modules, firmware, binaries, etc. Functions to work with these items are provided here. See also: #AsComponent Contains information about external references to the component this reference is associated with. See also: #AsComponent A component can have recommends- or requires relations on other components, system properties, hardware and other interfaces. This class contains a representation of those relations. See also: #AsComponent This object represents a single upstream release, typically a minor update. Releases can contain a localized description of paragraph and list elements and also have a version number and timestamp. Releases can be automatically generated by parsing upstream ChangeLogs or .spec files, or can be populated using MetaInfo files. See also: #AsComponent This class contains multiple #Asrelease entries as well as information affecting all releases of that grouping. It can also fetch the required release information on-demand from a web URL in case it is not available locally. See also: #AsRelease, #AsRelease This class contains resulting information from a check for whether an #AsRelation is satisfied on a specific system configuration. See also: #AsRelation This object represents a user-submitted software review. Screenshots have a localized caption and contain either a set of images of different resolution or a video screencast showcasing the software. See also: #AsImage, #AsVideo This class provides a list of other component-ids suggested by a software component, as well as an origin of the suggestion (manually suggested by the upstream project, or automatically determined by heuristics). 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 These functions will convert a tag enum such as %AS_TAG_COMPONENT to it's string form, and also vice-versa. These helper functions may be useful if implementing an AppStream parser. Describes the translation domain and translation system used by the upstream component. See [the specification](https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-translation) for more information on the corresponding XML tag. See also: #AsComponent Functions which are used in libappstream and might be useful for others as well. This object is able to validate AppStream XML metadata (catalog and metainfo) and to generate a report about issues found with it. See also: #AsMetadata See also: #AsValidator Compare software version numbers. These functions are used in client code to conditionalize compilation depending on the version of libappstream headers installed. Also, a function to obtain the AppStream version at runtime is provided. Screenshot may have a video instead of a static image associated with them. This object allows access to the video and basic information about it. See also: #AsScreenshot, #AsImage Converts the text representation to an enumerated value. a #AsBundleKind or %AS_BUNDLE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsBundleKind. Converts the text representation to an enumerated value. a #AsChassisKind or %AS_CHASSIS_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsChassisKind. Converts the text representation to an enumerated value. a #AsChecksumKind or %AS_CHECKSUM_KIND_NONE for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsChecksumKind. Converts the text representation to an enumerated value. a #AsColorKind or %AS_COLOR_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @kind the %AsColorKind. Converts the text representation to an enumerated value. a #AsColorKind or %AS_COLOR_SCHEME_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @kind the %AsColorSchemeKind. Returns the #AsComponent at the given index of the array. This does not perform bounds checking on the given @index_, so you are responsible for checking it against the array length. Use %as_component_box_len to determine the amount of components present in the #AsComponentBox. a #AsComponentBox the index of the #AsComponent to return Get the amount of components in its box array. a #AsComponentBox Converts the text representation to an enumerated value. a #AsComponentKind or %AS_COMPONENT_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsComponentKind. Converts the text representation to an enumerated value. a #AsComponentScope or %AS_COMPONENT_SCOPE_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @scope the #AsComponentScope. Format @age as a human-readable string in the given rating @system. This is the way to present system-specific strings in a UI. a newly allocated formatted version of @age, or %NULL if the given @system has no representation for @age an #AsContentRatingSystem a CSM age to format Determine the most appropriate #AsContentRatingSystem for the given @locale. Content rating systems are selected by territory. If no content rating system seems suitable, %AS_CONTENT_RATING_SYSTEM_IARC is returned. the most relevant #AsContentRatingSystem a locale, in the format described in `man 3 setlocale` Get the CSM ages corresponding to the entries returned by as_content_rating_system_get_formatted_ages() for this @system. an array of CSM ages an #AsContentRatingSystem return location for the length of the returned array Get an array of all the possible return values of as_content_rating_system_format_age() for the given @system. The array is sorted with youngest CSM age first. %NULL-terminated array of human-readable age strings an #AsContentRatingSystem Get a human-readable string to identify @system. %NULL will be returned for %AS_CONTENT_RATING_SYSTEM_UNKNOWN. a human-readable string for @system, or %NULL if unknown an #AsContentRatingSystem Converts the text representation to an enumerated value. a #AsContentRatingValue or %AS_CONTENT_RATING_VALUE_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @value the #AsContentRatingValue. Converts the text representation to an enumerated value. a #AsControlKind or %AS_CONTROL_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsControlKind. Converts the text representation to an enumerated value. a #AsDisplaySideKind or %AS_DISPLAY_SIDE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsDisplaySideKind. Converts the text representation to an enumerated value. a #AsFormatKind or %AS_FORMAT_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsFormatKind. Converts the text representation to an enumerated value. a #AsFormatVersion. For unknown, the highest version number is assumed. the string. Converts the enumerated value to an text representation. string version of @version the #AsFormatKind. 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 Get a list of the default Freedesktop and AppStream categories that software components (especially GUI applications) can be sorted into in software centers. a list of #AsCategory Include special categories (e.g. "addons", and "all"/"featured" in submenus) Get a list of the default Freedesktop and AppStream categories that software components (especially GUI applications) can be sorted into in software centers. This function fully transfers ownership of the returned container, to be used in GIR bindings. a list of #AsCategory Include special categories (e.g. "addons", and "all"/"featured" in submenus) Get a translated license name for the given SPDX ID. The license name, or %NULL if none found. The SPDX license ID. Get a web URL to the license text and more license information for an SPDX license identifier. The license URL, or %NULL if none available. The SPDX license ID. Replaces the string @find with the string @replace in a #GString up to @limit times. If the number of instances of @find in the #GString is less than @limit, all instances are replaced. If @limit is `0`, all instances of @find are replaced. the number of find and replace operations performed. a #GString the string to find in @string the string to insert in place of @find the maximum instances of @find to replace with @replace, or `0` for no limit Converts the text representation to an enumerated value. a #AsIconKind or %AS_ICON_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsIconKind. Converts the text representation to an enumerated value. a #AsImageKind, or %AS_IMAGE_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @kind the #AsImageKind. Converts the text representation to an enumerated value. a #AsInternetKind or %AS_INTERNET_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsInternetKind. Searches the known list of SPDX license exception IDs. %TRUE if the string is a valid SPDX license exception ID a single SPDX license exception ID, e.g. "GCC-exception-3.1" Checks the licence string to check it being a valid licence. NOTE: SPDX licenses can't typically contain brackets. %TRUE if the icon is a valid "SPDX license" a SPDX license string, e.g. "CC-BY-3.0 and GFDL-1.3" Searches the known list of SPDX license IDs. %TRUE if the string is a valid SPDX license ID a single SPDX license ID, e.g. "GPL-3.0" Converts the text representation to an enumerated value. a #AsIssueKind or %AS_ISSUE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsIssueKind. Converts the text representation to an enumerated value. a #AsIssueSeverity, or %AS_ISSUE_SEVERITY_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @severity the #AsIssueSeverity. Converts the text representation to an enumerated value. a #AsLaunchableKind or %AS_LAUNCHABLE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsLaunchableKind. Check if the given license is for free-as-in-freedom software. A free software license is either approved by the Free Software Foundation or the Open Source Initiative. This function does *not* yet handle complex license expressions with AND and OR. If the expression contains any of these, it will still simply check if all mentioned licenses are Free licenses. Currently, any license exception recognized by SPDX is assumed to not impact the free-ness status of a software component. Please note that this function does not give any legal advice. Please read the license texts to learn more about the individual licenses and their conditions. %TRUE if the license string contains only free-as-in-freedom licenses. The SPDX license string to test. Check if the metadata license is suitable for mixing with other metadata and redistributing the bundled result (this means we prefer permissive licenses here, to not require people shipping catalog metadata to perform a full license review). This method checks against a hardcoded list of permissive licenses commonly used to license metadata under. %TRUE if the license contains only permissive licenses suitable as metadata license. The SPDX license string to test. Tests license ID against the vetted list of licenses that can be used for metainfo metadata. This function will not work for license expressions, if you need to test an SPDX license expression for compliance, please use %as_license_is_metadata_license insread. %TRUE if the string is a valid metadata license ID. a single SPDX license ID, e.g. "FSFAP" Converts a non-SPDX license into an SPDX format string where possible. the best-effort SPDX license string a not-quite SPDX license string, e.g. "GPLv3+" Converts XML description markup into other forms of text. a newly allocated string, or %NULL on error. the XML markup to transform. The markup style to convert into. Splits up a long line into an array of smaller strings, each being no longer than @line_len. Words are not split. lines, or %NULL in event of an error the text to split. the maximum length of the output line Converts the text representation to an enumerated value. a #AsMergeKind or %AS_MERGE_KIND_NONE for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsMergeKind. An error quark. An error quark. Converts the text representation to an enumerated value. a #AsProvidedKind or %AS_PROVIDED_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a localized text representation, using the plural forms (e.g. "Libraries" instead of "Library"). This can be useful when displaying provided items in GUI dialogs. Pluralized, l10n string version of @kind the #AsProvidedKind. Converts the enumerated value to a text representation. string version of @kind the #AsProvidedKind. Converts the text representation to an enumerated value. a AsReferenceKind or %AS_REFERENCE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsReferenceKind. Converts the text representation to an enumerated value. a #AsRelationCompare, or %AS_RELATION_COMPARE_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. The enum is converted into a two-letter identifier ("eq", "ge", etc.) for use in the XML representation. string version of @compare the #AsRelationCompare. Converts the enumerated value to an text representation. The enum is converted into an identifier consisting of two mathematical comparison operators ("==", ">=", etc.) for use in the YAML representation and user interfaces. string version of @compare the #AsRelationCompare. An error quark. Converts the text representation to an enumerated value. a #AsRelationItemKind or %AS_RELATION_ITEM_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsRelationKind. Converts the text representation to an enumerated value. a #AsRelationKind or %AS_RELATION_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsRelationKind. Converts the text representation to an enumerated value. an #AsReleaseKind or %AS_RELEASE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsReleaseKind. Returns the #AsRelease at the given index of the array. This does not perform bounds checking on the given @index_, so you are responsible for checking it against the array length. Use %as_release_list_len to determine the amount of releases present in the #AsReleaseList container. a #AsReleaseList the index of the #AsRelease to return Converts the text representation to an enumerated value. an #AsReleaseKind or %AS_RELEASE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsReleaseKind. Get the amount of release entries present. a #AsReleaseList Converts the text representation to an enumerated value. an #AsReleaseUrlKind or %AS_RELEASE_URL_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the #AsReleaseUrlKind. Converts the text representation to an enumerated value. a %AsScreenshotKind, or %AS_SCREENSHOT_KIND_UNKNOWN if not known. the string. Converts the enumerated value to an text representation. string version of @kind the #AsScreenshotKind. Converts the text representation to an enumerated value. an #AsSizeKind or %AS_SIZE_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @size_kind the #AsSizeKind. De-tokenizes the SPDX licenses into a string. string, or %NULL for invalid license tokens, typically from as_spdx_license_tokenize() Tokenizes the SPDX license string (or any simarly formatted string) into parts. Any license parts of the string e.g. "LGPL-2.0+" are prefexed with "@", the conjunctive replaced with "&", the disjunctive replaced with "|" and the WITH operator for license exceptions replaced with "^". Brackets are added as indervidual tokens and other strings are appended into single tokens where possible. array of strings, or %NULL for invalid a license string, e.g. "LGPLv2+ and (QPL or GPLv2) and MIT" Converts the text representation to an enumerated value. a #AsSuggestedKind or %AS_SUGGESTED_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @kind the %AsSuggestedKind. An error quark. Converts the text representation to an enumerated value. a #AsTranslationKind or %AS_TRANSLATION_KIND_UNKNOWN for unknown the string. Converts the enumerated value to a text representation. string version of @kind the #AsTranslationKind. Converts the text representation to an enumerated value. a %AsUrgencyKind or %AS_URGENCY_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @urgency_kind the %AsUrgencyKind. Converts the text representation to an enumerated value. a #AsUrlKind or %AS_URL_KIND_UNKNOWN for unknown the string. Converts the enumerated value to an text representation. string version of @url_kind the %AsUrlKind. Builds an identifier string unique to the individual dataset using the supplied information. Scope of the metadata as #AsComponentScope e.g. %AS_COMPONENT_SCOPE_SYSTEM Bundling system providing this data, e.g. 'package' or 'flatpak' Origin string, e.g. 'os' or 'gnome-apps-nightly' AppStream component ID, e.g. 'org.freedesktop.appstream.cli' Branch, e.g. '3-20' or 'master' Checks two component data IDs for equality allowing globs to match. %TRUE if the ID's should be considered equal. a data ID another data ID Get the component-id part of the data-id. The data-id. Converts a data-id to a hash value. This function implements the widely used DJB hash on the ID subset of the data-id string. It can be passed to g_hash_table_new() as the hash_func parameter, when using non-NULL strings or unique_ids as keys in a GHashTable. a hash value corresponding to the key a data ID Checks two data IDs for equality allowing globs to match, whilst also allowing clients to whitelist sections that have to match. %TRUE if the IDs should be considered equal. a data ID another data ID a #AsDataIdMatchFlags bitfield, e.g. %AS_DATA_ID_MATCH_FLAG_ID Checks if a data ID is valid i.e. has the correct number of sections. %TRUE if the ID is valid a component data ID An error quark. Get a human-readable, translated name of the desktop environment represented by the given ID. A localized name of the DE, or %NULL if none available. a desktop environment id. Get a human-readable, translated name of the combination of GUI environment and style. E.g. "plasma:dark" becomes "Plasma (Dark)". A localized name of the environment style, or %NULL if none available. a GUI environment style ID, e.g. "pantheon:dark" Retrieve the raw search token weight for the given tag name that AppStream uses internally for searching. This can be used to implement separate, but compatible search logic. The tag weight used in (fulltext) searches. 0 for lowest weight/unused. A tag name in a component element, e.g. "name" or "summary" or "keyword" Guess the #AsComponentScope that applies to a given path. the #AsComponentScope The filename to test. Installs an AppStream MetaInfo, AppStream Metadata Catalog or AppStream Icon tarball file to the right place on the filesystem. Please note that this function does almost no validation and may guess missing values such as icon sizes and origin names. Ensure your metadata is good before installing it. %TRUE for success, %FALSE if error is set the #AsMetadataLocation, e.g. %AS_METADATA_LOCATION_CACHE the full path of the file to install the origin to use for the installation, or %NULL the destdir to use, or %NULL Searches the known list of registered XDG category names. See https://specifications.freedesktop.org/menu-spec/menu-spec-1.0.html#category-registry for a reference. %TRUE if the category name is valid a XDG category name, e.g. "ProjectManagement" Checks if the submitted desktop environment ID is known and valid. %TRUE if the desktop-id is valid a desktop environment id. Checks if the given identifier is a valid, known GUI environment style. %TRUE if the environment-style ID is is valid a GUI environment style ID, e.g. "pantheon:dark" Test if the given string is a valid platform triplet recognized by AppStream. %TRUE if triplet is valid. a platform triplet. Searches the known list of TLDs we allow for AppStream IDs. This excludes internationalized names. %TRUE if the TLD is valid a top-level domain without dot, e.g. "de", "org", "name" Calculates if one locale is compatible with another. When doing the calculation the locale and language code is taken into account if possible. %TRUE if the locale is compatible. a BCP47 or POSIX locale string, or %NULL a BCP47 or POSIX locale string, or %NULL Converts a POSIX locale string to the corresponding IETF BCP47 format. If the given locale is already in BCP47 format, no change will be done. A locale string, free with g_free() Sorts all components in @cpts into the #AsCategory categories listed in @categories. List of components. List of categories to sort components into. Whether to check for duplicates. An error quark. Compare alpha and numeric segments of two software versions, considering @flags. >>0 if a is newer than b; 0 if a and b are the same version; <<0 if b is newer than a First version number Second version number Flags, e.g. %AS_VERCMP_FLAG_NONE Compare alpha and numeric segments of two software versions. >>0 if a is newer than b; 0 if a and b are the same version; <<0 if b is newer than a First version number Second version number Compare two version numbers and check if the given version comparator matches. %TRUE if the version comparison matches, %FALSE otherwise. first version number the comparison operator second version number the #AsVercmpFlags to use Get the version of the AppStream library that is currently used at runtime as a string. a version number, e.g. "0.14.2" Converts the text representation to an enumerated value. a #AsVideoCodecKind, or %AS_VIDEO_CODEC_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @codec the #AsVideoCodecKind. Converts the text representation to an enumerated value. a #AsVideoContainerKind, or %AS_VIDEO_CONTAINER_KIND_UNKNOWN for unknown. the string. Converts the enumerated value to an text representation. string version of @kind the #AsVideoContainerKind.