📄 gio-extension-points.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>Extending GIO</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" 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.9 (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="gio-extension-points.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="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="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="ch14.html" title="Migrating from POSIX to GIO"><link rel="chapter" href="ch15.html" title="Migrating from GnomeVFS to GIO"><link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy"><link rel="index" href="ix01.html" title="Index"></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"><td><a accesskey="p" href="ch03.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><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" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="gio-extension-points"></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"><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"><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 hal-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. gvfs contains a GConf-based implementation that uses the same GConf keys as gnome-vfs. </p></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -