PkControl

PkControl — An abstract control access GObject

Synopsis

#define             PK_CONTROL_ERROR
#define             PK_CONTROL_TYPE_ERROR
                    PkControlPrivate;
enum                PkControlError;
                    PkControl;
GQuark              pk_control_error_quark              (void);
PkControl *         pk_control_new                      (void);
gboolean            pk_control_allocate_transaction_id  (PkControl *control,
                                                         gchar **tid,
                                                         GError **error);
gboolean            pk_control_set_proxy                (PkControl *control,
                                                         const gchar *proxy_http,
                                                         const gchar *proxy_ftp,
                                                         GError **error);
PkBitfield          pk_control_get_actions              (PkControl *control,
                                                         GError **error);
PkBitfield          pk_control_get_filters              (PkControl *control,
                                                         GError **error);
PkBitfield          pk_control_get_groups               (PkControl *control,
                                                         GError **error);
gchar **            pk_control_get_mime_types           (PkControl *control,
                                                         GError **error);
gchar *             pk_control_get_daemon_state         (PkControl *control,
                                                         GError **error);
PkNetworkEnum       pk_control_get_network_state        (PkControl *control,
                                                         GError **error);
gboolean            pk_control_get_backend_detail       (PkControl *control,
                                                         gchar **name,
                                                         gchar **author,
                                                         GError **error);
gboolean            pk_control_get_time_since_action    (PkControl *control,
                                                         PkRoleEnum role,
                                                         guint *seconds,
                                                         GError **error);
gboolean            pk_control_transaction_list_print   (PkControl *control);
const gchar **      pk_control_transaction_list_get     (PkControl *control);

Object Hierarchy

  GObject
   +----PkControl

Properties

  "version-major"            guint                 : Read / Write
  "version-micro"            guint                 : Read / Write
  "version-minor"            guint                 : Read / Write

Signals

  "locked"                                         : Run Last
  "network-state-changed"                          : Run Last
  "repo-list-changed"                              : Run Last
  "restart-schedule"                               : Run Last
  "transaction-list-changed"                       : Run Last
  "updates-changed"                                : Run Last

Description

Details

PK_CONTROL_ERROR

#define PK_CONTROL_ERROR	(pk_control_error_quark ())


PK_CONTROL_TYPE_ERROR

#define PK_CONTROL_TYPE_ERROR	(pk_control_error_get_type ())


PkControlPrivate

typedef struct _PkControlPrivate PkControlPrivate;

Private PkControl data


enum PkControlError

typedef enum
{
	PK_CONTROL_ERROR_FAILED,
	PK_CONTROL_ERROR_CANNOT_START_DAEMON
} PkControlError;

Errors that can be thrown

PK_CONTROL_ERROR_FAILED

the transaction failed for an unknown reason

PK_CONTROL_ERROR_CANNOT_START_DAEMON


PkControl

typedef struct _PkControl PkControl;


pk_control_error_quark ()

GQuark              pk_control_error_quark              (void);

We are a clever GObject that sets errors

Returns :

Our personal error quark.

pk_control_new ()

PkControl *         pk_control_new                      (void);

Returns :

a new PkControl object.

pk_control_allocate_transaction_id ()

gboolean            pk_control_allocate_transaction_id  (PkControl *control,
                                                         gchar **tid,
                                                         GError **error);

We have to create a transaction ID then use it, as a one-step constructor is inherently racey.

control :

a valid PkControl instance

tid :

error :

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

Returns :

TRUE if we allocated a TID.

pk_control_set_proxy ()

gboolean            pk_control_set_proxy                (PkControl *control,
                                                         const gchar *proxy_http,
                                                         const gchar *proxy_ftp,
                                                         GError **error);

Set a proxy on the PK daemon

control :

a valid PkControl instance

proxy_http :

a HTTP proxy string such as "username:passwordserver.lan:8080"

proxy_ftp :

a FTP proxy string such as "server.lan:8080"

error :

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

Returns :

if we set the proxy successfully

pk_control_get_actions ()

PkBitfield          pk_control_get_actions              (PkControl *control,
                                                         GError **error);

Actions are roles that the daemon can do with the current backend

control :

a valid PkControl instance

error :

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

Returns :

an enumerated list of the actions the backend supports

pk_control_get_filters ()

PkBitfield          pk_control_get_filters              (PkControl *control,
                                                         GError **error);

Filters are how the backend can specify what type of package is returned.

control :

a valid PkControl instance

error :

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

Returns :

an enumerated list of the filters the backend supports

pk_control_get_groups ()

PkBitfield          pk_control_get_groups               (PkControl *control,
                                                         GError **error);

The group list is enumerated so it can be localised and have deep integration with desktops. This method allows a frontend to only display the groups that are supported.

control :

a valid PkControl instance

error :

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

Returns :

an enumerated list of the groups the backend supports

pk_control_get_mime_types ()

gchar **            pk_control_get_mime_types           (PkControl *control,
                                                         GError **error);

The MIME list is the supported package formats.

control :

a valid PkControl instance

error :

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

Returns :

an strv list of the formats the backend supports, or NULL if unknown

pk_control_get_daemon_state ()

gchar *             pk_control_get_daemon_state         (PkControl *control,
                                                         GError **error);

The engine state debugging output

control :

a valid PkControl instance

error :

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

Returns :

a string of debugging data of unspecified format

pk_control_get_network_state ()

PkNetworkEnum       pk_control_get_network_state        (PkControl *control,
                                                         GError **error);

control :

a valid PkControl instance

error :

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

Returns :

an enumerated network state

pk_control_get_backend_detail ()

gboolean            pk_control_get_backend_detail       (PkControl *control,
                                                         gchar **name,
                                                         gchar **author,
                                                         GError **error);

The backend detail is useful for the pk-backend-status program, or for automatic bugreports.

control :

a valid PkControl instance

name :

the name of the backend

author :

the author of the backend

error :

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

Returns :

TRUE if the daemon serviced the request

pk_control_get_time_since_action ()

gboolean            pk_control_get_time_since_action    (PkControl *control,
                                                         PkRoleEnum role,
                                                         guint *seconds,
                                                         GError **error);

We may want to know how long it has been since we refreshed the cache or retrieved the update list.

control :

a valid PkControl instance

role :

the role we are querying

seconds :

the number of seconds since the request was completed

error :

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

Returns :

TRUE if the daemon serviced the request

pk_control_transaction_list_print ()

gboolean            pk_control_transaction_list_print   (PkControl *control);

control :

Returns :


pk_control_transaction_list_get ()

const gchar **      pk_control_transaction_list_get     (PkControl *control);

control :

Returns :

Property Details

The "version-major" property

  "version-major"            guint                 : Read / Write

Default value: 0


The "version-micro" property

  "version-micro"            guint                 : Read / Write

Default value: 0


The "version-minor" property

  "version-minor"            guint                 : Read / Write

Default value: 0

Signal Details

The "locked" signal

void                user_function                      (PkControl *control,
                                                        gboolean   arg1,
                                                        gpointer   user_data)      : Run Last

The ::locked signal is emitted when the backend instance has been locked by PackageKit. This may mean that other native package tools will not work.

control :

the PkControl instance that emitted the signal

user_data :

user data set when the signal handler was connected.

The "network-state-changed" signal

void                user_function                      (PkControl *control,
                                                        guint      arg1,
                                                        gpointer   user_data)      : Run Last

The ::network-state-changed signal is emitted when the network has changed speed or connections state.

control :

the PkControl instance that emitted the signal

user_data :

user data set when the signal handler was connected.

The "repo-list-changed" signal

void                user_function                      (PkControl *control,
                                                        gpointer   user_data)      : Run Last

The ::repo-list-changed signal is emitted when the repo list may have changed and the control program may have to update some UI.

control :

the PkControl instance that emitted the signal

user_data :

user data set when the signal handler was connected.

The "restart-schedule" signal

void                user_function                      (PkControl *control,
                                                        gpointer   user_data)      : Run Last

The ::restart_schedule signal is emitted when the packagekitd service has been restarted because it has been upgraded. Client programs should reload themselves when it is convenient to do so, as old client tools may not be compatable with the new daemon.

control :

the PkControl instance that emitted the signal

user_data :

user data set when the signal handler was connected.

The "transaction-list-changed" signal

void                user_function                      (PkControl *control,
                                                        gpointer   user_data)      : Run Last

The ::transaction-list-changed signal is emitted when the list of transactions handled by the daemon is changed.

control :

the PkControl instance that emitted the signal

user_data :

user data set when the signal handler was connected.

The "updates-changed" signal

void                user_function                      (PkControl *control,
                                                        gpointer   user_data)      : Run Last

The ::updates-changed signal is emitted when the update list may have changed and the control program may have to update some UI.

control :

the PkControl instance that emitted the signal

user_data :

user data set when the signal handler was connected.