pk-client

pk-client — GObject class for PackageKit client access

Synopsis




#define             PK_CLIENT_PERCENTAGE_INVALID
typedef             PkClientPrivate;
PkClient*           pk_client_new                       (void);
gboolean            pk_client_set_tid                   (PkClient *client,
                                                         const gchar *tid);
gboolean            pk_client_set_promiscuous           (PkClient *client,
                                                         gboolean enabled);
gchar*              pk_client_get_tid                   (PkClient *client);
gboolean            pk_client_set_use_buffer            (PkClient *client,
                                                         gboolean use_buffer);
gboolean            pk_client_get_use_buffer            (PkClient *client);
gboolean            pk_client_get_status                (PkClient *client,
                                                         PkStatusEnum *status);
gboolean            pk_client_get_role                  (PkClient *client,
                                                         PkRoleEnum *role,
                                                         gchar **package_id);
gboolean            pk_client_get_progress              (PkClient *client,
                                                         guint *percentage,
                                                         guint *subpercentage,
                                                         guint *elapsed,
                                                         guint *remaining);
gboolean            pk_client_get_package               (PkClient *client,
                                                         gchar **package_id);
gboolean            pk_client_cancel                    (PkClient *client);
gboolean            pk_client_get_updates               (PkClient *client);
gboolean            pk_client_update_system             (PkClient *client);
gboolean            pk_client_search_name               (PkClient *client,
                                                         const gchar *filter,
                                                         const gchar *search);
gboolean            pk_client_search_details            (PkClient *client,
                                                         const gchar *filter,
                                                         const gchar *search);
gboolean            pk_client_search_group              (PkClient *client,
                                                         const gchar *filter,
                                                         const gchar *search);
gboolean            pk_client_search_file               (PkClient *client,
                                                         const gchar *filter,
                                                         const gchar *search);
gboolean            pk_client_get_depends               (PkClient *client,
                                                         const gchar *package_id,
                                                         gboolean recursive);
gboolean            pk_client_get_update_detail         (PkClient *client,
                                                         const gchar *package_id);
gboolean            pk_client_get_requires              (PkClient *client,
                                                         const gchar *package_id,
                                                         gboolean recursive);
gboolean            pk_client_get_description           (PkClient *client,
                                                         const gchar *package_id);
gboolean            pk_client_get_files                 (PkClient *client,
                                                         const gchar *package_id);
gboolean            pk_client_remove_package            (PkClient *client,
                                                         const gchar *package,
                                                         gboolean allow_deps);
gboolean            pk_client_refresh_cache             (PkClient *client,
                                                         gboolean force);
gboolean            pk_client_install_package           (PkClient *client,
                                                         const gchar *package_id);
gboolean            pk_client_update_package            (PkClient *client,
                                                         const gchar *package_id);
gboolean            pk_client_install_file              (PkClient *client,
                                                         const gchar *full_path);
gboolean            pk_client_resolve                   (PkClient *client,
                                                         const gchar *filter,
                                                         const gchar *package);
gboolean            pk_client_rollback                  (PkClient *client,
                                                         const gchar *transaction_id);
gboolean            pk_client_requeue                   (PkClient *client);
gboolean            pk_client_get_repo_list             (PkClient *client);
gboolean            pk_client_repo_enable               (PkClient *client,
                                                         const gchar *repo_id,
                                                         gboolean enabled);
gboolean            pk_client_repo_set_data             (PkClient *client,
                                                         const gchar *repo_id,
                                                         const gchar *parameter,
                                                         const gchar *value);
guint               pk_client_package_buffer_get_size   (PkClient *client);
PkPackageItem*      pk_client_package_buffer_get_item   (PkClient *client,
                                                         guint item);
PkRestartEnum       pk_client_get_require_restart       (PkClient *client);
PkEnumList*         pk_client_get_actions               (PkClient *client);
PkEnumList*         pk_client_get_filters               (PkClient *client);
PkEnumList*         pk_client_get_groups                (PkClient *client);
gboolean            pk_client_reset                     (PkClient *client);
gboolean            pk_client_get_old_transactions      (PkClient *client,
                                                         guint number);
gboolean            pk_client_get_backend_detail        (PkClient *client,
                                                         gchar **name,
                                                         gchar **author);
gboolean            pk_client_get_time_since_action     (PkClient *client,
                                                         PkRoleEnum role,
                                                         guint *seconds);
gboolean            pk_client_is_caller_active          (PkClient *client,
                                                         gboolean *is_active);

Description

This file contains a nice GObject to use for accessing PackageKit

Details

PK_CLIENT_PERCENTAGE_INVALID

#define PK_CLIENT_PERCENTAGE_INVALID	101

The unknown percentage value


PkClientPrivate

typedef struct PkClientPrivate PkClientPrivate;

Private PkClient data


pk_client_new ()

PkClient*           pk_client_new                       (void);

Returns :


pk_client_set_tid ()

gboolean            pk_client_set_tid                   (PkClient *client,
                                                         const gchar *tid);

This method sets the transaction ID that should be used for the DBUS method and then watched for any callback signals. You cannot call pk_client_set_tid multiple times for one instance.

client :

a valid PkClient instance

tid :

a transaction id

Returns :

TRUE if set correctly

pk_client_set_promiscuous ()

gboolean            pk_client_set_promiscuous           (PkClient *client,
                                                         gboolean enabled);

If we set the client promiscuous then it listens to all signals from all transactions. You can't set promiscuous mode on an already set tid instance.

client :

a valid PkClient instance

enabled :

if we should set promiscuous mode on

Returns :

TRUE if we set the mode okay.

pk_client_get_tid ()

gchar*              pk_client_get_tid                   (PkClient *client);

client :

a valid PkClient instance

Returns :

The transaction_id we are using for this client, or NULL

pk_client_set_use_buffer ()

gboolean            pk_client_set_use_buffer            (PkClient *client,
                                                         gboolean use_buffer);

If the package buffer is enabled then after the transaction has completed then the package list can be retrieved in one go, rather than processing each package request async. If this is not set true explicitly, then pk_client_package_buffer_get_size will always return zero items.

This is not forced on as there may be significant overhead if the list contains many hundreds of items.

client :

a valid PkClient instance

use_buffer :

if we should use the package buffer

Returns :

TRUE if the package buffer was enabled

pk_client_get_use_buffer ()

gboolean            pk_client_get_use_buffer            (PkClient *client);

client :

a valid PkClient instance

Returns :

TRUE if the package buffer is enabled

pk_client_get_status ()

gboolean            pk_client_get_status                (PkClient *client,
                                                         PkStatusEnum *status);

client :

status :

Returns :


pk_client_get_role ()

gboolean            pk_client_get_role                  (PkClient *client,
                                                         PkRoleEnum *role,
                                                         gchar **package_id);

client :

role :

package_id :

Returns :


pk_client_get_progress ()

gboolean            pk_client_get_progress              (PkClient *client,
                                                         guint *percentage,
                                                         guint *subpercentage,
                                                         guint *elapsed,
                                                         guint *remaining);

client :

percentage :

subpercentage :

elapsed :

remaining :

Returns :


pk_client_get_package ()

gboolean            pk_client_get_package               (PkClient *client,
                                                         gchar **package_id);

client :

package_id :

Returns :


pk_client_cancel ()

gboolean            pk_client_cancel                    (PkClient *client);

client :

Returns :


pk_client_get_updates ()

gboolean            pk_client_get_updates               (PkClient *client);

client :

Returns :


pk_client_update_system ()

gboolean            pk_client_update_system             (PkClient *client);

client :

Returns :


pk_client_search_name ()

gboolean            pk_client_search_name               (PkClient *client,
                                                         const gchar *filter,
                                                         const gchar *search);

client :

filter :

search :

Returns :


pk_client_search_details ()

gboolean            pk_client_search_details            (PkClient *client,
                                                         const gchar *filter,
                                                         const gchar *search);

client :

filter :

search :

Returns :


pk_client_search_group ()

gboolean            pk_client_search_group              (PkClient *client,
                                                         const gchar *filter,
                                                         const gchar *search);

client :

filter :

search :

Returns :


pk_client_search_file ()

gboolean            pk_client_search_file               (PkClient *client,
                                                         const gchar *filter,
                                                         const gchar *search);

client :

filter :

search :

Returns :


pk_client_get_depends ()

gboolean            pk_client_get_depends               (PkClient *client,
                                                         const gchar *package_id,
                                                         gboolean recursive);

client :

package_id :

recursive :

Returns :


pk_client_get_update_detail ()

gboolean            pk_client_get_update_detail         (PkClient *client,
                                                         const gchar *package_id);

client :

package_id :

Returns :


pk_client_get_requires ()

gboolean            pk_client_get_requires              (PkClient *client,
                                                         const gchar *package_id,
                                                         gboolean recursive);

client :

package_id :

recursive :

Returns :


pk_client_get_description ()

gboolean            pk_client_get_description           (PkClient *client,
                                                         const gchar *package_id);

client :

package_id :

Returns :


pk_client_get_files ()

gboolean            pk_client_get_files                 (PkClient *client,
                                                         const gchar *package_id);

client :

package_id :

Returns :


pk_client_remove_package ()

gboolean            pk_client_remove_package            (PkClient *client,
                                                         const gchar *package,
                                                         gboolean allow_deps);

client :

package :

allow_deps :

Returns :


pk_client_refresh_cache ()

gboolean            pk_client_refresh_cache             (PkClient *client,
                                                         gboolean force);

client :

force :

Returns :


pk_client_install_package ()

gboolean            pk_client_install_package           (PkClient *client,
                                                         const gchar *package_id);

client :

package_id :

Returns :


pk_client_update_package ()

gboolean            pk_client_update_package            (PkClient *client,
                                                         const gchar *package_id);

client :

package_id :

Returns :


pk_client_install_file ()

gboolean            pk_client_install_file              (PkClient *client,
                                                         const gchar *full_path);

client :

full_path :

Returns :


pk_client_resolve ()

gboolean            pk_client_resolve                   (PkClient *client,
                                                         const gchar *filter,
                                                         const gchar *package);

client :

filter :

package :

Returns :


pk_client_rollback ()

gboolean            pk_client_rollback                  (PkClient *client,
                                                         const gchar *transaction_id);

client :

transaction_id :

Returns :


pk_client_requeue ()

gboolean            pk_client_requeue                   (PkClient *client);

We might need to requeue if we want to take an existing PkClient instance and re-run it after completion. Doing this allows us to do things like re-searching when the output list may have changed state.

client :

a valid PkClient instance

Returns :

TRUE if we could requeue the client

pk_client_get_repo_list ()

gboolean            pk_client_get_repo_list             (PkClient *client);

client :

Returns :


pk_client_repo_enable ()

gboolean            pk_client_repo_enable               (PkClient *client,
                                                         const gchar *repo_id,
                                                         gboolean enabled);

client :

repo_id :

enabled :

Returns :


pk_client_repo_set_data ()

gboolean            pk_client_repo_set_data             (PkClient *client,
                                                         const gchar *repo_id,
                                                         const gchar *parameter,
                                                         const gchar *value);

client :

repo_id :

parameter :

value :

Returns :


pk_client_package_buffer_get_size ()

guint               pk_client_package_buffer_get_size   (PkClient *client);

client :

a valid PkClient instance

Returns :

The size of the package buffer.

pk_client_package_buffer_get_item ()

PkPackageItem*      pk_client_package_buffer_get_item   (PkClient *client,
                                                         guint item);

client :

a valid PkClient instance

item :

the item in the package buffer

Returns :

The PkPackageItem or NULL if not found or invalid

pk_client_get_require_restart ()

PkRestartEnum       pk_client_get_require_restart       (PkClient *client);

This method returns the 'worst' restart of all the transactions. It is needed as multiple sub-transactions may emit require-restart with different values, and we always want to get the most invasive of all.

For instance, if a transaction emits RequireRestart(system) and then RequireRestart(session) then pk_client_get_require_restart will return system as a session restart is implied with a system restart.

client :

a valid PkClient instance

Returns :

a PkRestartEnum value, e.g. PK_RESTART_ENUM_SYSTEM

pk_client_get_actions ()

PkEnumList*         pk_client_get_actions               (PkClient *client);

client :

Returns :


pk_client_get_filters ()

PkEnumList*         pk_client_get_filters               (PkClient *client);

client :

Returns :


pk_client_get_groups ()

PkEnumList*         pk_client_get_groups                (PkClient *client);

client :

Returns :


pk_client_reset ()

gboolean            pk_client_reset                     (PkClient *client);

Resetting the client way be needed if we canceled the request without waiting for ::finished, or if we want to reuse the PkClient without unreffing and creating it again.

client :

a valid PkClient instance

Returns :

TRUE if we reset the client

pk_client_get_old_transactions ()

gboolean            pk_client_get_old_transactions      (PkClient *client,
                                                         guint number);

client :

number :

Returns :


pk_client_get_backend_detail ()

gboolean            pk_client_get_backend_detail        (PkClient *client,
                                                         gchar **name,
                                                         gchar **author);

client :

name :

author :

Returns :


pk_client_get_time_since_action ()

gboolean            pk_client_get_time_since_action     (PkClient *client,
                                                         PkRoleEnum role,
                                                         guint *seconds);

client :

role :

seconds :

Returns :


pk_client_is_caller_active ()

gboolean            pk_client_is_caller_active          (PkClient *client,
                                                         gboolean *is_active);

client :

is_active :

Returns :