## metadata

metadata —

## Synopsis

    struct      GsfDocMetaData;
    struct      GsfDocProp;
    GsfDocMetaData* gsf_doc_meta_data_new       (void);
    void        gsf_doc_meta_data_foreach       (GsfDocMetaData const *meta,
                                                 GHFunc func,
                                                 gpointer user_data);
    gsize       gsf_doc_meta_data_size          (GsfDocMetaData const *meta);
    GQuark      gsf_doc_meta_data_error         (void);
    void        gsf_doc_meta_data_remove_prop   (GsfDocMetaData *meta,
                                                 char const *prop);
    void        gsf_doc_meta_data_set_prop      (GsfDocMetaData *meta,
                                                 char const *prop,
                                                 GValue const *value);

    #define     GSF_META_KEY_COUNT_PAGES
    #define     GSF_META_KEY_RIGHTS
    #define     GSF_META_KEY_DATE_LAST_PRINTED
    #define     GSF_META_KEY_LANGUAGE
    #define     GSF_META_KEY_SOURCE
    #define     GSF_META_KEY_COVERAGE
    #define     GSF_META_KEY_CONTRIBUTOR
    #define     GSF_META_KEY_DESCRIPTION
    #define     GSF_META_KEY_RELATION
    #define     GSF_META_KEY_GENERATOR
    #define     GSF_META_KEY_KEYWORDS
    #define     GSF_META_KEY_TYPE
    #define     GSF_META_KEY_DATE_LAST_MODIFIED
    #define     GSF_META_KEY_FORMAT
    #define     GSF_META_KEY_TITLE
    #define     GSF_META_KEY_SUBJECT
    #define     GSF_META_KEY_COUNT_WORDS
    #define     GSF_META_KEY_PUBLISHER
    #define     GSF_META_KEY_COUNT_CHARACTERS
    #define     GSF_META_KEY_REVISION_TAG
    #define     GSF_META_KEY_DATE_CREATED
    #define     GSF_META_KEY_CREATOR

## Description

## Details

### struct GsfDocMetaData

    struct GsfDocMetaData;

### struct GsfDocProp

    struct GsfDocProp {

    	char const *name;
    	GValue *val;
    	char const *linked_to; /* optionally NULL */
    };

### gsf_doc_meta_data_new ()

    GsfDocMetaData* gsf_doc_meta_data_new       (void);

Returns : | a new metadata property collection

### gsf_doc_meta_data_foreach ()

    void        gsf_doc_meta_data_foreach       (GsfDocMetaData const *meta,
                                                 GHFunc func,
                                                 gpointer user_data);

Iterate through each (key, value) pair in this collection

`meta` : | the collection
`func` : | the function called once for each element in the collection
`user_data` : | any supplied user data or NULL

### gsf_doc_meta_data_size ()

    gsize       gsf_doc_meta_data_size          (GsfDocMetaData const *meta);

`meta` : | the collection
Returns : | the number of items in this collection

### gsf_doc_meta_data_error ()

    GQuark      gsf_doc_meta_data_error         (void);

Returns : |

### gsf_doc_meta_data_remove_prop ()

    void        gsf_doc_meta_data_remove_prop   (GsfDocMetaData *meta,
                                                 char const *prop);

If `prop` does not exist in the collection, do nothing. If `prop` does exist, remove it and its value from the collection

`meta` : | the collection
`prop` : | the non-null string name of the property

### gsf_doc_meta_data_set_prop ()

    void        gsf_doc_meta_data_set_prop      (GsfDocMetaData *meta,
                                                 char const *prop,
                                                 GValue const *value);

If `prop` does not exist in the collection, add it to the collection. If `prop` does exist in the collection, replace the old value with this new one

`meta` : | the collection
`prop` : | the non-null string name of the property.
`value` : | the non-null value associated with `prop`

### GSF_META_KEY_COUNT_PAGES

    #define GSF_META_KEY_COUNT_PAGES        "urn:GSF:1.0:CountPages"

### GSF_META_KEY_RIGHTS

    #define GSF_META_KEY_RIGHTS             "urn:DublinCore:1.0:Rights"

### GSF_META_KEY_DATE_LAST_PRINTED

    #define GSF_META_KEY_DATE_LAST_PRINTED  "urn:GSF:1.0:DateLastPrinted"

### GSF_META_KEY_LANGUAGE

    #define GSF_META_KEY_LANGUAGE           "urn:DublinCore:1.0:Language"

### GSF_META_KEY_SOURCE

    #define GSF_META_KEY_SOURCE             "urn:DublinCore:1.0:Source"

### GSF_META_KEY_COVERAGE

    #define GSF_META_KEY_COVERAGE           "urn:DublinCore:1.0:Coverage"

### GSF_META_KEY_CONTRIBUTOR

    #define GSF_META_KEY_CONTRIBUTOR        "urn:DublinCore:1.0:Contributor"

### GSF_META_KEY_DESCRIPTION

    #define GSF_META_KEY_DESCRIPTION        "urn:DublinCore:1.0:Description"

### GSF_META_KEY_RELATION

    #define GSF_META_KEY_RELATION           "urn:DublinCore:1.0:Relation"

### GSF_META_KEY_GENERATOR

    #define GSF_META_KEY_GENERATOR          "urn:GSF:1.0:Generator"

### GSF_META_KEY_KEYWORDS

    #define GSF_META_KEY_KEYWORDS           "urn:GSF:1.0:Keywords"

### GSF_META_KEY_TYPE

    #define GSF_META_KEY_TYPE               "urn:DublinCore:1.0:Type"

### GSF_META_KEY_DATE_LAST_MODIFIED

    #define GSF_META_KEY_DATE_LAST_MODIFIED "urn:GSF:1.0:DateLastModified"

### GSF_META_KEY_FORMAT

    #define GSF_META_KEY_FORMAT             "urn:DublinCore:1.0:Format"

### GSF_META_KEY_TITLE

    #define GSF_META_KEY_TITLE              "urn:DublinCore:1.0:Title"

### GSF_META_KEY_SUBJECT

    #define GSF_META_KEY_SUBJECT            "urn:DublinCore:1.0:Subject"

### GSF_META_KEY_COUNT_WORDS

    #define GSF_META_KEY_COUNT_WORDS        "urn:GSF:1.0:CountWords"

### GSF_META_KEY_PUBLISHER

    #define GSF_META_KEY_PUBLISHER          "urn:DublinCore:1.0:Publisher"

### GSF_META_KEY_COUNT_CHARACTERS

    #define GSF_META_KEY_COUNT_CHARACTERS   "urn:GSF:1.0:CountCharacters"

### GSF_META_KEY_REVISION_TAG

    #define GSF_META_KEY_REVISION_TAG       "urn:GSF:1.0:RevisionTag"

### GSF_META_KEY_DATE_CREATED

    #define GSF_META_KEY_DATE_CREATED       "urn:DublinCore:1.0:DateCreated"

### GSF_META_KEY_CREATOR

    #define GSF_META_KEY_CREATOR            "urn:DublinCore:1.0:Creator"