## pk-enum pk-enum — Functions for converting strings to enum and vice-versa |

## Synopsis

    enum                PkAuthorizeEnum;
    enum                PkDistroUpgradeEnum;
                        PkEnumMatch;
    enum                PkErrorEnum;
    enum                PkExitEnum;
    enum                PkFilterEnum;
    enum                PkGroupEnum;
    enum                PkInfoEnum;
    enum                PkMediaTypeEnum;
    enum                PkMessageEnum;
    enum                PkNetworkEnum;
    enum                PkProvidesEnum;
    enum                PkRestartEnum;
    enum                PkRoleEnum;
    enum                PkSigTypeEnum;
    enum                PkStatusEnum;
    enum                PkUpdateStateEnum;
    enum                PkUpgradeKindEnum;
    PkAuthorizeEnum     pk_authorize_type_enum_from_string  (const gchar *authorize_type);
    const gchar *       pk_authorize_type_enum_to_string    (PkAuthorizeEnum authorize_type);
    PkDistroUpgradeEnum pk_distro_upgrade_enum_from_string  (const gchar *upgrade);
    const gchar *       pk_distro_upgrade_enum_to_string    (PkDistroUpgradeEnum upgrade);
    const gchar *       pk_enum_find_string                 (const PkEnumMatch *table,
                                                             guint value);
    guint               pk_enum_find_value                  (const PkEnumMatch *table,
                                                             const gchar *string);
    void                pk_enum_test                        (gpointer user_data);
    PkErrorEnum         pk_error_enum_from_string           (const gchar *code);
    const gchar *       pk_error_enum_to_string             (PkErrorEnum code);
    PkExitEnum          pk_exit_enum_from_string            (const gchar *exit);
    const gchar *       pk_exit_enum_to_string              (PkExitEnum exit);
    PkFilterEnum        pk_filter_enum_from_string          (const gchar *filter);
    const gchar *       pk_filter_enum_to_string            (PkFilterEnum filter);
    PkGroupEnum         pk_group_enum_from_string           (const gchar *group);
    const gchar *       pk_group_enum_to_string             (PkGroupEnum group);
    PkInfoEnum          pk_info_enum_from_string            (const gchar *info);
    const gchar *       pk_info_enum_to_localised_past      (PkInfoEnum info);
    const gchar *       pk_info_enum_to_localised_present   (PkInfoEnum info);
    const gchar *       pk_info_enum_to_string              (PkInfoEnum info);
    PkMediaTypeEnum     pk_media_type_enum_from_string      (const gchar *media_type);
    const gchar *       pk_media_type_enum_to_string        (PkMediaTypeEnum media_type);
    PkMessageEnum       pk_message_enum_from_string         (const gchar *message);
    const gchar *       pk_message_enum_to_string           (PkMessageEnum message);
    PkNetworkEnum       pk_network_enum_from_string         (const gchar *network);
    const gchar *       pk_network_enum_to_string           (PkNetworkEnum network);
    PkProvidesEnum      pk_provides_enum_from_string        (const gchar *provides);
    const gchar *       pk_provides_enum_to_string          (PkProvidesEnum provides);
    PkRestartEnum       pk_restart_enum_from_string         (const gchar *restart);
    const gchar *       pk_restart_enum_to_string           (PkRestartEnum restart);
    PkRoleEnum          pk_role_enum_from_string            (const gchar *role);
    const gchar *       pk_role_enum_to_localised_present   (PkRoleEnum role);
    const gchar *       pk_role_enum_to_string              (PkRoleEnum role);
    PkSigTypeEnum       pk_sig_type_enum_from_string        (const gchar *sig_type);
    const gchar *       pk_sig_type_enum_to_string          (PkSigTypeEnum sig_type);
    PkStatusEnum        pk_status_enum_from_string          (const gchar *status);
    const gchar *       pk_status_enum_to_localised_text    (PkStatusEnum status);
    const gchar *       pk_status_enum_to_string            (PkStatusEnum status);
    PkUpdateStateEnum   pk_update_state_enum_from_string    (const gchar *update_state);
    const gchar *       pk_update_state_enum_to_string      (PkUpdateStateEnum update_state);
    PkUpgradeKindEnum   pk_upgrade_kind_enum_from_string    (const gchar *upgrade_kind);
    const gchar *       pk_upgrade_kind_enum_to_string      (PkUpgradeKindEnum upgrade_kind);

## Object Hierarchy

      GEnum
       +----PkAuthorizeEnum

      GEnum
       +----PkDistroUpgradeEnum

      GEnum
       +----PkErrorEnum

      GEnum
       +----PkExitEnum

      GEnum
       +----PkFilterEnum

      GEnum
       +----PkGroupEnum

      GEnum
       +----PkInfoEnum

      GEnum
       +----PkMediaTypeEnum

      GEnum
       +----PkMessageEnum

      GEnum
       +----PkNetworkEnum

      GEnum
       +----PkProvidesEnum

      GEnum
       +----PkRestartEnum

      GEnum
       +----PkRoleEnum

      GEnum
       +----PkSigTypeEnum

      GEnum
       +----PkStatusEnum

      GEnum
       +----PkUpdateStateEnum

      GEnum
       +----PkUpgradeKindEnum

## Description

This file contains functions to convert to and from enumerated types.

## Details

### enum PkAuthorizeEnum

    typedef enum {
    	PK_AUTHORIZE_ENUM_UNKNOWN,
    	PK_AUTHORIZE_ENUM_YES,
    	PK_AUTHORIZE_ENUM_NO,
    	PK_AUTHORIZE_ENUM_INTERACTIVE,
    	PK_AUTHORIZE_ENUM_LAST
    } PkAuthorizeEnum;

The authorization result

### enum PkDistroUpgradeEnum

    typedef enum {
    	PK_DISTRO_UPGRADE_ENUM_UNKNOWN,
    	PK_DISTRO_UPGRADE_ENUM_STABLE,
    	PK_DISTRO_UPGRADE_ENUM_UNSTABLE,
    	PK_DISTRO_UPGRADE_ENUM_LAST
    } PkDistroUpgradeEnum;

The distro upgrade status

### PkEnumMatch

    typedef struct {
    	guint		 value;
    	const gchar *string;
    } PkEnumMatch;

Matching an enumerated type to a string

### enum PkErrorEnum

    typedef enum {
    	PK_ERROR_ENUM_UNKNOWN,
    	PK_ERROR_ENUM_OOM,
    	PK_ERROR_ENUM_NO_NETWORK,
    	PK_ERROR_ENUM_NOT_SUPPORTED,
    	PK_ERROR_ENUM_INTERNAL_ERROR,
    	PK_ERROR_ENUM_GPG_FAILURE,
    	PK_ERROR_ENUM_PACKAGE_ID_INVALID,
    	PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED,
    	PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
    	PK_ERROR_ENUM_PACKAGE_ALREADY_INSTALLED,
    	PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED,
    	PK_ERROR_ENUM_GROUP_NOT_FOUND,
    	PK_ERROR_ENUM_GROUP_LIST_INVALID,
    	PK_ERROR_ENUM_DEP_RESOLUTION_FAILED,
    	PK_ERROR_ENUM_FILTER_INVALID,
    	PK_ERROR_ENUM_CREATE_THREAD_FAILED,
    	PK_ERROR_ENUM_TRANSACTION_ERROR,
    	PK_ERROR_ENUM_TRANSACTION_CANCELLED,
    	PK_ERROR_ENUM_NO_CACHE,
    	PK_ERROR_ENUM_REPO_NOT_FOUND,
    	PK_ERROR_ENUM_CANNOT_REMOVE_SYSTEM_PACKAGE,
    	PK_ERROR_ENUM_PROCESS_KILL,
    	PK_ERROR_ENUM_FAILED_INITIALIZATION,
    	PK_ERROR_ENUM_FAILED_FINALISE,
    	PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
    	PK_ERROR_ENUM_CANNOT_CANCEL,
    	PK_ERROR_ENUM_CANNOT_GET_LOCK,
    	PK_ERROR_ENUM_NO_PACKAGES_TO_UPDATE,
    	PK_ERROR_ENUM_CANNOT_WRITE_REPO_CONFIG,
    	PK_ERROR_ENUM_LOCAL_INSTALL_FAILED,
    	PK_ERROR_ENUM_BAD_GPG_SIGNATURE,
    	PK_ERROR_ENUM_MISSING_GPG_SIGNATURE,
    	PK_ERROR_ENUM_CANNOT_INSTALL_SOURCE_PACKAGE,
    	PK_ERROR_ENUM_REPO_CONFIGURATION_ERROR,
    	PK_ERROR_ENUM_NO_LICENSE_AGREEMENT,
    	PK_ERROR_ENUM_FILE_CONFLICTS,
    	PK_ERROR_ENUM_PACKAGE_CONFLICTS,
    	PK_ERROR_ENUM_REPO_NOT_AVAILABLE,
    	PK_ERROR_ENUM_INVALID_PACKAGE_FILE,
    	PK_ERROR_ENUM_PACKAGE_INSTALL_BLOCKED,
    	PK_ERROR_ENUM_PACKAGE_CORRUPT,
    	PK_ERROR_ENUM_ALL_PACKAGES_ALREADY_INSTALLED,
    	PK_ERROR_ENUM_FILE_NOT_FOUND,
    	PK_ERROR_ENUM_NO_MORE_MIRRORS_TO_TRY,
    	PK_ERROR_ENUM_NO_DISTRO_UPGRADE_DATA,
    	PK_ERROR_ENUM_INCOMPATIBLE_ARCHITECTURE,
    	PK_ERROR_ENUM_NO_SPACE_ON_DEVICE,
    	PK_ERROR_ENUM_MEDIA_CHANGE_REQUIRED,
    	PK_ERROR_ENUM_NOT_AUTHORIZED,
    	PK_ERROR_ENUM_UPDATE_NOT_FOUND,
    	PK_ERROR_ENUM_CANNOT_INSTALL_REPO_UNSIGNED,
    	PK_ERROR_ENUM_CANNOT_UPDATE_REPO_UNSIGNED,
    	PK_ERROR_ENUM_CANNOT_GET_FILELIST,
    	PK_ERROR_ENUM_CANNOT_GET_REQUIRES,
    	PK_ERROR_ENUM_CANNOT_DISABLE_REPOSITORY,
    	PK_ERROR_ENUM_RESTRICTED_DOWNLOAD,
    	PK_ERROR_ENUM_PACKAGE_FAILED_TO_CONFIGURE,
    	PK_ERROR_ENUM_PACKAGE_FAILED_TO_BUILD,
    	PK_ERROR_ENUM_PACKAGE_FAILED_TO_INSTALL,
    	PK_ERROR_ENUM_PACKAGE_FAILED_TO_REMOVE,
    	PK_ERROR_ENUM_UPDATE_FAILED_DUE_TO_RUNNING_PROCESS,
    	PK_ERROR_ENUM_PACKAGE_DATABASE_CHANGED,
    	PK_ERROR_ENUM_PROVIDE_TYPE_NOT_SUPPORTED,
    	PK_ERROR_ENUM_INSTALL_ROOT_INVALID,
    	PK_ERROR_ENUM_CANNOT_FETCH_SOURCES,
    	PK_ERROR_ENUM_CANCELLED_PRIORITY,
    	PK_ERROR_ENUM_UNFINISHED_TRANSACTION,
    	PK_ERROR_ENUM_LAST
    } PkErrorEnum;

The error type

### enum PkExitEnum

    typedef enum {
    	PK_EXIT_ENUM_UNKNOWN,
    	PK_EXIT_ENUM_SUCCESS,
    	PK_EXIT_ENUM_FAILED,
    	PK_EXIT_ENUM_CANCELLED,
    	PK_EXIT_ENUM_KEY_REQUIRED,
    	PK_EXIT_ENUM_EULA_REQUIRED,
    	PK_EXIT_ENUM_KILLED, /* when we forced the cancel, but had to SIGKILL */
    	PK_EXIT_ENUM_MEDIA_CHANGE_REQUIRED,
    	PK_EXIT_ENUM_NEED_UNTRUSTED,
    	PK_EXIT_ENUM_CANCELLED_PRIORITY,
    	PK_EXIT_ENUM_SKIP_TRANSACTION,
    	PK_EXIT_ENUM_REPAIR_REQUIRED,
    	PK_EXIT_ENUM_LAST
    } PkExitEnum;

How the backend exited

### enum PkFilterEnum

    typedef enum {
    	PK_FILTER_ENUM_UNKNOWN,
    	PK_FILTER_ENUM_NONE,
    	PK_FILTER_ENUM_INSTALLED,
    	PK_FILTER_ENUM_NOT_INSTALLED,
    	PK_FILTER_ENUM_DEVELOPMENT,
    	PK_FILTER_ENUM_NOT_DEVELOPMENT,
    	PK_FILTER_ENUM_GUI,
    	PK_FILTER_ENUM_NOT_GUI,
    	PK_FILTER_ENUM_FREE,
    	PK_FILTER_ENUM_NOT_FREE,
    	PK_FILTER_ENUM_VISIBLE,
    	PK_FILTER_ENUM_NOT_VISIBLE,
    	PK_FILTER_ENUM_SUPPORTED,
    	PK_FILTER_ENUM_NOT_SUPPORTED,
    	PK_FILTER_ENUM_BASENAME,
    	PK_FILTER_ENUM_NOT_BASENAME,
    	PK_FILTER_ENUM_NEWEST,
    	PK_FILTER_ENUM_NOT_NEWEST,
    	PK_FILTER_ENUM_ARCH,
    	PK_FILTER_ENUM_NOT_ARCH,
    	PK_FILTER_ENUM_SOURCE,
    	PK_FILTER_ENUM_NOT_SOURCE,
    	PK_FILTER_ENUM_COLLECTIONS,
    	PK_FILTER_ENUM_NOT_COLLECTIONS,
    	PK_FILTER_ENUM_APPLICATION,
    	PK_FILTER_ENUM_NOT_APPLICATION,
    	PK_FILTER_ENUM_LAST,
    } PkFilterEnum;

The filter types

### enum PkGroupEnum

    typedef enum {
    	PK_GROUP_ENUM_UNKNOWN,
    	PK_GROUP_ENUM_ACCESSIBILITY,
    	PK_GROUP_ENUM_ACCESSORIES,
    	PK_GROUP_ENUM_ADMIN_TOOLS,
    	PK_GROUP_ENUM_COMMUNICATION,
    	PK_GROUP_ENUM_DESKTOP_GNOME,
    	PK_GROUP_ENUM_DESKTOP_KDE,
    	PK_GROUP_ENUM_DESKTOP_OTHER,
    	PK_GROUP_ENUM_DESKTOP_XFCE,
    	PK_GROUP_ENUM_EDUCATION,
    	PK_GROUP_ENUM_FONTS,
    	PK_GROUP_ENUM_GAMES,
    	PK_GROUP_ENUM_GRAPHICS,
    	PK_GROUP_ENUM_INTERNET,
    	PK_GROUP_ENUM_LEGACY,
    	PK_GROUP_ENUM_LOCALIZATION,
    	PK_GROUP_ENUM_MAPS,
    	PK_GROUP_ENUM_MULTIMEDIA,
    	PK_GROUP_ENUM_NETWORK,
    	PK_GROUP_ENUM_OFFICE,
    	PK_GROUP_ENUM_OTHER,
    	PK_GROUP_ENUM_POWER_MANAGEMENT,
    	PK_GROUP_ENUM_PROGRAMMING,
    	PK_GROUP_ENUM_PUBLISHING,
    	PK_GROUP_ENUM_REPOS,
    	PK_GROUP_ENUM_SECURITY,
    	PK_GROUP_ENUM_SERVERS,
    	PK_GROUP_ENUM_SYSTEM,
    	PK_GROUP_ENUM_VIRTUALIZATION,
    	PK_GROUP_ENUM_SCIENCE,
    	PK_GROUP_ENUM_DOCUMENTATION,
    	PK_GROUP_ENUM_ELECTRONICS,
    	PK_GROUP_ENUM_COLLECTIONS,
    	PK_GROUP_ENUM_VENDOR,
    	PK_GROUP_ENUM_NEWEST,
    	PK_GROUP_ENUM_LAST
    } PkGroupEnum;

The group type

### enum PkInfoEnum

    typedef enum {
    	PK_INFO_ENUM_UNKNOWN,
    	PK_INFO_ENUM_INSTALLED,
    	PK_INFO_ENUM_AVAILABLE,
    	PK_INFO_ENUM_LOW,
    	PK_INFO_ENUM_ENHANCEMENT,
    	PK_INFO_ENUM_NORMAL,
    	PK_INFO_ENUM_BUGFIX,
    	PK_INFO_ENUM_IMPORTANT,
    	PK_INFO_ENUM_SECURITY,
    	PK_INFO_ENUM_BLOCKED,
    	PK_INFO_ENUM_DOWNLOADING,
    	PK_INFO_ENUM_UPDATING,
    	PK_INFO_ENUM_INSTALLING,
    	PK_INFO_ENUM_REMOVING,
    	PK_INFO_ENUM_CLEANUP,
    	PK_INFO_ENUM_OBSOLETING,
    	PK_INFO_ENUM_COLLECTION_INSTALLED,
    	PK_INFO_ENUM_COLLECTION_AVAILABLE,
    	PK_INFO_ENUM_FINISHED,
    	PK_INFO_ENUM_REINSTALLING,
    	PK_INFO_ENUM_DOWNGRADING,
    	PK_INFO_ENUM_PREPARING,
    	PK_INFO_ENUM_DECOMPRESSING,
    	PK_INFO_ENUM_UNTRUSTED,
    	PK_INFO_ENUM_TRUSTED,
    	PK_INFO_ENUM_LAST
    } PkInfoEnum;

The enumerated types used in `Package()` - these have to refer to a specific package action, rather than a general state

### enum PkMediaTypeEnum

    typedef enum {
    	PK_MEDIA_TYPE_ENUM_UNKNOWN,
    	PK_MEDIA_TYPE_ENUM_CD,
    	PK_MEDIA_TYPE_ENUM_DVD,
    	PK_MEDIA_TYPE_ENUM_DISC,
    	PK_MEDIA_TYPE_ENUM_LAST
    } PkMediaTypeEnum;

The media type

### enum PkMessageEnum

    typedef enum {
    	PK_MESSAGE_ENUM_UNKNOWN,
    	PK_MESSAGE_ENUM_BROKEN_MIRROR,
    	PK_MESSAGE_ENUM_CONNECTION_REFUSED,
    	PK_MESSAGE_ENUM_PARAMETER_INVALID,
    	PK_MESSAGE_ENUM_PRIORITY_INVALID,
    	PK_MESSAGE_ENUM_BACKEND_ERROR,
    	PK_MESSAGE_ENUM_DAEMON_ERROR,
    	PK_MESSAGE_ENUM_CACHE_BEING_REBUILT,
    	PK_MESSAGE_ENUM_UNTRUSTED_PACKAGE, /* this is deprecated */
    	PK_MESSAGE_ENUM_NEWER_PACKAGE_EXISTS,
    	PK_MESSAGE_ENUM_COULD_NOT_FIND_PACKAGE,
    	PK_MESSAGE_ENUM_CONFIG_FILES_CHANGED,
    	PK_MESSAGE_ENUM_PACKAGE_ALREADY_INSTALLED,
    	PK_MESSAGE_ENUM_AUTOREMOVE_IGNORED,
    	PK_MESSAGE_ENUM_REPO_METADATA_DOWNLOAD_FAILED,
    	PK_MESSAGE_ENUM_REPO_FOR_DEVELOPERS_ONLY,
    	PK_MESSAGE_ENUM_OTHER_UPDATES_HELD_BACK,
    	PK_MESSAGE_ENUM_LAST
    } PkMessageEnum;

What message type we need to show

### enum PkNetworkEnum

    typedef enum {
    	PK_NETWORK_ENUM_UNKNOWN,
    	PK_NETWORK_ENUM_OFFLINE,
    	PK_NETWORK_ENUM_ONLINE,
    	PK_NETWORK_ENUM_WIRED,
    	PK_NETWORK_ENUM_WIFI,
    	PK_NETWORK_ENUM_MOBILE,
    	PK_NETWORK_ENUM_LAST
    } PkNetworkEnum;

### enum PkProvidesEnum

    typedef enum {
    	PK_PROVIDES_ENUM_UNKNOWN,
    	PK_PROVIDES_ENUM_ANY,
    	PK_PROVIDES_ENUM_MODALIAS,
    	PK_PROVIDES_ENUM_CODEC,
    	PK_PROVIDES_ENUM_MIMETYPE,
    	PK_PROVIDES_ENUM_FONT,
    	PK_PROVIDES_ENUM_HARDWARE_DRIVER,
    	PK_PROVIDES_ENUM_POSTSCRIPT_DRIVER,
    	PK_PROVIDES_ENUM_PLASMA_SERVICE,
    	PK_PROVIDES_ENUM_SHARED_LIB,
    	PK_PROVIDES_ENUM_PYTHON,
    	PK_PROVIDES_ENUM_LANGUAGE_SUPPORT,
    	PK_PROVIDES_ENUM_LAST
    } PkProvidesEnum;

Some component types packages can provide

### enum PkRestartEnum

    typedef enum {
    	PK_RESTART_ENUM_UNKNOWN,
    	PK_RESTART_ENUM_NONE,
    	PK_RESTART_ENUM_APPLICATION,
    	PK_RESTART_ENUM_SESSION,
    	PK_RESTART_ENUM_SYSTEM,
    	PK_RESTART_ENUM_SECURITY_SESSION, /* a library that is being used by this package has been updated for security */
    	PK_RESTART_ENUM_SECURITY_SYSTEM,
    	PK_RESTART_ENUM_LAST
    } PkRestartEnum;

What restart we need to after a transaction, ordered by severity

### enum PkRoleEnum

    typedef enum {
    	PK_ROLE_ENUM_UNKNOWN,
    	PK_ROLE_ENUM_CANCEL,
    	PK_ROLE_ENUM_GET_DEPENDS,
    	PK_ROLE_ENUM_GET_DETAILS,
    	PK_ROLE_ENUM_GET_FILES,
    	PK_ROLE_ENUM_GET_PACKAGES,
    	PK_ROLE_ENUM_GET_REPO_LIST,
    	PK_ROLE_ENUM_GET_REQUIRES,
    	PK_ROLE_ENUM_GET_UPDATE_DETAIL,
    	PK_ROLE_ENUM_GET_UPDATES,
    	PK_ROLE_ENUM_INSTALL_FILES,
    	PK_ROLE_ENUM_INSTALL_PACKAGES,
    	PK_ROLE_ENUM_INSTALL_SIGNATURE,
    	PK_ROLE_ENUM_REFRESH_CACHE,
    	PK_ROLE_ENUM_REMOVE_PACKAGES,
    	PK_ROLE_ENUM_REPO_ENABLE,
    	PK_ROLE_ENUM_REPO_SET_DATA,
    	PK_ROLE_ENUM_RESOLVE,
    	PK_ROLE_ENUM_ROLLBACK,
    	PK_ROLE_ENUM_SEARCH_DETAILS,
    	PK_ROLE_ENUM_SEARCH_FILE,
    	PK_ROLE_ENUM_SEARCH_GROUP,
    	PK_ROLE_ENUM_SEARCH_NAME,
    	PK_ROLE_ENUM_UPDATE_PACKAGES,
    	PK_ROLE_ENUM_UPDATE_SYSTEM,
    	PK_ROLE_ENUM_WHAT_PROVIDES,
    	PK_ROLE_ENUM_ACCEPT_EULA,
    	PK_ROLE_ENUM_DOWNLOAD_PACKAGES,
    	PK_ROLE_ENUM_GET_DISTRO_UPGRADES,
    	PK_ROLE_ENUM_GET_CATEGORIES,
    	PK_ROLE_ENUM_GET_OLD_TRANSACTIONS,
    	PK_ROLE_ENUM_SIMULATE_INSTALL_FILES,
    	PK_ROLE_ENUM_SIMULATE_INSTALL_PACKAGES,
    	PK_ROLE_ENUM_SIMULATE_REMOVE_PACKAGES,
    	PK_ROLE_ENUM_SIMULATE_UPDATE_PACKAGES,
    	PK_ROLE_ENUM_UPGRADE_SYSTEM,			/* Since: 0.6.11 */
    	PK_ROLE_ENUM_REPAIR_SYSTEM,			/* Since: 0.7.2 */
    	PK_ROLE_ENUM_SIMULATE_REPAIR_SYSTEM,		/* Since: 0.7.2 */
    	PK_ROLE_ENUM_LAST
    } PkRoleEnum;

What we were asked to do, this never changes for the lifetime of the transaction. Icons that have to represent the whole "aim" of the transaction will use these constants

### enum PkSigTypeEnum

    typedef enum {
    	PK_SIGTYPE_ENUM_UNKNOWN,
    	PK_SIGTYPE_ENUM_GPG,
    	PK_SIGTYPE_ENUM_LAST
    } PkSigTypeEnum;

The signature type type

### enum PkStatusEnum

    typedef enum {
    	PK_STATUS_ENUM_UNKNOWN,
    	PK_STATUS_ENUM_WAIT,
    	PK_STATUS_ENUM_SETUP,
    	PK_STATUS_ENUM_RUNNING,
    	PK_STATUS_ENUM_QUERY,
    	PK_STATUS_ENUM_INFO,
    	PK_STATUS_ENUM_REMOVE,
    	PK_STATUS_ENUM_REFRESH_CACHE,
    	PK_STATUS_ENUM_DOWNLOAD,
    	PK_STATUS_ENUM_INSTALL,
    	PK_STATUS_ENUM_UPDATE,
    	PK_STATUS_ENUM_CLEANUP,
    	PK_STATUS_ENUM_OBSOLETE,
    	PK_STATUS_ENUM_DEP_RESOLVE,
    	PK_STATUS_ENUM_SIG_CHECK,
    	PK_STATUS_ENUM_ROLLBACK,
    	PK_STATUS_ENUM_TEST_COMMIT,
    	PK_STATUS_ENUM_COMMIT,
    	PK_STATUS_ENUM_REQUEST,
    	PK_STATUS_ENUM_FINISHED,
    	PK_STATUS_ENUM_CANCEL,
    	PK_STATUS_ENUM_DOWNLOAD_REPOSITORY,
    	PK_STATUS_ENUM_DOWNLOAD_PACKAGELIST,
    	PK_STATUS_ENUM_DOWNLOAD_FILELIST,
    	PK_STATUS_ENUM_DOWNLOAD_CHANGELOG,
    	PK_STATUS_ENUM_DOWNLOAD_GROUP,
    	PK_STATUS_ENUM_DOWNLOAD_UPDATEINFO,
    	PK_STATUS_ENUM_REPACKAGING,
    	PK_STATUS_ENUM_LOADING_CACHE,
    	PK_STATUS_ENUM_SCAN_APPLICATIONS,
    	PK_STATUS_ENUM_GENERATE_PACKAGE_LIST,
    	PK_STATUS_ENUM_WAITING_FOR_LOCK,
    	PK_STATUS_ENUM_WAITING_FOR_AUTH,
    	PK_STATUS_ENUM_SCAN_PROCESS_LIST,
    	PK_STATUS_ENUM_CHECK_EXECUTABLE_FILES,
    	PK_STATUS_ENUM_CHECK_LIBRARIES,
    	PK_STATUS_ENUM_COPY_FILES,
    	PK_STATUS_ENUM_LAST
    } PkStatusEnum;

What status we are now; this can change for each transaction giving a status of what sort of thing is happening Icons that change to represent the current status of the transaction will use these constants If you add to these, make sure you add filenames in gpk-watch.c also

A typical transaction will do:

- schedule task WAIT

- run task SETUP

- wait for lock RUNNING

This means that backends should run pk_backend_set_status (backend, PK_STATUS_ENUM_RUNNING) when they are ready to start running the transaction and after a lock has been got.

### enum PkUpdateStateEnum

    typedef enum {
    	PK_UPDATE_STATE_ENUM_UNKNOWN,
    	PK_UPDATE_STATE_ENUM_STABLE,
    	PK_UPDATE_STATE_ENUM_UNSTABLE,
    	PK_UPDATE_STATE_ENUM_TESTING,
    	PK_UPDATE_STATE_ENUM_LAST
    } PkUpdateStateEnum;

What state the update is in

### enum PkUpgradeKindEnum

    typedef enum {
    	PK_UPGRADE_KIND_ENUM_UNKNOWN,
    	PK_UPGRADE_KIND_ENUM_MINIMAL,
    	PK_UPGRADE_KIND_ENUM_DEFAULT,
    	PK_UPGRADE_KIND_ENUM_COMPLETE,
    	PK_UPGRADE_KIND_ENUM_LAST
    } PkUpgradeKindEnum;

The type of distribution upgrade to perform

### pk_authorize_type_enum_from_string ()

    PkAuthorizeEnum     pk_authorize_type_enum_from_string  (const gchar *authorize_type);

Converts a text enumerated type to its unsigned integer representation

`authorize_type` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. `PK_AUTHORIZE_ENUM_YES`

Since 0.5.0

### pk_authorize_type_enum_to_string ()

    const gchar *       pk_authorize_type_enum_to_string    (PkAuthorizeEnum authorize_type);

Converts a enumerated type to its text representation

`authorize_type` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "yes"

Since 0.5.0

### pk_distro_upgrade_enum_from_string ()

    PkDistroUpgradeEnum pk_distro_upgrade_enum_from_string  (const gchar *upgrade);

Converts a text enumerated type to its unsigned integer representation

`upgrade` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_DISTRO_UPGRADE_ENUM_STABLE

Since 0.5.0

### pk_distro_upgrade_enum_to_string ()

    const gchar *       pk_distro_upgrade_enum_to_string    (PkDistroUpgradeEnum upgrade);

Converts a enumerated type to its text representation

`upgrade` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "stable"

Since 0.5.0

### pk_enum_find_string ()

    const gchar *       pk_enum_find_string                 (const PkEnumMatch *table,
                                                             guint value);

Search for a enum value in a table of constants.

`table` : | A PkEnumMatch enum table of values
`value` : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG
Returns : | the string constant, e.g. "desktop-gnome"

### pk_enum_find_value ()

    guint               pk_enum_find_value                  (const PkEnumMatch *table,
                                                             const gchar *string);

Search for a string value in a table of constants.

`table` : | A PkEnumMatch enum table of values
`string` : | the string constant to search for, e.g. "desktop-gnome"
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

### pk_enum_test ()

    void                pk_enum_test                        (gpointer user_data);

### pk_error_enum_from_string ()

    PkErrorEnum         pk_error_enum_from_string           (const gchar *code);

Converts a text enumerated type to its unsigned integer representation

`code` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

Since 0.5.0

### pk_error_enum_to_string ()

    const gchar *       pk_error_enum_to_string             (PkErrorEnum code);

Converts a enumerated type to its text representation

`code` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "available"

Since 0.5.0

### pk_exit_enum_from_string ()

    PkExitEnum          pk_exit_enum_from_string            (const gchar *exit);

Converts a text enumerated type to its unsigned integer representation

`exit` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

Since 0.5.0

### pk_exit_enum_to_string ()

    const gchar *       pk_exit_enum_to_string              (PkExitEnum exit);

Converts a enumerated type to its text representation

`exit` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "available"

Since 0.5.0

### pk_filter_enum_from_string ()

    PkFilterEnum        pk_filter_enum_from_string          (const gchar *filter);

Converts a text enumerated type to its unsigned integer representation

`filter` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

Since 0.5.0

### pk_filter_enum_to_string ()

    const gchar *       pk_filter_enum_to_string            (PkFilterEnum filter);

Converts a enumerated type to its text representation

`filter` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "available"

Since 0.5.0

### pk_group_enum_from_string ()

    PkGroupEnum         pk_group_enum_from_string           (const gchar *group);

Converts a text enumerated type to its unsigned integer representation

`group` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

Since 0.5.0

### pk_group_enum_to_string ()

    const gchar *       pk_group_enum_to_string             (PkGroupEnum group);

Converts a enumerated type to its text representation

`group` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "available"

Since 0.5.0

### pk_info_enum_from_string ()

    PkInfoEnum          pk_info_enum_from_string            (const gchar *info);

Converts a text enumerated type to its unsigned integer representation

`info` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

Since 0.5.0

### pk_info_enum_to_localised_past ()

    const gchar *       pk_info_enum_to_localised_past      (PkInfoEnum info);

Converts a enumerated type to its localized description

`info` : | The enumerated type value
Returns : | the translated text

Since 0.7.2

### pk_info_enum_to_localised_present ()

    const gchar *       pk_info_enum_to_localised_present   (PkInfoEnum info);

Converts a enumerated type to its localized description

`info` : | The enumerated type value
Returns : | the translated text

Since 0.7.2

### pk_info_enum_to_string ()

    const gchar *       pk_info_enum_to_string              (PkInfoEnum info);

Converts a enumerated type to its text representation

`info` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "available"

Since 0.5.0

### pk_media_type_enum_from_string ()

    PkMediaTypeEnum     pk_media_type_enum_from_string      (const gchar *media_type);

Converts a text enumerated type to its unsigned integer representation

`media_type` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_MEDIA_TYPE_ENUM_CD

Since 0.5.0

### pk_media_type_enum_to_string ()

    const gchar *       pk_media_type_enum_to_string        (PkMediaTypeEnum media_type);

Converts a enumerated type to its text representation

`media_type` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "dvd"

Since 0.5.0

### pk_message_enum_from_string ()

    PkMessageEnum       pk_message_enum_from_string         (const gchar *message);

Converts a text enumerated type to its unsigned integer representation

`message` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

Since 0.5.0

### pk_message_enum_to_string ()

    const gchar *       pk_message_enum_to_string           (PkMessageEnum message);

Converts a enumerated type to its text representation

`message` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "available"

Since 0.5.0

### pk_network_enum_from_string ()

    PkNetworkEnum       pk_network_enum_from_string         (const gchar *network);

Converts a text enumerated type to its unsigned integer representation

`network` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

Since 0.5.0

### pk_network_enum_to_string ()

    const gchar *       pk_network_enum_to_string           (PkNetworkEnum network);

Converts a enumerated type to its text representation

`network` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "available"

Since 0.5.0

### pk_provides_enum_from_string ()

    PkProvidesEnum      pk_provides_enum_from_string        (const gchar *provides);

Converts a text enumerated type to its unsigned integer representation

`provides` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_PROVIDES_ENUM_MODALIAS

Since 0.5.0

### pk_provides_enum_to_string ()

    const gchar *       pk_provides_enum_to_string          (PkProvidesEnum provides);

Converts a enumerated type to its text representation

`provides` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "codec"

Since 0.5.0

### pk_restart_enum_from_string ()

    PkRestartEnum       pk_restart_enum_from_string         (const gchar *restart);

Converts a text enumerated type to its unsigned integer representation

`restart` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

Since 0.5.0

### pk_restart_enum_to_string ()

    const gchar *       pk_restart_enum_to_string           (PkRestartEnum restart);

Converts a enumerated type to its text representation

`restart` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "available"

Since 0.5.0

### pk_role_enum_from_string ()

    PkRoleEnum          pk_role_enum_from_string            (const gchar *role);

Converts a text enumerated type to its unsigned integer representation

`role` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

Since 0.5.0

### pk_role_enum_to_localised_present ()

    const gchar *       pk_role_enum_to_localised_present   (PkRoleEnum role);

Converts a enumerated type to its localized description

`role` : | The enumerated type value
Returns : | the translated text

Since 0.7.2

### pk_role_enum_to_string ()

    const gchar *       pk_role_enum_to_string              (PkRoleEnum role);

Converts a enumerated type to its text representation

`role` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "available"

Since 0.5.0

### pk_sig_type_enum_from_string ()

    PkSigTypeEnum       pk_sig_type_enum_from_string        (const gchar *sig_type);

Converts a text enumerated type to its unsigned integer representation

`sig_type` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

### pk_sig_type_enum_to_string ()

    const gchar *       pk_sig_type_enum_to_string          (PkSigTypeEnum sig_type);

Converts a enumerated type to its text representation

`sig_type` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "available"

Since 0.5.0

### pk_status_enum_from_string ()

    PkStatusEnum        pk_status_enum_from_string          (const gchar *status);

Converts a text enumerated type to its unsigned integer representation

`status` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. PK_SIGTYPE_ENUM_GPG

Since 0.5.0

### pk_status_enum_to_localised_text ()

    const gchar *       pk_status_enum_to_localised_text    (PkStatusEnum status);

### pk_status_enum_to_string ()

    const gchar *       pk_status_enum_to_string            (PkStatusEnum status);

Converts a enumerated type to its text representation

`status` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "available"

Since 0.5.0

### pk_update_state_enum_from_string ()

    PkUpdateStateEnum   pk_update_state_enum_from_string    (const gchar *update_state);

Converts a text enumerated type to its unsigned integer representation

`update_state` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. `PK_UPDATE_STATE_ENUM_STABLE`

Since 0.5.0

### pk_update_state_enum_to_string ()

    const gchar *       pk_update_state_enum_to_string      (PkUpdateStateEnum update_state);

Converts a enumerated type to its text representation

`update_state` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "testing"

Since 0.5.0

### pk_upgrade_kind_enum_from_string ()

    PkUpgradeKindEnum   pk_upgrade_kind_enum_from_string    (const gchar *upgrade_kind);

Converts a text enumerated type to its unsigned integer representation

`upgrade_kind` : | Text describing the enumerated type
Returns : | the enumerated constant value, e.g. `PK_UPGRADE_KIND_ENUM_MINIMAL`

Since 0.6.11

### pk_upgrade_kind_enum_to_string ()

    const gchar *       pk_upgrade_kind_enum_to_string      (PkUpgradeKindEnum upgrade_kind);

Converts a enumerated type to its text representation

`upgrade_kind` : | The enumerated type value
Returns : | the enumerated constant value, e.g. "minimal"

Since 0.6.11