|
Packit |
ae235b |
|
|
Packit |
ae235b |
<html>
|
|
Packit |
ae235b |
<head>
|
|
Packit |
ae235b |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
Packit |
ae235b |
<title>Extending GIO: GIO Reference Manual</title>
|
|
Packit |
ae235b |
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
|
Packit |
ae235b |
<link rel="home" href="index.html" title="GIO Reference Manual">
|
|
Packit |
ae235b |
<link rel="up" href="pt01.html" title="Part I. GIO Overview">
|
|
Packit |
ae235b |
<link rel="prev" href="running-gio-apps.html" title="Running GIO applications">
|
|
Packit |
ae235b |
<link rel="next" href="pt02.html" title="Part II. API Reference">
|
|
Packit |
ae235b |
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
|
Packit |
ae235b |
<link rel="stylesheet" href="style.css" type="text/css">
|
|
Packit |
ae235b |
</head>
|
|
Packit |
ae235b |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Extending GIO
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
A lot of the functionality that is accessible through GIO
|
|
Packit |
ae235b |
is implemented in loadable modules, and modules provide a convenient
|
|
Packit |
ae235b |
way to extend GIO. In addition to the GIOModule API which supports
|
|
Packit |
ae235b |
writing such modules, GIO has a mechanism to define extension points,
|
|
Packit |
ae235b |
and register implementations thereof, see GIOExtensionPoint.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
The following extension points are currently defined by GIO:
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
G_VFS_EXTENSION_POINT_NAME.
|
|
Packit |
ae235b |
Allows to override the functionality of the GVfs class.
|
|
Packit |
ae235b |
Implementations of this extension point must be derived from GVfs.
|
|
Packit |
ae235b |
GIO uses the implementation with the highest priority that is active,
|
|
Packit |
ae235b |
see g_vfs_is_active() .
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GIO implements this extension point for local files, gvfs contains
|
|
Packit |
ae235b |
an implementation that supports all the backends in gvfs.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
G_VOLUME_MONITOR_EXTENSION_POINT_NAME.
|
|
Packit |
ae235b |
Allows to add more volume monitors.
|
|
Packit |
ae235b |
Implementations of this extension point must be derived from
|
|
Packit |
ae235b |
GVolumeMonitor. GIO uses all registered extensions.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
gvfs contains an implementation that works together with the GVfs
|
|
Packit |
ae235b |
implementation in gvfs.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME.
|
|
Packit |
ae235b |
Allows to override the 'native' volume monitor.
|
|
Packit |
ae235b |
Implementations of this extension point must be derived from
|
|
Packit |
ae235b |
GNativeVolumeMonitor. GIO uses the implementation with
|
|
Packit |
ae235b |
the highest priority that is supported, as determined by the
|
|
Packit |
ae235b |
is_supported() vfunc in GVolumeMonitorClass.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GIO implements this extension point for local mounts,
|
|
Packit |
ae235b |
gvfs contains a udisks2-based implementation.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
G_LOCAL_FILE_MONITOR_EXTENSION_POINT_NAME.
|
|
Packit |
ae235b |
Allows to override the file monitor implementation for
|
|
Packit |
ae235b |
local files. Implementations of this extension point must
|
|
Packit |
ae235b |
be derived from GLocalFileMonitor. GIO uses the implementation
|
|
Packit |
ae235b |
with the highest priority that is supported, as determined by the
|
|
Packit |
ae235b |
is_supported() vfunc in GLocalFileMonitorClass.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GIO uses this extension point internally, to switch between
|
|
Packit |
ae235b |
its fam-based and inotify-based file monitoring implementations.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
G_LOCAL_DIRECTORY_MONITOR_EXTENSION_POINT_NAME.
|
|
Packit |
ae235b |
Allows to override the directory monitor implementation for
|
|
Packit |
ae235b |
local files. Implementations of this extension point must be
|
|
Packit |
ae235b |
derived from GLocalDirectoryMonitor. GIO uses the implementation
|
|
Packit |
ae235b |
with the highest priority that is supported, as determined by the
|
|
Packit |
ae235b |
is_supported() vfunc in GLocalDirectoryMonitorClass.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GIO uses this extension point internally, to switch between
|
|
Packit |
ae235b |
its fam-based and inotify-based directory monitoring implementations.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME.
|
|
Packit |
ae235b |
Unix-only. Allows to provide a way to associate default handlers
|
|
Packit |
ae235b |
with URI schemes. Implementations of this extension point must
|
|
Packit |
ae235b |
implement the GDesktopAppInfoLookup interface. GIO uses the
|
|
Packit |
ae235b |
implementation with the highest priority.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
This extension point has been discontinued in GLib 2.28. It is
|
|
Packit |
ae235b |
still available to keep API and ABI stability, but GIO is no
|
|
Packit |
ae235b |
longer using it for default handlers. Instead, the mime handler
|
|
Packit |
ae235b |
mechanism is used, together with x-scheme-handler pseudo-mimetypes.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
G_SETTINGS_BACKEND_EXTENSION_POINT_NAME.
|
|
Packit |
ae235b |
Allows to provide an alternative storage for GSettings.
|
|
Packit |
ae235b |
Implementations of this extension point must derive from the
|
|
Packit |
ae235b |
GSettingsBackend type. GIO contains a keyfile-based
|
|
Packit |
ae235b |
implementation of this extension point, another one is provided
|
|
Packit |
ae235b |
by dconf.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
G_PROXY_EXTENSION_POINT_NAME.
|
|
Packit |
ae235b |
Allows to provide implementations for network proxying.
|
|
Packit |
ae235b |
Implementations of this extension point must provide the
|
|
Packit |
ae235b |
GProxy interface, and must be named after the network
|
|
Packit |
ae235b |
protocol they are proxying.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
glib-networking contains an implementation of this extension
|
|
Packit |
ae235b |
point based on libproxy.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
G_TLS_BACKEND_EXTENSION_POINT_NAME.
|
|
Packit |
ae235b |
Allows to provide implementations for TLS support.
|
|
Packit |
ae235b |
Implementations of this extension point must implement
|
|
Packit |
ae235b |
the GTlsBackend interface.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
glib-networking contains an implementation of this extension
|
|
Packit |
ae235b |
point.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
G_NETWORK_MONITOR_EXTENSION_POINT_NAME.
|
|
Packit |
ae235b |
Allows to provide implementations for network connectivity
|
|
Packit |
ae235b |
monitoring.
|
|
Packit |
ae235b |
Implementations of this extension point must implement
|
|
Packit |
ae235b |
the GNetworkMonitorInterface interface.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GIO contains an implementation of this extension point
|
|
Packit |
ae235b |
that is using the netlink interface of the Linux kernel.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Generated by GTK-Doc V1.27
|
|
Packit |
ae235b |
</body>
|
|
Packit |
ae235b |
</html>
|