ZifStore

ZifStore — Collection of packages

Synopsis

#define             ZIF_STORE_ERROR
struct              ZifStore;
enum                ZifStoreResolveFlags;
struct              ZifStoreClass;
enum                ZifStoreError;
#define             ZIF_STORE_RESOLVE_FLAG_USE_ALL
GQuark              zif_store_error_quark               (void);
ZifStore *          zif_store_new                       (void);
gboolean            zif_store_add_package               (ZifStore *store,
                                                         ZifPackage *package,
                                                         GError **error);
gboolean            zif_store_add_packages              (ZifStore *store,
                                                         GPtrArray *array,
                                                         GError **error);
gboolean            zif_store_remove_package            (ZifStore *store,
                                                         ZifPackage *package,
                                                         GError **error);
gboolean            zif_store_remove_packages           (ZifStore *store,
                                                         GPtrArray *array,
                                                         GError **error);
gboolean            zif_store_load                      (ZifStore *store,
                                                         ZifState *state,
                                                         GError **error);
gboolean            zif_store_unload                    (ZifStore *store,
                                                         GError **error);
gboolean            zif_store_clean                     (ZifStore *store,
                                                         ZifState *state,
                                                         GError **error);
gboolean            zif_store_refresh                   (ZifStore *store,
                                                         gboolean force,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_search_name               (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_search_category           (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_search_details            (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_search_group              (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_search_file               (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_resolve                   (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_resolve_full              (ZifStore *store,
                                                         gchar **search,
                                                         ZifStoreResolveFlags flags,
                                                         ZifState *state,
                                                         GError **error);
ZifPackage *        zif_store_resolve_package           (ZifStore *store,
                                                         ZifPackage *package,
                                                         ZifStoreResolveFlags flags,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_what_provides             (ZifStore *store,
                                                         GPtrArray *depends,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_what_requires             (ZifStore *store,
                                                         GPtrArray *depends,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_what_obsoletes            (ZifStore *store,
                                                         GPtrArray *depends,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_what_conflicts            (ZifStore *store,
                                                         GPtrArray *depends,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_get_packages              (ZifStore *store,
                                                         ZifState *state,
                                                         GError **error);
ZifPackage *        zif_store_find_package              (ZifStore *store,
                                                         const gchar *package_id,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_get_categories            (ZifStore *store,
                                                         ZifState *state,
                                                         GError **error);
const gchar *       zif_store_get_id                    (ZifStore *store);
guint               zif_store_get_size                  (ZifStore *store);
void                zif_store_print                     (ZifStore *store);
gboolean            zif_store_get_enabled               (ZifStore *store);
void                zif_store_set_enabled               (ZifStore *store,
                                                         gboolean enabled);

Object Hierarchy

  GObject
   +----ZifStore
         +----ZifStoreDirectory
         +----ZifStoreLocal
         +----ZifStoreMeta
         +----ZifStoreRemote
         +----ZifStoreRhn

Properties

  "enabled"                  gboolean              : Read / Write
  "loaded"                   gboolean              : Read / Write

Description

ZifStoreLocal, ZifStoreRemote and ZifStoreMeta all implement ZifStore.

Details

ZIF_STORE_ERROR

#define ZIF_STORE_ERROR		(zif_store_error_quark ())


struct ZifStore

struct ZifStore;


enum ZifStoreResolveFlags

typedef enum {
	ZIF_STORE_RESOLVE_FLAG_USE_NAME			= 1<<0,
	ZIF_STORE_RESOLVE_FLAG_USE_NAME_ARCH		= 1<<1,
	ZIF_STORE_RESOLVE_FLAG_USE_NAME_VERSION		= 1<<2,
	ZIF_STORE_RESOLVE_FLAG_USE_NAME_VERSION_ARCH = 1<<3,
	ZIF_STORE_RESOLVE_FLAG_PREFER_NATIVE		= 1<<4,
	ZIF_STORE_RESOLVE_FLAG_USE_GLOB			= 1<<5,
	ZIF_STORE_RESOLVE_FLAG_USE_REGEX		= 1<<6,
} ZifStoreResolveFlags;

ZIF_STORE_RESOLVE_FLAG_USE_NAME

ZIF_STORE_RESOLVE_FLAG_USE_NAME_ARCH

ZIF_STORE_RESOLVE_FLAG_USE_NAME_VERSION

ZIF_STORE_RESOLVE_FLAG_USE_NAME_VERSION_ARCH

ZIF_STORE_RESOLVE_FLAG_PREFER_NATIVE

ZIF_STORE_RESOLVE_FLAG_USE_GLOB

ZIF_STORE_RESOLVE_FLAG_USE_REGEX


struct ZifStoreClass

struct ZifStoreClass {
	GObjectClass parent_class;
	/* vtable */
	gboolean	 (*load)		(ZifStore		*store,
						 ZifState		*state,
						 GError			**error);
	gboolean	 (*clean)		(ZifStore		*store,
						 ZifState		*state,
						 GError			**error);
	gboolean	 (*refresh)		(ZifStore		*store,
						 gboolean		 force,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*search_name)		(ZifStore		*store,
						 gchar			**search,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*search_category) (ZifStore		*store,
						 gchar			**search,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*search_details) (ZifStore		*store,
						 gchar			**search,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*search_group) (ZifStore		*store,
						 gchar			**search,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*search_file)		(ZifStore		*store,
						 gchar			**search,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*resolve)		(ZifStore		*store,
						 gchar			**search,
						 ZifStoreResolveFlags	 flags,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*what_provides) (ZifStore		*store,
						 GPtrArray		*depends,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*what_requires) (ZifStore		*store,
						 GPtrArray		*depends,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*what_obsoletes) (ZifStore		*store,
						 GPtrArray		*depends,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*what_conflicts) (ZifStore		*store,
						 GPtrArray		*depends,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*get_packages) (ZifStore		*store,
						 ZifState		*state,
						 GError			**error);
	ZifPackage *(*find_package) (ZifStore		*store,
						 const gchar		*package_id,
						 ZifState		*state,
						 GError			**error);
	GPtrArray *(*get_categories) (ZifStore		*store,
						 ZifState		*state,
						 GError			**error);
	const gchar *(*get_id)		(ZifStore		*store);
	void		 (*print)		(ZifStore		*store);

	/* Padding for future expansion */
	void (*_zif_reserved1) (void);
	void (*_zif_reserved2) (void);
	void (*_zif_reserved3) (void);
	void (*_zif_reserved4) (void);
};


enum ZifStoreError

typedef enum {
	ZIF_STORE_ERROR_FAILED,
	ZIF_STORE_ERROR_FAILED_AS_OFFLINE,
	ZIF_STORE_ERROR_FAILED_TO_FIND,
	ZIF_STORE_ERROR_FAILED_TO_DOWNLOAD,
	ZIF_STORE_ERROR_ARRAY_IS_EMPTY,
	ZIF_STORE_ERROR_NO_SUPPORT,
	ZIF_STORE_ERROR_NOT_LOCKED,
	ZIF_STORE_ERROR_MULTIPLE_MATCHES,
	ZIF_STORE_ERROR_RECOVERABLE,
	ZIF_STORE_ERROR_NO_RELEASEVER,
	ZIF_STORE_ERROR_NOT_ENABLED,
	ZIF_STORE_ERROR_LAST
} ZifStoreError;

ZIF_STORE_ERROR_FAILED

ZIF_STORE_ERROR_FAILED_AS_OFFLINE

ZIF_STORE_ERROR_FAILED_TO_FIND

ZIF_STORE_ERROR_FAILED_TO_DOWNLOAD

ZIF_STORE_ERROR_ARRAY_IS_EMPTY

ZIF_STORE_ERROR_NO_SUPPORT

ZIF_STORE_ERROR_NOT_LOCKED

ZIF_STORE_ERROR_MULTIPLE_MATCHES

ZIF_STORE_ERROR_RECOVERABLE

ZIF_STORE_ERROR_NO_RELEASEVER

ZIF_STORE_ERROR_NOT_ENABLED

ZIF_STORE_ERROR_LAST


ZIF_STORE_RESOLVE_FLAG_USE_ALL

#define             ZIF_STORE_RESOLVE_FLAG_USE_ALL


zif_store_error_quark ()

GQuark              zif_store_error_quark               (void);

Returns :

An error quark.

Since 0.1.0


zif_store_new ()

ZifStore *          zif_store_new                       (void);

Returns :

A new ZifStore instance.

Since 0.1.0


zif_store_add_package ()

gboolean            zif_store_add_package               (ZifStore *store,
                                                         ZifPackage *package,
                                                         GError **error);

Adds a package to the store.

store :

A ZifStore

package :

A ZifPackage

error :

A GError, or NULL

Returns :

TRUE for success, FALSE otherwise

Since 0.1.6


zif_store_add_packages ()

gboolean            zif_store_add_packages              (ZifStore *store,
                                                         GPtrArray *array,
                                                         GError **error);

Adds an array of packages to the store.

store :

A ZifStore

array :

Array of ZifPackage's

error :

A GError, or NULL

Returns :

TRUE for success, FALSE otherwise

Since 0.1.6


zif_store_remove_package ()

gboolean            zif_store_remove_package            (ZifStore *store,
                                                         ZifPackage *package,
                                                         GError **error);

Removes a package from the store.

store :

A ZifStore

package :

A ZifPackage

error :

A GError, or NULL

Returns :

TRUE for success, FALSE otherwise

Since 0.1.6


zif_store_remove_packages ()

gboolean            zif_store_remove_packages           (ZifStore *store,
                                                         GPtrArray *array,
                                                         GError **error);

Removes an array of packages from the store.

store :

A ZifStore

array :

Array of ZifPackage's

error :

A GError, or NULL

Returns :

TRUE for success, FALSE otherwise

Since 0.1.6


zif_store_load ()

gboolean            zif_store_load                      (ZifStore *store,
                                                         ZifState *state,
                                                         GError **error);

Loads the ZifStore object.

store :

A ZifStore

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

TRUE for success, FALSE otherwise

Since 0.1.0


zif_store_unload ()

gboolean            zif_store_unload                    (ZifStore *store,
                                                         GError **error);

Unloads the ZifStore object.

store :

A ZifStore

error :

A GError, or NULL

Returns :

TRUE for success, FALSE otherwise

Since 0.1.6


zif_store_clean ()

gboolean            zif_store_clean                     (ZifStore *store,
                                                         ZifState *state,
                                                         GError **error);

Cleans the ZifStore objects by deleting cache.

store :

A ZifStore

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

TRUE for success, FALSE otherwise

Since 0.1.0


zif_store_refresh ()

gboolean            zif_store_refresh                   (ZifStore *store,
                                                         gboolean force,
                                                         ZifState *state,
                                                         GError **error);

refresh the ZifStore objects by downloading new data if required.

store :

A ZifStore

force :

If the data should be re-downloaded if it's still valid

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

TRUE for success, FALSE otherwise

Since 0.1.0


zif_store_search_name ()

GPtrArray *         zif_store_search_name               (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);

Find packages that match the package name in some part.

store :

A ZifStore

search :

The search terms, e.g. "power". [array zero-terminated=1][element-type utf8]

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.1.0


zif_store_search_category ()

GPtrArray *         zif_store_search_category           (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);

Return packages in a specific category.

store :

A ZifStore

search :

The search terms, e.g. "gnome/games". [array zero-terminated=1][element-type utf8]

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.1.0


zif_store_search_details ()

GPtrArray *         zif_store_search_details            (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);

Find packages that match some detail about the package.

store :

A ZifStore

search :

The search terms, e.g. "trouble". [array zero-terminated=1][element-type utf8]

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.1.0


zif_store_search_group ()

GPtrArray *         zif_store_search_group              (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);

Find packages that belong in a specific group.

store :

A ZifStore

search :

The search terms, e.g. "games". [array zero-terminated=1][element-type utf8]

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.1.0


zif_store_search_file ()

GPtrArray *         zif_store_search_file               (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);

Find packages that provide the specified file.

store :

A ZifStore

search :

The search terms, e.g. "/usr/bin/gnome-power-manager". [array zero-terminated=1][element-type utf8]

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.1.0


zif_store_resolve ()

GPtrArray *         zif_store_resolve                   (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);

Finds packages matching the package name exactly.

store :

A ZifStore

search :

The search terms, e.g. "gnome-power-manager". [array zero-terminated=1][element-type utf8]

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.1.0


zif_store_resolve_full ()

GPtrArray *         zif_store_resolve_full              (ZifStore *store,
                                                         gchar **search,
                                                         ZifStoreResolveFlags flags,
                                                         ZifState *state,
                                                         GError **error);

Finds packages matching the package name exactly.

If ZIF_STORE_RESOLVE_FLAG_PREFER_NATIVE is specified in the flags bitmask and the search terms do not include architecture suffixes (e.g. ".i686") then the store is first searched using the machine native arch. If no native packages are found, then the store is searched again, this time matching any package regardless of architecture.

store :

A ZifStore

search :

The search terms, e.g. "gnome-power-manager.i386". [array zero-terminated=1][element-type utf8]

flags :

A bitfield of ZifStoreResolveFlags, e.g. ZIF_STORE_RESOLVE_FLAG_USE_NAME_ARCH

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.2.4


zif_store_resolve_package ()

ZifPackage *        zif_store_resolve_package           (ZifStore *store,
                                                         ZifPackage *package,
                                                         ZifStoreResolveFlags flags,
                                                         ZifState *state,
                                                         GError **error);

Finds a package matching in the store. Note, this uses the ->resolve interface, rather than the ->find_package interface. This allows the user to match on any of the specified flags.

This function may be useful if you want to convert a ZifPackage to a ZifPackageRemote or ZifPackageLocal. An error will be returned if more than one item matches in the store.

store :

A ZifStore

package :

A ZifPackage

flags :

A bitfield of ZifStoreResolveFlags, e.g. ZIF_STORE_RESOLVE_FLAG_USE_NAME_ARCH

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

A ZifPackage, or NULL for an error. [transfer full]

Since 0.2.7


zif_store_what_provides ()

GPtrArray *         zif_store_what_provides             (ZifStore *store,
                                                         GPtrArray *depends,
                                                         ZifState *state,
                                                         GError **error);

Find packages that provide a specific string.

store :

A ZifStore

depends :

An array of ZifDepend's to search for

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.1.3


zif_store_what_requires ()

GPtrArray *         zif_store_what_requires             (ZifStore *store,
                                                         GPtrArray *depends,
                                                         ZifState *state,
                                                         GError **error);

Find packages that provide a specific string.

store :

A ZifStore

depends :

An array of ZifDepend's to search for

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.1.3


zif_store_what_obsoletes ()

GPtrArray *         zif_store_what_obsoletes            (ZifStore *store,
                                                         GPtrArray *depends,
                                                         ZifState *state,
                                                         GError **error);

Find packages that obsolete a specific string.

store :

A ZifStore

depends :

An array of ZifDepend's to search for

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.1.3


zif_store_what_conflicts ()

GPtrArray *         zif_store_what_conflicts            (ZifStore *store,
                                                         GPtrArray *depends,
                                                         ZifState *state,
                                                         GError **error);

Find packages that conflict a specific string.

store :

A ZifStore

depends :

An array of ZifDepend's to search for

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.1.3


zif_store_get_packages ()

GPtrArray *         zif_store_get_packages              (ZifStore *store,
                                                         ZifState *state,
                                                         GError **error);

Return all packages in the ZifStore's.

store :

A ZifStore

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [element-type ZifPackage][transfer container]

Since 0.1.0


zif_store_find_package ()

ZifPackage *        zif_store_find_package              (ZifStore *store,
                                                         const gchar *package_id,
                                                         ZifState *state,
                                                         GError **error);

Find a single package in the ZifStore.

store :

A ZifStore

package_id :

A package ID which defines the package

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

A single ZifPackage or NULL. Use g_object_unref when done(). [transfer full]

Since 0.1.0


zif_store_get_categories ()

GPtrArray *         zif_store_get_categories            (ZifStore *store,
                                                         ZifState *state,
                                                         GError **error);

Return a list of custom categories.

store :

A ZifStore

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifCategory's. [element-type ZifCategory][transfer container]

Since 0.1.0


zif_store_get_id ()

const gchar *       zif_store_get_id                    (ZifStore *store);

Gets the id for the object.

store :

A ZifStore

Returns :

A text ID, or NULL

Since 0.1.0


zif_store_get_size ()

guint               zif_store_get_size                  (ZifStore *store);

Gets the number of packages in the store.

store :

A ZifStore

Returns :

the number of packages

Since 0.2.5


zif_store_print ()

void                zif_store_print                     (ZifStore *store);

Prints all the objects in the store.

store :

A ZifStore

Since 0.1.0


zif_store_get_enabled ()

gboolean            zif_store_get_enabled               (ZifStore *store);

Gets if the store is enabled at runtime.

store :

A ZifStore

Since 0.2.2


zif_store_set_enabled ()

void                zif_store_set_enabled               (ZifStore *store,
                                                         gboolean enabled);

Sets the store runtime enabled state.

NOTE: this will not change results if the store has already been referenced, but will stop the store showing up in the results from zif_repos_get_stores_enabled().

store :

A ZifStore

enabled :

The new value

Since 0.2.2

Property Details

The "enabled" property

  "enabled"                  gboolean              : Read / Write

Default value: FALSE

Since 0.3.3


The "loaded" property

  "loaded"                   gboolean              : Read / Write

Default value: FALSE

Since 0.2.3