PkPackageSack

PkPackageSack — A sack of packages that can be manipulated

Synopsis

#define             PK_PACKAGE_SACK_ERROR
#define             PK_PACKAGE_SACK_TYPE_ERROR
                    PkPackageSackPrivate;
                    PkPackageSackResults;
                    PkPackageSack;
GQuark              pk_package_sack_error_quark         (void);
PkPackageSack *     pk_package_sack_new                 (void);
void                pk_package_sack_test                (gpointer user_data);
guint               pk_package_sack_get_size            (PkPackageSack *sack);
PkPackage *         pk_package_sack_get_index           (PkPackageSack *sack,
                                                         guint i);
void                pk_package_sack_clear               (PkPackageSack *sack);
gchar **            pk_package_sack_get_ids             (PkPackageSack *sack);
void                pk_package_sack_sort_package_id     (PkPackageSack *sack);
void                pk_package_sack_sort_info           (PkPackageSack *sack);
void                pk_package_sack_sort_summary        (PkPackageSack *sack);
gboolean            pk_package_sack_add_package         (PkPackageSack *sack,
                                                         PkPackage *package);
gboolean            pk_package_sack_add_package_by_id   (PkPackageSack *sack,
                                                         const gchar *package_id,
                                                         GError **error);
gboolean            pk_package_sack_remove_package      (PkPackageSack *sack,
                                                         PkPackage *package);
gboolean            pk_package_sack_remove_package_by_id
                                                        (PkPackageSack *sack,
                                                         const gchar *package_id);
PkPackage *         pk_package_sack_find_by_id          (PkPackageSack *sack,
                                                         const gchar *package_id);
guint64             pk_package_sack_get_total_bytes     (PkPackageSack *sack);
gboolean            pk_package_sack_merge_generic_finish
                                                        (PkPackageSack *sack,
                                                         GAsyncResult *res,
                                                         GError **error);
void                pk_package_sack_merge_resolve_async (PkPackageSack *sack,
                                                         GCancellable *cancellable,
                                                         PkProgressCallback progress_callback,
                                                         gpointer progress_user_data,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
void                pk_package_sack_merge_details_async (PkPackageSack *sack,
                                                         GCancellable *cancellable,
                                                         PkProgressCallback progress_callback,
                                                         gpointer progress_user_data,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
void                pk_package_sack_merge_update_detail_async
                                                        (PkPackageSack *sack,
                                                         GCancellable *cancellable,
                                                         PkProgressCallback progress_callback,
                                                         gpointer progress_user_data,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Object Hierarchy

  GObject
   +----PkPackageSack

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.

Details

PK_PACKAGE_SACK_ERROR

#define PK_PACKAGE_SACK_ERROR		(pk_package_sack_error_quark ())


PK_PACKAGE_SACK_TYPE_ERROR

#define PK_PACKAGE_SACK_TYPE_ERROR (pk_package_sack_error_get_type ())


PkPackageSackPrivate

typedef struct _PkPackageSackPrivate PkPackageSackPrivate;

Private PkPackageSack data


PkPackageSackResults

typedef struct _PkPackageSackResults PkPackageSackResults;


PkPackageSack

typedef struct _PkPackageSack PkPackageSack;


pk_package_sack_error_quark ()

GQuark              pk_package_sack_error_quark         (void);

Returns :


pk_package_sack_new ()

PkPackageSack *     pk_package_sack_new                 (void);

Returns :

a new PkPackageSack object.

pk_package_sack_test ()

void                pk_package_sack_test                (gpointer user_data);

user_data :


pk_package_sack_get_size ()

guint               pk_package_sack_get_size            (PkPackageSack *sack);

Gets the number of packages in the sack

sack :

a valid PkPackageSack instance

Returns :

the number of packages in the sack

pk_package_sack_get_index ()

PkPackage *         pk_package_sack_get_index           (PkPackageSack *sack,
                                                         guint i);

Gets a packages from the sack

sack :

a valid PkPackageSack instance

i :

the instance to get

Returns :

a PkPackage instance

pk_package_sack_clear ()

void                pk_package_sack_clear               (PkPackageSack *sack);

Empty all the packages from the sack

sack :

a valid PkPackageSack instance

pk_package_sack_get_ids ()

gchar **            pk_package_sack_get_ids             (PkPackageSack *sack);

Returns all the Package IDs in the sack

sack :

a valid PkPackageSack instance

Returns :

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

pk_package_sack_sort_package_id ()

void                pk_package_sack_sort_package_id     (PkPackageSack *sack);

Sorts by Package ID

sack :

a valid PkPackageSack instance

pk_package_sack_sort_info ()

void                pk_package_sack_sort_info           (PkPackageSack *sack);

Sorts by PkInfoEnum

sack :

a valid PkPackageSack instance

pk_package_sack_sort_summary ()

void                pk_package_sack_sort_summary        (PkPackageSack *sack);

Sorts by summary

sack :

a valid PkPackageSack instance

pk_package_sack_add_package ()

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

Adds a package to the sack.

sack :

a valid PkPackageSack instance

package :

a valid PkPackage instance

Returns :

TRUE if the package was added to the sack

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.

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

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.

sack :

a valid PkPackageSack instance

package :

a valid PkPackage instance

Returns :

TRUE if the package was removed from the sack

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.

sack :

a valid PkPackageSack instance

package_id :

a package_id descriptor

Returns :

TRUE if the package was removed from the sack

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.

sack :

a valid PkPackageSack instance

package_id :

a package_id descriptor

Returns :

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

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.

sack :

a valid PkPackageSack instance

Returns :

the size in bytes

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.

sack :

a valid PkPackageSack instance

res :

the GAsyncResult

error :

A GError or NULL

Returns :

TRUE for success

pk_package_sack_merge_resolve_async ()

void                pk_package_sack_merge_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.

sack :

a valid PkPackageSack instance

cancellable :

a GCancellable or NULL

progress_callback :

the function to run when the progress changes

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_merge_details_async ()

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

Merges in details about packages.

sack :

a valid PkPackageSack instance

cancellable :

a GCancellable or NULL

progress_callback :

the function to run when the progress changes

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_merge_update_detail_async ()

void                pk_package_sack_merge_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.

sack :

a valid PkPackageSack instance

cancellable :

a GCancellable or NULL

progress_callback :

the function to run when the progress changes

progress_user_data :

data to pass to progress_callback

callback :

the function to run on completion

user_data :

the data to pass to callback