Repository

G-Golf Introspection Repository low level API.
GIRepository — GObject Introspection repository manager.

Procedures

g-irepository-get-default
g-irepository-get-dependencies
g-irepository-get-loaded-namespaces
g-irepository-get-n-infos
g-irepository-get-info
g-irepository-enumerate-versions
g-irepository-get-typelib-path
g-irepository-require
g-irepository-get-c-prefix
g-irepository-get-shared-library
g-irepository-get-version
g-irepository-find-by-gtype
g-irepository-find-by-name

Description

GIRepository is used to manage repositories of namespaces. Namespaces are represented on disk by type libraries (.typelib files).

Object Hierarchy

GObject
|___ GIRepository

Procedures

Note: in this section, when the #:repository optional keyword argument is passed, it is [must be] a pointer to a GIRepository. Its default value is #f, the scheme representation for NULL, meaning the singleton process-global default GIRepository (see g-irepository-get-default).

Procedure: g-irepository-get-default

Returns a pointer to the singleton process-global default GIRepository.

GObject Introspection does not currently support multiple repositories in a particular process, but this procedure is provided in the unlikely eventuality that it would become possible.

All G-Golf low level API procedures on GIRepository also accept an optional #:repository keyword argument which defaults to #f, meaning this singleton process-global default GIRepository.

Procedure: g-irepository-get-dependencies namespace [#:repository #f]

Returns a list of all (transitive) versioned dependencies for namespace. Returned string are of the form namespace-version.

Note: The namespace must have already been loaded using a procedure such as g-irepository-require before calling this procedure.

Procedure: g-irepository-get-loaded-namespaces [#:repository #f]

Return the list of currently loaded namespaces.

Procedure: g-irepository-get-n-infos namespace [#:repository #f]

Returns the number of metadata entries in namespace. The namespace must have already been loaded before calling this procedure.

Procedure: g-irepository-get-info namespace index [#:repository #f]

Returns a pointer to a particular metadata entry in the given namespace.

The namespace must have already been loaded before calling this procedure. See g-irepository-get-n-infos to find the maximum number of entries.

index is a 0-based offset into namespace for entry.

Procedure: g-irepository-enumerate-versions namespace [#:repository #f]

Returns a (possibly empty) list.

Obtains and returns an unordered (possibly empty) list of versions (either currently loaded or available) for namespace in repository.

Procedure: g-irepository-get-typelib-path namespace [#:repository #f]

Returns the full path to the .typelib file namespace was loaded from, if loaded. If namespace is not loaded or does not exist, it will return #f. If the typelib for namespace was included in a shared library, it returns the special string "<builtin>".

Procedure: g-irepository-require namespace [#:version #f] [#:repository #f]

Returns a pointer a GITypelib structure, if the Typelib file for namespace exists. Otherwise, it raises an error.

Force the namespace to be loaded if it isn’t already. If namespace is not loaded, this procedure will search for a ".typelib" file using the repository search path. In addition, a version version of namespace may be specified. If version is not specified, the latest will be used.

Procedure: g-irepository-get-c-prefix namespace [#:repository #f]

Returns the "C prefix", or the C level namespace associated with the given introspection namespace. Each C symbol starts with this prefix, as well each GType in the library.

Note: The namespace must have already been loaded using a procedure such as g-irepository-require before calling this procedure.

Procedure: g-irepository-get-shared-library namespace [#:repository #f]

Returns a list of paths to the shared C libraries associated with the given namespace. There may be no shared library path associated, in which case this procedure will return an empty list.

Procedure: g-irepository-get-version namespace [#:repository #f]

Returns the loaded version associated with the given namespace.

Note: The namespace must have already been loaded using a procedure such as g-irepository-require before calling this procedure.

Procedure: g-irepository-find-by-gtype gtype [#:repository #f]

Returns a pointer to a GIBaseInfo representing metadata about gtype, or #f.

Searches all loaded namespaces for a particular GType. Note that in order to locate the metadata, the namespace corresponding to the type must first have been loaded. There is currently no mechanism for determining the namespace which corresponds to an arbitrary GType - thus, this procedure will operate most reliably when you know the GType to originate from be from a loaded namespace.

Procedure: g-irepository-find-by-name namespace name [#:repository #f]

Returns a pointer to a GIBaseInfo representing metadata about type, or #f.

Searches for a particular entry in namespace. Before calling this function for a particular namespace, you must call g-irepository-require once to load the namespace, or otherwise ensure the namespace has already been loaded.