Blame docs/reference/gio/html/extending-gio.html

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
Home
Packit ae235b
Up
Packit ae235b
Prev
Packit ae235b
Next
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>