G-Golf Introspection Repository low level API.
GIRepository — GObject Introspection repository manager.
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
GIRepository
is used to manage repositories of
namespaces. Namespaces are represented on disk by type libraries
(.typelib files).
GObject
|___ GIRepository
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).
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
.
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.
Return the list of currently loaded namespaces.
Returns the number of metadata entries in namespace. The namespace must have already been loaded before calling this procedure.
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.
Returns a (possibly empty) list.
Obtains and returns an unordered (possibly empty) list of versions (either currently loaded or available) for namespace in repository.
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>".
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.
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.
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.
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.
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.
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.