ZifStore

ZifStore — Collection of packages

Synopsis

#define             ZIF_STORE_ERROR
#define             ZIF_STORE_RESOLVE_FLAG_USE_ALL
struct              ZifStore;
struct              ZifStoreClass;
enum                ZifStoreError;
enum                ZifStoreResolveFlags;
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_clean                     (ZifStore *store,
                                                         ZifState *state,
                                                         GError **error);
GQuark              zif_store_error_quark               (void);
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);
gboolean            zif_store_get_enabled               (ZifStore *store);
const gchar *       zif_store_get_id                    (ZifStore *store);
GPtrArray *         zif_store_get_packages              (ZifStore *store,
                                                         ZifState *state,
                                                         GError **error);
guint               zif_store_get_size                  (ZifStore *store);
gboolean            zif_store_load                      (ZifStore *store,
                                                         ZifState *state,
                                                         GError **error);
ZifStore *          zif_store_new                       (void);
void                zif_store_print                     (ZifStore *store);
gboolean            zif_store_refresh                   (ZifStore *store,
                                                         gboolean force,
                                                         ZifState *state,
                                                         GError **error);
gboolean            zif_store_remove_package            (ZifStore *store,
                                                         ZifPackage *package,
                                                         GError **error);
gboolean            zif_store_remove_packages           (ZifStore *store,
                                                         GPtrArray *array,
                                                         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_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_file               (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_name               (ZifStore *store,
                                                         gchar **search,
                                                         ZifState *state,
                                                         GError **error);
void                zif_store_set_enabled               (ZifStore *store,
                                                         gboolean enabled);
gboolean            zif_store_unload                    (ZifStore *store,
                                                         GError **error);
GPtrArray *         zif_store_what_conflicts            (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_provides             (ZifStore *store,
                                                         GPtrArray *depends,
                                                         ZifState *state,
                                                         GError **error);
GPtrArray *         zif_store_what_requires             (ZifStore *store,
                                                         GPtrArray *depends,
                                                         ZifState *state,
                                                         GError **error);

Object Hierarchy

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

Properties

  "loaded"                   gboolean              : Read / Write

Description

ZifStoreLocal, ZifStoreRemote and ZifStoreMeta all implement ZifStore.

Details

ZIF_STORE_ERROR

#define ZIF_STORE_ERROR		(zif_store_error_quark ())


ZIF_STORE_RESOLVE_FLAG_USE_ALL

#define             ZIF_STORE_RESOLVE_FLAG_USE_ALL


struct ZifStore

struct ZifStore;


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);
	/* TODO: next time we break API, add padding! */
};


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;


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_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_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_error_quark ()

GQuark              zif_store_error_quark               (void);

Returns :

An error quark.

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, free with g_ptr_array_unref() when done. [transfer full]

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_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_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. [transfer full]

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_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_new ()

ZifStore *          zif_store_new                       (void);

Returns :

A new ZifStore instance.

Since 0.1.0


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_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_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_resolve ()

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

Finds packages matching the package name exactly.

store :

A ZifStore

search :

A search term, e.g. "gnome-power-manager"

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [transfer full]

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 :

A search term, e.g. "gnome-power-manager.i386"

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. [transfer full]

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

A search term, e.g. "gnome/games"

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [transfer full]

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 :

A search term, e.g. "trouble"

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [transfer full]

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 :

A search term, e.g. "/usr/bin/gnome-power-manager"

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [transfer full]

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 :

A search term, e.g. "games"

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [transfer full]

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 :

A search term, e.g. "power"

state :

A ZifState to use for progress reporting

error :

A GError, or NULL

Returns :

An array of ZifPackage's. [transfer full]

Since 0.1.0


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


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_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. [transfer full]

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. [transfer full]

Since 0.1.3


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. [transfer full]

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. [transfer full]

Since 0.1.3

Property Details

The "loaded" property

  "loaded"                   gboolean              : Read / Write

Default value: FALSE

Since 0.2.3