<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Extending GIO</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="GIO Reference Manual">
<link rel="up" href="pt01.html" title="Part I. GIO Overview">
<link rel="prev" href="ch03.html" title="Running GIO applications">
<link rel="next" href="pt02.html" title="Part II. API Reference">
-<meta name="generator" content="GTK-Doc V1.13 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="part" href="pt01.html" title="Part I. GIO Overview">
-<link rel="chapter" href="ch01.html" title="Introduction">
-<link rel="chapter" href="ch02.html" title="Compiling GIO applications">
-<link rel="chapter" href="ch03.html" title="Running GIO applications">
-<link rel="chapter" href="extending-gio.html" title="Extending GIO">
-<link rel="part" href="pt02.html" title="Part II. API Reference">
-<link rel="chapter" href="file_ops.html" title="File Operations">
-<link rel="chapter" href="file_mon.html" title="File System Monitoring">
-<link rel="chapter" href="async.html" title="Asynchronous I/O">
-<link rel="chapter" href="conversion.html" title="Data conversion">
-<link rel="chapter" href="streaming.html" title="Streaming I/O">
-<link rel="chapter" href="types.html" title="File types and applications">
-<link rel="chapter" href="volume_mon.html" title="Volumes and Drives">
-<link rel="chapter" href="icons.html" title="Icons">
-<link rel="chapter" href="failable_initialization.html" title="Failable Initialization">
-<link rel="chapter" href="networking.html" title="Lowlevel platform-independent network support">
-<link rel="chapter" href="resolver.html" title="DNS resolution">
-<link rel="chapter" href="highlevel-socket.html" title="Highlevel network functionallity">
-<link rel="chapter" href="utils.html" title="Utilities">
-<link rel="chapter" href="extending.html" title="Extending GIO">
-<link rel="part" href="migrating.html" title="Part III. Migrating to GIO">
-<link rel="chapter" href="ch19.html" title="Migrating from POSIX to GIO">
-<link rel="chapter" href="ch20.html" title="Migrating from GnomeVFS to GIO">
-<link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy">
-<link rel="index" href="api-index-full.html" title="Index">
-<link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
-<link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
-<link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
-<link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<th width="100%" align="center">GIO Reference Manual</th>
<td><a accesskey="n" href="pt02.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
-<div class="chapter" title="Extending GIO">
+<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="extending-gio"></a>Extending GIO</h2></div></div></div>
<p>
A lot of the functionality that is accessible through GIO
is implemented in loadable modules, and modules provide a convenient
- way to extend GIO. In addition to the <a class="link" href="GIOModule.html" title="GIOModule"><span class="type">GIOModule</span></a> API which supports
+ way to extend GIO. In addition to the <a class="link" href="GIOModule.html" title="GIOModule"><span class="type">GIOModule</span></a> API which supports
writing such modules, GIO has a mechanism to define extension points,
and register implementations thereof, see <a class="link" href="gio-Extension-Points.html#GIOExtensionPoint" title="GIOExtensionPoint"><span class="type">GIOExtensionPoint</span></a>.
</p>
<p>
The following extension points are currently defined by GIO:
</p>
-<p title="G_VFS_EXTENSION_POINT_NAME"><b>G_VFS_EXTENSION_POINT_NAME. </b>
+<p><b>G_VFS_EXTENSION_POINT_NAME. </b>
Allows to override the functionality of the <a class="link" href="GVfs.html" title="GVfs"><span class="type">GVfs</span></a> class.
Implementations of this extension point must be derived from <a class="link" href="GVfs.html" title="GVfs"><span class="type">GVfs</span></a>.
GIO uses the implementation with the highest priority that is active,
GIO implements this extension point for local files, gvfs contains
an implementation that supports all the backends in gvfs.
</p>
-<p title="G_VOLUME_MONITOR_EXTENSION_POINT_NAME"><b>G_VOLUME_MONITOR_EXTENSION_POINT_NAME. </b>
+<p><b>G_VOLUME_MONITOR_EXTENSION_POINT_NAME. </b>
Allows to add more volume monitors.
Implementations of this extension point must be derived from
<a class="link" href="GVolumeMonitor.html" title="GVolumeMonitor"><span class="type">GVolumeMonitor</span></a>. GIO uses all registered extensions.
gvfs contains an implementation that works together with the <a class="link" href="GVfs.html" title="GVfs"><span class="type">GVfs</span></a>
implementation in gvfs.
</p>
-<p title="G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME"><b>G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME. </b>
+<p><b>G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME. </b>
Allows to override the 'native' volume monitor.
Implementations of this extension point must be derived from
<span class="type">GNativeVolumeMonitor</span>. GIO uses the implementation with
the highest priority that is supported, as determined by the
<code class="function">is_supported()</code> vfunc in <span class="type">GVolumeMonitorClass</span>.
- GIO implements this extension point for local mounts,
- gvfs contains a hal-based implementation.
+ GIO implements this extension point for local mounts,
+ gvfs contains a hal-based implementation.
</p>
-<p title="G_LOCAL_FILE_MONITOR_EXTENSION_POINT_NAME"><b>G_LOCAL_FILE_MONITOR_EXTENSION_POINT_NAME. </b>
- Allows to override the file monitor implementation for
- local files. Implementations of this extension point must
- be derived from <span class="type">GLocalFileMonitor</span>. GIO uses the implementation
+<p><b>G_LOCAL_FILE_MONITOR_EXTENSION_POINT_NAME. </b>
+ Allows to override the file monitor implementation for
+ local files. Implementations of this extension point must
+ be derived from <span class="type">GLocalFileMonitor</span>. GIO uses the implementation
with the highest priority that is supported, as determined by the
<code class="function">is_supported()</code> vfunc in <span class="type">GLocalFileMonitorClass</span>.
GIO uses this extension point internally, to switch between
its fam-based and inotify-based file monitoring implementations.
</p>
-<p title="G_LOCAL_DIRECTORY_MONITOR_EXTENSION_POINT_NAME"><b>G_LOCAL_DIRECTORY_MONITOR_EXTENSION_POINT_NAME. </b>
- Allows to override the directory monitor implementation for
- local files. Implementations of this extension point must be
+<p><b>G_LOCAL_DIRECTORY_MONITOR_EXTENSION_POINT_NAME. </b>
+ Allows to override the directory monitor implementation for
+ local files. Implementations of this extension point must be
derived from <span class="type">GLocalDirectoryMonitor</span>. GIO uses the implementation
with the highest priority that is supported, as determined by the
<code class="function">is_supported()</code> vfunc in <span class="type">GLocalDirectoryMonitorClass</span>.
GIO uses this extension point internally, to switch between
its fam-based and inotify-based directory monitoring implementations.
</p>
-<p title="G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME"><b>G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME. </b>
+<p><b>G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME. </b>
Unix-only. Allows to provide a way to associate default handlers
- with URI schemes. Implementations of this extension point must
- implement the <a class="link" href="gio-Desktop-file-based-GAppInfo.html#GDesktopAppInfoLookup"><span class="type">GDesktopAppInfoLookup</span></a> interface. GIO uses the
+ with URI schemes. Implementations of this extension point must
+ implement the <span class="type">GDesktopAppInfoLookup</span> interface. GIO uses the
implementation with the highest priority.
- gvfs contains a GConf-based implementation that uses the
- same GConf keys as gnome-vfs.
+ This extension point has been discontinued in GLib 2.28. It is
+ still available to keep API and ABI stability, but GIO is no
+ longer using it for default handlers. Instead, the mime handler
+ mechanism is used, together with x-scheme-handler pseudo-mimetypes.
</p>
+<p><b>G_SETTINGS_BACKEND_EXTENSION_POINT_NAME. </b>
+ Allows to provide an alternative storage for <a class="link" href="GSettings.html" title="GSettings"><span class="type">GSettings</span></a>.
+ Implementations of this extension point must derive from the
+ <a class="link" href="GSettingsBackend.html" title="GSettingsBackend"><span class="type">GSettingsBackend</span></a> type. GIO contains a keyfile-based
+ implementation of this extension point, another one is provided
+ by dconf.
+ </p>
+<p><b>G_PROXY_EXTENSION_POINT_NAME. </b>
+ Allows to provide implementations for network proxying.
+ Implementations of this extension point must provide the
+ <a class="link" href="GProxy.html" title="GProxy"><span class="type">GProxy</span></a> interface, and must be named after the network
+ protocol they are proxying.
+
+ glib-networking contains an implementation of this extension
+ point based on libproxy.
+ </p>
+<p><b>G_TLS_BACKEND_EXTENSION_POINT_NAME. </b>
+ Allows to provide implementations for TLS support.
+ Implementations of this extension point must implement
+ the <a class="link" href="GTlsBackend.html" title="GTlsBackend"><span class="type">GTlsBackend</span></a> interface.
+
+ glib-networking contains an implementation of this extension
+ point.
+ </p>
+<p><b>G_NETWORK_MONITOR_EXTENSION_POINT_NAME. </b>
+ Allows to provide implementations for network connectivity
+ monitoring.
+ Implementations of this extension point must implement
+ the <a class="link" href="GNetworkMonitor.html#GNetworkMonitorInterface" title="struct GNetworkMonitorInterface"><span class="type">GNetworkMonitorInterface</span></a> interface.
+
+ GIO contains an implementation of this extension point
+ that is using the netlink interface of the Linux kernel.
+ </p>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.13</div>
+ Generated by GTK-Doc V1.18</div>
</body>
</html>
\ No newline at end of file