PkPackageSack

PkPackageSack — A sack of packages that can be manipulated

Functions

Types and Values

Description

A package sack is a set of packages that can have operations done on them in parallel. This might be adding summary text for bare package ID's, or to add package or update details.

Functions

pk_package_sack_new ()

PkPackageSack *
pk_package_sack_new (void);

Returns

a new PkPackageSack object.

Since: 0.5.2


PkPackageSackFilterFunc ()

gboolean
(*PkPackageSackFilterFunc) (PkPackage *package,
                            gpointer user_data);

Function to filter packages in PkPackageSack.

Parameters

package

the package being considered

 

user_data

User data supplied when the callback was registered

 

Returns

TRUE if package should remain in the sack.


pk_package_sack_clear ()

void
pk_package_sack_clear (PkPackageSack *sack);

Empty all the packages from the sack

Parameters

sack

a valid PkPackageSack instance

 

Since: 0.5.2


pk_package_sack_get_ids ()

gchar **
pk_package_sack_get_ids (PkPackageSack *sack);

Returns all the Package IDs in the sack

Parameters

sack

a valid PkPackageSack instance

 

Returns

the number of packages in the sack, free with g_strfreev().

[transfer full]

Since: 0.5.3


pk_package_sack_get_size ()

guint
pk_package_sack_get_size (PkPackageSack *sack);

Gets the number of packages in the sack

Parameters

sack

a valid PkPackageSack instance

 

Returns

the number of packages in the sack

Since: 0.5.2


pk_package_sack_get_array ()

GPtrArray *
pk_package_sack_get_array (PkPackageSack *sack);

Gets the package array from the sack

Parameters

sack

a valid PkPackageSack instance

 

Returns

A GPtrArray, free with g_ptr_array_unref().

[element-type PkPackage][transfer container]

Since: 0.6.1


pk_package_sack_sort ()

void
pk_package_sack_sort (PkPackageSack *sack,
                      PkPackageSackSortType type);

Sorts the package sack

Parameters

sack

a valid PkPackageSack instance

 

type

the type of sorting, e.g. PK_PACKAGE_SACK_SORT_TYPE_NAME

 

Since: 0.6.1


pk_package_sack_add_package ()

gboolean
pk_package_sack_add_package (PkPackageSack *sack,
                             PkPackage *package);

Adds a package to the sack.

Parameters

sack

a valid PkPackageSack instance

 

package

a valid PkPackage instance

 

Returns

TRUE if the package was added to the sack

Since: 0.5.2


pk_package_sack_add_package_by_id ()

gboolean
pk_package_sack_add_package_by_id (PkPackageSack *sack,
                                   const gchar *package_id,
                                   GError **error);

Adds a package reference to the sack.

Parameters

sack

a valid PkPackageSack instance

 

package_id

a package_id descriptor

 

error

a GError to put the error code and message in, or NULL

 

Returns

TRUE if the package was added to the sack

Since: 0.5.2


pk_package_sack_add_packages_from_file ()

gboolean
pk_package_sack_add_packages_from_file
                               (PkPackageSack *sack,
                                GFile *file,
                                GError **error);

Adds packages from package-list file to a PkPackageSack.

Parameters

sack

a valid PkPackageSack instance

 

file

a valid package-list file

 

error

a GError to put the error code and message in, or NULL

 

Returns

TRUE if there were no errors.


pk_package_sack_to_file ()

gboolean
pk_package_sack_to_file (PkPackageSack *sack,
                         GFile *file,
                         GError **error);

Write the contents of a PkPackageSack to a package-list file.

Parameters

sack

a valid PkPackageSack instance

 

file

a valid package-list file

 

error

a GError to put the error code and message in, or NULL

 

Returns

TRUE if there were no errors.

Since: 0.8.6


pk_package_sack_remove_package ()

gboolean
pk_package_sack_remove_package (PkPackageSack *sack,
                                PkPackage *package);

Removes a package reference from the sack. The pointers have to match exactly.

Parameters

sack

a valid PkPackageSack instance

 

package

a valid PkPackage instance

 

Returns

TRUE if the package was removed from the sack

Since: 0.5.2


pk_package_sack_remove_package_by_id ()

gboolean
pk_package_sack_remove_package_by_id (PkPackageSack *sack,
                                      const gchar *package_id);

Removes a package reference from the sack. As soon as one package is removed the search is stopped.

Parameters

sack

a valid PkPackageSack instance

 

package_id

a package_id descriptor

 

Returns

TRUE if the package was removed from the sack

Since: 0.5.2


pk_package_sack_remove_by_filter ()

gboolean
pk_package_sack_remove_by_filter (PkPackageSack *sack,
                                  PkPackageSackFilterFunc filter_cb,
                                  gpointer user_data);

Removes from the package sack any packages that return FALSE from the filter function.

Parameters

sack

a valid PkPackageSack instance

 

filter_cb

a PkPackageSackFilterFunc, which returns TRUE for the PkPackage's to retain.

[scope call]

user_data

user data to pass to filter_cb

 

Returns

TRUE if a package was removed from the sack

Since: 0.6.3


pk_package_sack_find_by_id ()

PkPackage *
pk_package_sack_find_by_id (PkPackageSack *sack,
                            const gchar *package_id);

Finds a package in a sack from reference. As soon as one package is found the search is stopped.

Parameters

sack

a valid PkPackageSack instance

 

package_id

a package_id descriptor

 

Returns

the PkPackage object, or NULL if unfound. Free with g_object_unref().

[transfer full]

Since: 0.5.2


pk_package_sack_find_by_id_name_arch ()

PkPackage *
pk_package_sack_find_by_id_name_arch (PkPackageSack *sack,
                                      const gchar *package_id);

Finds a package in a sack by package name and architecture. As soon as one package is found the search is stopped.

Parameters

sack

a valid PkPackageSack instance

 

package_id

a package_id descriptor

 

Returns

the PkPackage object, or NULL if not found.

[transfer full]

Since: 0.8.16


pk_package_sack_filter_by_info ()

PkPackageSack *
pk_package_sack_filter_by_info (PkPackageSack *sack,
                                PkInfoEnum info);

Returns a new package sack which only matches packages that match the specified info enum value.

Parameters

sack

a valid PkPackageSack instance

 

info

a PkInfoEnum value to match

 

Returns

a new PkPackageSack, free with g_object_unref().

[transfer full]

Since: 0.6.2


pk_package_sack_filter ()

PkPackageSack *
pk_package_sack_filter (PkPackageSack *sack,
                        PkPackageSackFilterFunc filter_cb,
                        gpointer user_data);

Returns a new package sack which only matches packages that return TRUE from the filter function.

Parameters

sack

a valid PkPackageSack instance

 

filter_cb

a PkPackageSackFilterFunc, which returns TRUE for the PkPackage's to add.

[scope call]

user_data

user data to pass to filter_cb

 

Returns

a new PkPackageSack, free with g_object_unref().

[transfer full]

Since: 0.6.3


pk_package_sack_get_total_bytes ()

guint64
pk_package_sack_get_total_bytes (PkPackageSack *sack);

Gets the total size of the package sack in bytes.

Parameters

sack

a valid PkPackageSack instance

 

Returns

the size in bytes

Since: 0.5.2


pk_package_sack_merge_generic_finish ()

gboolean
pk_package_sack_merge_generic_finish (PkPackageSack *sack,
                                      GAsyncResult *res,
                                      GError **error);

Gets the result from the asynchronous function.

Parameters

sack

a valid PkPackageSack instance

 

res

the GAsyncResult

 

error

A GError or NULL

 

Returns

TRUE for success

Since: 0.5.2


pk_package_sack_resolve ()

gboolean
pk_package_sack_resolve (PkPackageSack *package_sack,
                         GCancellable *cancellable,
                         GError **error);

Gets the properties the daemon supports. Warning: this function is synchronous, and may block. Do not use it in GUI applications.

Parameters

package_sack

a valid PkPackageSack instance

 

cancellable

a GCancellable or NULL

 

error

A GError or NULL

 

Returns

TRUE if the properties were set correctly

Since: 0.6.0


pk_package_sack_resolve_async ()

void
pk_package_sack_resolve_async (PkPackageSack *sack,
                               GCancellable *cancellable,
                               PkProgressCallback progress_callback,
                               gpointer progress_user_data,
                               GAsyncReadyCallback callback,
                               gpointer user_data);

Merges in details about packages using resolve.

Parameters

sack

a valid PkPackageSack instance

 

cancellable

a GCancellable or NULL

 

progress_callback

the function to run when the progress changes.

[scope notified]

progress_user_data

data to pass to progress_callback

 

callback

the function to run on completion

 

user_data

the data to pass to callback

 

Since: 0.5.2


pk_package_sack_get_details ()

gboolean
pk_package_sack_get_details (PkPackageSack *package_sack,
                             GCancellable *cancellable,
                             GError **error);

Gets the properties the daemon supports. Warning: this function is synchronous, and may block. Do not use it in GUI applications.

Parameters

package_sack

a valid PkPackageSack instance

 

cancellable

a GCancellable or NULL

 

error

A GError or NULL

 

Returns

TRUE if the properties were set correctly

Since: 0.6.0


pk_package_sack_get_details_async ()

void
pk_package_sack_get_details_async (PkPackageSack *sack,
                                   GCancellable *cancellable,
                                   PkProgressCallback progress_callback,
                                   gpointer progress_user_data,
                                   GAsyncReadyCallback callback,
                                   gpointer user_data);

Merges in details about packages.

Parameters

sack

a valid PkPackageSack instance

 

cancellable

a GCancellable or NULL

 

progress_callback

the function to run when the progress changes.

[scope notified]

progress_user_data

data to pass to progress_callback

 

callback

the function to run on completion

 

user_data

the data to pass to callback

 

pk_package_sack_get_update_detail ()

gboolean
pk_package_sack_get_update_detail (PkPackageSack *package_sack,
                                   GCancellable *cancellable,
                                   GError **error);

Gets the properties the daemon supports. Warning: this function is synchronous, and may block. Do not use it in GUI applications.

Parameters

package_sack

a valid PkPackageSack instance

 

cancellable

a GCancellable or NULL

 

error

A GError or NULL

 

Returns

TRUE if the properties were set correctly

Since: 0.6.0


pk_package_sack_get_update_detail_async ()

void
pk_package_sack_get_update_detail_async
                               (PkPackageSack *sack,
                                GCancellable *cancellable,
                                PkProgressCallback progress_callback,
                                gpointer progress_user_data,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

Merges in update details about packages.

Parameters

sack

a valid PkPackageSack instance

 

cancellable

a GCancellable or NULL

 

progress_callback

the function to run when the progress changes.

[scope notified]

progress_user_data

data to pass to progress_callback

 

callback

the function to run on completion

 

user_data

the data to pass to callback

 

Since: 0.5.2

Types and Values

PK_PACKAGE_SACK_TYPE_ERROR

#define PK_PACKAGE_SACK_TYPE_ERROR (pk_package_sack_error_get_type ())

enum PkPackageSackSortType

Type of sort to perform.

Members

PK_PACKAGE_SACK_SORT_TYPE_NAME

Sort by name

 

PK_PACKAGE_SACK_SORT_TYPE_INFO

Sort by package info

 

PK_PACKAGE_SACK_SORT_TYPE_PACKAGE_ID

Sort by package ID

 

PK_PACKAGE_SACK_SORT_TYPE_SUMMARY

Sort by summary

 

PK_PACKAGE_SACK_SORT_TYPE_LAST

   

PkPackageSackResults

typedef struct _PkPackageSackResults PkPackageSackResults;