PkPackageSack

PkPackageSack — A sack of packages that can be manipulated

Synopsis

#define             PK_PACKAGE_SACK_TYPE_ERROR
                    PkPackageSackPrivate;
                    PkPackageSack;
                    PkPackageSackClass;
                    PkPackageSackResults;
enum                PkPackageSackSortType;
PkPackageSack *     pk_package_sack_new                 (void);
void                pk_package_sack_test                (gpointer user_data);
gboolean            (*PkPackageSackFilterFunc)          (PkPackage *package,
                                                         gpointer user_data);
void                pk_package_sack_clear               (PkPackageSack *sack);
gchar **            pk_package_sack_get_ids             (PkPackageSack *sack);
guint               pk_package_sack_get_size            (PkPackageSack *sack);
GPtrArray *         pk_package_sack_get_array           (PkPackageSack *sack);
void                pk_package_sack_sort                (PkPackageSack *sack,
                                                         PkPackageSackSortType type);
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);
gboolean            pk_package_sack_remove_by_filter    (PkPackageSack *sack,
                                                         PkPackageSackFilterFunc filter_cb,
                                                         gpointer user_data);
PkPackage *         pk_package_sack_find_by_id          (PkPackageSack *sack,
                                                         const gchar *package_id);
PkPackageSack *     pk_package_sack_filter_by_info      (PkPackageSack *sack,
                                                         PkInfoEnum info);
PkPackageSack *     pk_package_sack_filter              (PkPackageSack *sack,
                                                         PkPackageSackFilterFunc filter_cb,
                                                         gpointer user_data);
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_resolve_async       (PkPackageSack *sack,
                                                         GCancellable *cancellable,
                                                         PkProgressCallback progress_callback,
                                                         gpointer progress_user_data,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
void                pk_package_sack_get_details_async   (PkPackageSack *sack,
                                                         GCancellable *cancellable,
                                                         PkProgressCallback progress_callback,
                                                         gpointer progress_user_data,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
void                pk_package_sack_get_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_TYPE_ERROR

#define PK_PACKAGE_SACK_TYPE_ERROR (pk_package_sack_error_get_type ())


PkPackageSackPrivate

typedef struct _PkPackageSackPrivate PkPackageSackPrivate;

Private PkPackageSack data


PkPackageSack

typedef struct _PkPackageSack PkPackageSack;


PkPackageSackClass

typedef struct {
	GObjectClass parent_class;

	/* signals */
	void		(* changed)			(PkPackageSack *sack);
	/* padding for future expansion */
	void (*_pk_reserved1) (void);
	void (*_pk_reserved2) (void);
	void (*_pk_reserved3) (void);
	void (*_pk_reserved4) (void);
	void (*_pk_reserved5) (void);
} PkPackageSackClass;


PkPackageSackResults

typedef struct _PkPackageSackResults PkPackageSackResults;


enum PkPackageSackSortType

typedef enum {
	PK_PACKAGE_SACK_SORT_TYPE_NAME,
	PK_PACKAGE_SACK_SORT_TYPE_INFO,
	PK_PACKAGE_SACK_SORT_TYPE_PACKAGE_ID,
	PK_PACKAGE_SACK_SORT_TYPE_SUMMARY,
	PK_PACKAGE_SACK_SORT_TYPE_LAST
} PkPackageSackSortType;


pk_package_sack_new ()

PkPackageSack *     pk_package_sack_new                 (void);

Returns :

a new PkPackageSack object.

Since 0.5.2


pk_package_sack_test ()

void                pk_package_sack_test                (gpointer user_data);

user_data :


PkPackageSackFilterFunc ()

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

package :

user_data :

Returns :


pk_package_sack_clear ()

void                pk_package_sack_clear               (PkPackageSack *sack);

Empty all the packages from the sack

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

sack :

a valid PkPackageSack instance

Returns :

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

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

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

sack :

a valid PkPackageSack instance

Returns :

a GPtrArray, free with g_ptr_array_unref()

Since 0.6.1


pk_package_sack_sort ()

void                pk_package_sack_sort                (PkPackageSack *sack,
                                                         PkPackageSackSortType type);

sack :

type :


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

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.

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_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

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.

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.

sack :

a valid PkPackageSack instance

filter_cb :

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

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.

sack :

a valid PkPackageSack instance

package_id :

a package_id descriptor

Returns :

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

Since 0.5.2


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.

sack :

a valid PkPackageSack instance

info :

a PkInfoEnum value to match

Returns :

a new PkPackageSack, free with g_object_unref()

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.

sack :

a valid PkPackageSack instance

filter_cb :

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

user_data :

user data to pass to filter_cb

Returns :

a new PkPackageSack, free with g_object_unref()

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.

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.

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_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.

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

Since 0.5.2


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.

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_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.

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

Since 0.5.2