Package ch.bailu.gtk.gio
Class IOModule
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gobject.Object
ch.bailu.gtk.gobject.TypeModule
ch.bailu.gtk.gio.IOModule
- All Implemented Interfaces:
PointerInterface
Provides an interface and default functions for loading and unloading
modules. This is used internally to make GIO extensible, but can also
be used by others to implement module loading.
modules. This is used internally to make GIO extensible, but can also
be used by others to implement module loading.
-
Nested Class Summary
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDestroyNotify, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionImplements interfaceTypePlugin
.static ClassHandler
static int
static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
void
load()
Required API for GIO modules to implement.static Strs
query()
Optional API for GIO modules to implement.void
unload()
Required API for GIO modules to implement.Methods inherited from class ch.bailu.gtk.gobject.TypeModule
addInterface, registerEnum, registerEnum, registerFlags, registerFlags, registerType, registerType, setName, setName, unuse, use
Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
IOModule
-
IOModule
Creates a new GIOModule that will load the specific
shared library when in use.- Parameters:
filename
- filename of the shared library module.
-
IOModule
Creates a new GIOModule that will load the specific
shared library when in use.- Parameters:
filename
- filename of the shared library module.
-
-
Method Details
-
getClassHandler
-
load
public void load()Required API for GIO modules to implement.
This function is run after the module has been loaded into GIO,
to initialize the module. Typically, this function will call
g_io_extension_point_implement().
Since 2.56, this function should be named `g_io_<modulename>_load`, where
`modulename` is the plugin’s filename with the `lib` or `libgio` prefix and
everything after the first dot removed, and with `-` replaced with `_`
throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`.
Using the new symbol names avoids name clashes when building modules
statically. The old symbol names continue to be supported, but cannot be used
for static builds. -
unload
public void unload()Required API for GIO modules to implement.
This function is run when the module is being unloaded from GIO,
to finalize the module.
Since 2.56, this function should be named `g_io_<modulename>_unload`, where
`modulename` is the plugin’s filename with the `lib` or `libgio` prefix and
everything after the first dot removed, and with `-` replaced with `_`
throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`.
Using the new symbol names avoids name clashes when building modules
statically. The old symbol names continue to be supported, but cannot be used
for static builds. -
query
Optional API for GIO modules to implement.
Should return a list of all the extension points that may be
implemented in this module.
This method will not be called in normal use, however it may be
called when probing existing modules and recording which extension
points that this model is used for. This means we won't have to
load and initialize this module unless its needed.
If this function is not implemented by the module the module will
always be loaded, initialized and then unloaded on application
startup so that it can register its extension points during init.
Note that a module need not actually implement all the extension
points that g_io_module_query() returns, since the exact list of
extension may depend on runtime issues. However all extension
points actually implemented must be returned by g_io_module_query()
(if defined).
When installing a module that implements g_io_module_query() you must
run gio-querymodules in order to build the cache files required for
lazy loading.
Since 2.56, this function should be named `g_io_<modulename>_query`, where
`modulename` is the plugin’s filename with the `lib` or `libgio` prefix and
everything after the first dot removed, and with `-` replaced with `_`
throughout. For example, `libgiognutls-helper.so` becomes `gnutls_helper`.
Using the new symbol names avoids name clashes when building modules
statically. The old symbol names continue to be supported, but cannot be used
for static builds.- Returns:
- A %NULL-terminated array of strings, listing the supported extension points of the module. The array must be suitable for freeing with g_strfreev().
-
asTypePlugin
Implements interfaceTypePlugin
. Call this to get access to interface functions.- Overrides:
asTypePlugin
in classTypeModule
- Returns:
TypePlugin
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-