createrepo_c library  0.1.17
C library for metadata manipulation
 Vše Třídy Funkce Proměnné Definice typů Výčty Hodnoty výčtu Skupiny Stránky
Load metadata API.

Datové struktry

struct  _cr_Metadata
 

Definice maker

#define cr_metadata_key(X)   ((X)->key)
 
#define cr_metadata_hashtable(X)   ((X)->ht)
 
#define cr_metadata_chunk(X)   ((X)->chunk)
 
#define CR_LOAD_METADATA_OK   0
 
#define CR_LOAD_METADATA_ERR   1
 

Definice typů

typedef struct _cr_Metadatacr_Metadata
 

Výčty

enum  cr_HashTableKey { CR_HT_KEY_DEFAULT, CR_HT_KEY_HASH = CR_HT_KEY_DEFAULT, CR_HT_KEY_NAME, CR_HT_KEY_FILENAME }
 

Funkce

cr_Metadata cr_metadata_new (cr_HashTableKey key, int use_single_chunk, GSList *pkglist)
 
void cr_metadata_free (cr_Metadata md)
 
int cr_metadata_load_xml (cr_Metadata md, struct cr_MetadataLocation *ml)
 
int cr_metadata_locate_and_load_xml (cr_Metadata md, const char *repopath)
 

Detailní popis

Module for loading yum xml metadata.

Example:

int ret;
cr_Metadata oldmetadata;
GHashTable hashtable;
// Create new metadata object
oldmetadata = cr_metadata_new(CR_HT_KEY_FILENAME, 1, NULL);
// Load metadata (path to directory which contains repodata/ subdir)
ret = cr_metadata_locate_and_load_xml(oldmetadata, "/foo/bar/repo/")
// Check return code
if (ret != CR_LOAD_METADATA_OK) exit(1);
// Get hash table with all loaded packages (key is package relative path)
hashtable = cr_metadata_hashtable(oldmetadata);
// What to do with hashtable?
// See: http://developer.gnome.org/glib/2.30/glib-Hash-Tables.html

Dokumentace k definicím maker

#define CR_LOAD_METADATA_ERR   1

Error while loading metadata

Definice je uvedena na řádku 88 v souboru load_metadata.h.

#define CR_LOAD_METADATA_OK   0

Metadata loaded successfully

Definice je uvedena na řádku 87 v souboru load_metadata.h.

#define cr_metadata_chunk (   X)    ((X)->chunk)

Return GStringChunk from a cr_Metadata

Definice je uvedena na řádku 72 v souboru load_metadata.h.

#define cr_metadata_hashtable (   X)    ((X)->ht)

Return hashtable from a cr_Metadata

Definice je uvedena na řádku 70 v souboru load_metadata.h.

#define cr_metadata_key (   X)    ((X)->key)

Return cr_HashTableKey from a cr_Metadata

Definice je uvedena na řádku 68 v souboru load_metadata.h.

Dokumentace definic typů

typedef struct _cr_Metadata* cr_Metadata

Pointer to structure with loaded metadata

Definice je uvedena na řádku 85 v souboru load_metadata.h.

Dokumentace výčtových typů

Package attribute used as key in the hashtable.

Hodnoty výčtu
CR_HT_KEY_DEFAULT 

default = pkg hash

CR_HT_KEY_HASH 

pkg hash (cr_Package ->pkgId)

CR_HT_KEY_NAME 

pkg name (cr_Package ->name)

CR_HT_KEY_FILENAME 

pkg filename (cr_Package ->location_href)

Definice je uvedena na řádku 59 v souboru load_metadata.h.

Dokumentace funkcí

void cr_metadata_free ( cr_Metadata  md)

Destroy metadata.

Parametry
mdcr_Metadata object
int cr_metadata_load_xml ( cr_Metadata  md,
struct cr_MetadataLocation ml 
)

Load metadata from the specified location.

Parametry
mdmetadata object
mlmetadata location
Návratová hodnota
return code CR_LOAD_METADATA_OK or CR_LOAD_METADATA_ERR
int cr_metadata_locate_and_load_xml ( cr_Metadata  md,
const char *  repopath 
)

Locate and load metadata from the specified path.

Parametry
mdmetadata object
repopathpath to repo (to directory with repodata/ subdir)
Návratová hodnota
return code CR_LOAD_METADATA_OK or CR_LOAD_METADATA_ERR
cr_Metadata cr_metadata_new ( cr_HashTableKey  key,
int  use_single_chunk,
GSList *  pkglist 
)

Create new (empty) metadata hashtable. It is NOT thread safe to load data into single cr_Metadata from multiple threads. But non modifying access to the loaded data in cr_Metadata is thread safe.

Parametry
keykey specifies which value will be (is) used as key in hash table
use_single_chunkuse only one string chunk (all loaded packages share one string chunk in the cr_Metadata object) Packages will not be standalone objects. This option leads to less memory consumption.
pkglistload only packages which base filename is in this list. If param is NULL all packages are loaded.
Návratová hodnota
empty cr_Metadata object