<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Extending GIO: GIO Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="running-gio-apps.html" title="Running GIO applications">
<link rel="next" href="pt02.html" title="Part II. API Reference">
<meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</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="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="running-gio-apps.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="pt02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<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
      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><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,
          see <a class="link" href="GVfs.html#g-vfs-is-active" title="g_vfs_is_active ()"><code class="function">g_vfs_is_active()</code></a>.
       
          GIO implements this extension point for local files, gvfs contains
          an implementation that supports all the backends in gvfs.
       </p>
<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><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 udisks2-based implementation.
      </p>
<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><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><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
        implementation with the highest priority.
      
        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.25.1</div>
</body>
</html>