GsAppList

GsAppList — An application list

Stability Level

Unstable, unless otherwise indicated

Functions

Types and Values

Includes

#include <gnome-software.h>

Description

These functions provide a refcounted list of GsApp objects.

Functions

sizeof ()

G_STATIC_ASSERT
sizeof ();

GsAppListSortFunc ()

gint
(*GsAppListSortFunc) (GsApp *app1,
                      GsApp *app2,
                      gpointer user_data);

A version of GCompareFunc which is specific to GsApps.

Parameters

user_data

user data passed into the sort function

 

Returns

zero if app1 and app2 are equal, a negative value if app1 comes before app2 , or a positive value if app1 comes after app2

Since: 41


GsAppListFilterFunc ()

gboolean
(*GsAppListFilterFunc) (GsApp *app,
                        gpointer user_data);

gs_app_list_new ()

GsAppList *
gs_app_list_new (void);

Creates a new list.

Returns

A newly allocated GsAppList

Since: 3.22


gs_app_list_add ()

void
gs_app_list_add (GsAppList *list,
                 GsApp *app);

If the application does not already exist in the list then it is added, incrementing the reference count. If the application already exists then a warning is printed to the console.

Applications that have the application ID lazy-loaded will always be added to the list, and to clean these up the plugin loader will also call the gs_app_list_filter_duplicates() method when all plugins have run.

Parameters

list

A GsAppList

 

app

A GsApp

 

Since: 3.22


gs_app_list_add_list ()

void
gs_app_list_add_list (GsAppList *list,
                      GsAppList *donor);

Adds all the applications in donor to list .

Parameters

list

A GsAppList

 

donor

Another GsAppList

 

Since: 3.22


gs_app_list_remove ()

void
gs_app_list_remove (GsAppList *list,
                    GsApp *app);

Removes an application from the list. If the application does not exist the request is ignored.

Parameters

list

A GsAppList

 

app

A GsApp

 

Since: 3.22


gs_app_list_index ()

GsApp *
gs_app_list_index (GsAppList *list,
                   guint idx);

Gets an application at a specific position in the list.

Parameters

list

A GsAppList

 

idx

An index into the list

 

Returns

a GsApp, or NULL if invalid.

[transfer none]

Since: 3.22


gs_app_list_lookup ()

GsApp *
gs_app_list_lookup (GsAppList *list,
                    const gchar *unique_id);

Finds the first matching application in the list using the usual wildcard rules allowed in unique_ids.

Parameters

list

A GsAppList

 

unique_id

A unique_id

 

Returns

a GsApp, or NULL if not found.

[transfer none]

Since: 3.22


gs_app_list_length ()

guint
gs_app_list_length (GsAppList *list);

Gets the length of the application list.

Parameters

list

A GsAppList

 

Returns

Integer

Since: 3.22


gs_app_list_sort ()

void
gs_app_list_sort (GsAppList *list,
                  GsAppListSortFunc func,
                  gpointer user_data);

Sorts the application list.

Parameters

list

A GsAppList

 

func

A GsAppListSortFunc

 

user_data

user data to pass to func

 

Since: 3.22


gs_app_list_filter ()

void
gs_app_list_filter (GsAppList *list,
                    GsAppListFilterFunc func,
                    gpointer user_data);

If func() returns TRUE for the GsApp, then the app is kept.

Parameters

list

A GsAppList

 

func

A GsAppListFilterFunc

 

user_data

the user pointer to pass to func

 

Since: 3.22

Types and Values

enum GsAppListFilterFlags

Flags to use when filtering. The priority of each GsApp is used to choose which application object to keep.

Members

GS_APP_LIST_FILTER_FLAG_NONE

No flags set

 

GS_APP_LIST_FILTER_FLAG_KEY_ID

Filter by ID

 

GS_APP_LIST_FILTER_FLAG_KEY_SOURCE

Filter by default source

 

GS_APP_LIST_FILTER_FLAG_KEY_VERSION

Filter by version

 

GS_APP_LIST_FILTER_FLAG_PREFER_INSTALLED

Prefer installed applications

 

GS_APP_LIST_FILTER_FLAG_KEY_ID_PROVIDES

Filter using the provides ID

 

GS_APP_LIST_FILTER_FLAG_LAST

   

GS_APP_LIST_FILTER_FLAG_MASK

   

Since: 40


GS_TYPE_APP_LIST

#define GS_TYPE_APP_LIST (gs_app_list_get_type ())

GsAppList

typedef struct _GsAppList GsAppList;