Description Methods and Functions Detailed Description Structures Author(s) References
Extension Points
gIoExtensionGetName(object)
gIoExtensionGetPriority(object)
gIoExtensionGetType(object)
gIoExtensionPointGetExtensionByName(object, name)
gIoExtensionPointGetExtensions(object)
gIoExtensionPointGetRequiredType(object)
gIoExtensionPointImplement(extension.point.name, type, extension.name, priority)
gIoExtensionPointLookup(name)
gIoExtensionPointRegister(name)
gIoExtensionPointSetRequiredType(object, type)
gIoExtensionRefClass(object)
GIOExtensionPoint
provides a mechanism for modules to extend the
functionality of the library or application that loaded it in an
organized fashion.
An extension point is identified by a name, and it may optionally
require that any implementation must by of a certain type (or derived
thereof). Use gIoExtensionPointRegister
to register an
extension point, and gIoExtensionPointSetRequiredType
to
set a required type.
A module can implement an extension point by specifying the GType
that implements the functionality. Additionally, each implementation
of an extension point has a name, and a priority. Use
gIoExtensionPointImplement
to implement an extension point.
1 2 3 | ## Register an extension point
ep <- gIoExtensionPointRegister("my-extension-point")
ep$setRequiredType(MY_TYPE_EXAMPLE)
|
1 2 3 4 5 6 | ## Implement an extension point
myExampleImplType <- gClass("MyExampleImpl", MY_TYPE_EXAMPLE)
gIoExtensionPointImplement ("my-extension-point",
myExampleImplType,
"my-example",
10);
|
It is up to the code that registered the extension point how it uses the implementations that have been associated with it. Depending on the use case, it may use all implementations, or only the one with the highest priority, or pick a specific one by name.
GIOExtension
undocumented
GIOExtensionPoint
undocumented
Derived by RGtkGen from GTK+ documentation
https://developer.gnome.org/gio/stable/gio-Extension-Points.html
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.