summaryrefslogtreecommitdiff
path: root/gio/giomodule.c
AgeCommit message (Collapse)AuthorFilesLines
2013-10-21Add GNotificationLars Uebernickel1-0/+9
https://bugzilla.gnome.org/show_bug.cgi?id=688492
2013-01-19localfile: add support for monitoring on NFSRyan Lortie1-0/+6
Add a pair of new extension points: 'gio-nfs-file-monitor' and 'gio-nfs-directory-monitor'. Add a check to GLocalFile when creating a file monitor. If the requested file is in the user's home directory and the user has an NFS home directory then attempt to use an implementation of one of the new extension points. If we don't have any implementations then fall back to the normal "local" monitors. https://bugzilla.gnome.org/show_bug.cgi?id=592211
2013-01-19giomodule: add a new "get default" functionRyan Lortie1-2/+118
_gio_module_get_default() is a very convenient function for modules implementing a singleton -- it finds the default module by priority subject to override by a given environment variable name, instantiates it, and caches the instance for future calls. It also has the ability to query instances for being 'active' using a callback. It doesn't work very well for non-singletons (like file monitors). Add a new function _gio_module_get_default_type() that skips the instantiation, returning the GType instead. As a replacement for the 'active' callback, a vtable offset can be given for a virtual function to use to query if a particular backend is supported. https://bugzilla.gnome.org/show_bug.cgi?id=592211
2012-12-02win32: Fix GDBusDaemon build when glib is built as a static libKalev Lember1-2/+6
This makes sure not to ifdef _g_io_win32_get_module() out when glib is built as a static lib, and also fixes it to work when DllMain isn't available. The implementation uses GetModuleHandleEx() which is only available on Windows XP and later, so this commit effectively drops the Windows 2000 support in glib. Earlier commit 731b4699 already took care of defining _WIN32_WINNT to support the Windows XP API. https://bugzilla.gnome.org/show_bug.cgi?id=675516
2012-11-15win32: misc warning fixesDan Winship1-0/+4
https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15GFileMonitor: Add kqueue(3) support to GIOAntoine Jacoutot1-0/+6
Written by Dmitry Matveev as part of GSoC 2011: http://netbsd-soc.sourceforge.net/projects/kqueue4gio/ This brings native file monitoring support on systems supporting kqueue(3) (all BSDs) and remove the need to rely on the unmaintained gamin software. The backend adds GKqueueDirectoryMonitor and GKqueueFileMonitor. Some parts rewritten by myself (to prevent needing a configuration file). Helpful inputs from Colin Walters and Simon McVittie. https://bugzilla.gnome.org/show_bug.cgi?id=679793
2012-05-15Add g_type_ensure() and use it rather than playing games with volatileDan Winship1-19/+19
https://bugzilla.gnome.org/show_bug.cgi?id=605976
2012-04-20Add _g_io_win32_get_module to get the gio HMODULEAlexander Larsson1-0/+6
2012-04-11Be more precise about Carbon v. Cocoa.William Hua1-1/+1
2012-02-18docs: Add GIOModuleScope and GIOModuleScopeFlagsDavid King1-1/+1
Fix some typos and add GIOModuleScope and GIOModuleScopeFlags to gio-sections.txt.
2012-02-15Add G_GNUC_BEGIN/END_IGNORE_DEPRECATIONSDan Winship1-3/+2
Add new macros to disable -Wdeprecated-declarations around a piece of code, using the C99 (and GNU89) _Pragma() operator. Replace the existing use of #pragma for this in gio, and suppress the warnings in gvaluearray.c as well. https://bugzilla.gnome.org/show_bug.cgi?id=669671
2012-01-30Move pragmas out of function bodyMatthias Clasen1-4/+4
It seems that older gcc does not like pragmas inside functions.
2012-01-30Silence a deprecation warningMatthias Clasen1-0/+3
Advantage of the new deprecation handling: there's pragmas to shut them up locally.
2012-01-01GSettings: nextstep settings backendWilliam Hua1-0/+3
2011-11-14add GNetworkMonitor, for... monitoring the networkDan Winship1-0/+11
Add GNetworkMonitor and its associated extension point, provide a base implementation that always claims the network is available, and a netlink-based implementation built on top of that that actually tracks the network state. https://bugzilla.gnome.org/show_bug.cgi?id=620932
2011-11-03GIO: Don't use G_DISABLE_DEPRECATED for functionsMatthias Clasen1-2/+0
2011-10-16gio static fixupsRyan Lortie1-1/+1
2011-10-15GIOModule: Use G_SEARCHPATH_SEPARATOR_S instead of ":"Kean Johnston1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=661257
2011-10-12giomodule: make the default_modules mutex recursiveDan Winship1-5/+5
It is possible for _g_io_module_get_default() to be called recursively (eg, if a module of one type is loaded that tries to look up gsettings from its init() method and ends up causing the gsettings module to be loaded). So use a recursive mutex.
2011-10-04Add _g_io_module_get_default(), use to simplify other *_get_default()sDan Winship1-0/+127
Add _g_io_module_get_default(), which implements the figure-out-the-best-available-module-that-is-actually-usable logic, and use that to simplify g_proxy_resolver_get_default(), g_settings_backend_get_default(), g_tls_backend_get_default(), and g_vfs_get_default(). https://bugzilla.gnome.org/show_bug.cgi?id=620932
2011-08-30Fix a doc commentMatthias Clasen1-3/+4
2011-08-26giomodule: When loading GIO_EXTRA_MODULES skip duplicatesStef Walter1-16/+186
* Load modules from paths listed in GIO_EXTRA_MODULES environment variable first. * Ignore duplicate modules based on module basename. * Add the concept of GIOModuleScope which allows other callers to skip duplicate loaded modules, or block specific modules based on basename. * Document behavior. https://bugzilla.gnome.org/show_bug.cgi?id=656914
2011-08-23GIO: Add more missing GI annotationsEduardo Lima Mitev1-5/+5
- g_io_extension_point_register() - g_io_extension_point_lookup() - g_io_extension_point_implement() https://bugzilla.gnome.org/show_bug.cgi?id=625383
2011-01-05Make the memory and null settings backends publicChristian Persch1-1/+2
Bug #636806.
2010-11-29tiny fix to g_io_modules_scan_all_in_directory() docsDan Winship1-1/+1
2010-11-26Add initial TLS (SSL) support to gioDan Winship1-0/+6
This adds an extension point for TLS connections to gio, with a gnutls-based implementation in glib-networking. Full TLS support is still a work in progress; the current API is missing some features, and parts of it may still be changed before 2.28. https://bugzilla.gnome.org/show_bug.cgi?id=588189
2010-11-09API: Reinstate "gio-desktop-app-info-lookup" extension pointBenjamin Otte1-3/+13
Removing an extension point is an API and ABI break. In particular, it causes (older) gvfs versions to fail loading with a linkage error from ld which in turn makes the desktop unusable. So this reinstate the extension point and API provided by it, but deprecates and does not use it. So no functionality is changed. This reverts parts of commit 9b262f1c5fe5a6fd879f17cd7b80d8c54e33d80c. Complaints-Also-To: Ryan Lortie <desrt@desrt.ca>
2010-10-05Replace "gio-desktop-app-info-lookup" extension pointBastien Nocera1-5/+0
With a native version, that looks for desktop items supporting x-scheme-handler/foo, when looking for a handler for the "foo" URI scheme handler. https://bugzilla.gnome.org/show_bug.cgi?id=631410
2010-09-24Add a lot of missing annotationsJohan Dahlin1-2/+2
2010-09-24[introspection] Move over annotationsJohan Dahlin1-1/+2
Move all the annotations over from gobject-introspection. They will not be used directly by the introspection scanner for now, instead they will be extracted by a script and updated manually until introspection is properly integrated into the glib build
2010-09-03Sort extensions properlyMatthias Clasen1-1/+7
Just taking the difference of the priorities has overflow issues, as pointed out in bug 623069.
2010-09-01Add GSettings Windows Registry backendSam Thursfield1-0/+4
2010-08-19Implemented SOCKSv4 and SOCKSv4aNicolas Dufresne1-0/+4
2010-08-19Implemented SOCKSv5 proxy supportNicolas Dufresne1-0/+2
2010-08-19Added GProxy interface for proxy extension pointNicolas Dufresne1-0/+4
Implement an extension point for proxy protocol implementation. This is mainly useful for socket-based proxy where it is possible to use the proxied socket the same way it would for other stream based socket. Reviewed-by: Dan Winship <danw@gnome.org>
2010-08-19Implemented proxy-resolver extension pointNicolas Dufresne1-0/+7
This extension point allow extending GLib with library like LibProxy that interprets system proxy settings and finds the appropriate configuration based on the type of connection being made. Reviewed-by: Dan Winship <danw@gnome.org>
2010-07-29GIO: Add G-I annotations for several methodsEduardo Lima Mitev1-3/+4
Specifically: - g_io_stream_get_input/output_stream() - g_socket_client_get_local_address() - g_socket_connection_get_socket() - g_socket_listener_add_address() - g_socket_listener_accept_socket() - g_socket_listener_accept() - g_io_extension_point_get_extensions()
2010-07-07gio/: fully remove gioalias hacksRyan Lortie1-4/+0
2010-04-18Refer to gio-querymodules in the extension point docsMatthias Clasen1-1/+7
2010-04-17add GMemorySettingsBackendRyan Lortie1-0/+2
2010-03-30Define a public documented type for the struct stat used by g_stat()Tor Lillqvist1-5/+1
Define GStatBuf as the type used by g_stat() and g_lstat(). Replaces the non-public struct tag _g_stat_struct. Mostly relevant for Windows where there are several variants of stat-style structs. On POSIX, is just another name for struct stat. Actually, also on many POSIX systems there are in fact several variants of struct stat and corresponding stat() and lstat() functions, but as g_stat and g_lstat are normally on POSIX just macros that expand to stat and lstat, this should not cause a problem. It's only when it's the actual g_stat() or g_lstat() implementation inside GLib that gets called that one needs to be sure the passed struct is the same as what GLib expects.)
2010-03-21Avoid struct stat issues with MSVCTor Lillqvist1-0/+4
2010-03-07Plug a memleak in g_io_modules_scan_all_in_directoryMatthias Clasen1-2/+2
...and at the same time, fix a malloc<>g_free mismatch. Patch by Caolan McNamara, bug 611897
2010-02-06Don't leak filename in g_io_modules_scan_all_in_directoryTim-Philipp Müller1-0/+2
https://bugzilla.gnome.org/show_bug.cgi?id=608159
2010-01-12Use the new lazy loading of modules for gio modulesAlexander Larsson1-19/+11
2010-01-12Add support for lazy loading of giomodulesAlexander Larsson1-21/+190
Adds an optional query method to giomodules which should return all possible extension points the module may implement. Then we add a new call g_io_modules_scan_all_in_directory() similar to g_io_modules_load_all_in_directory() that doesn't return all loaded modules, thus allowing lazy loading. In g_io_modules_scan_all_in_directory we look for an optional giomodule.cache file and use the information in that to avoid loading modules until they are needed for an extension point.
2009-10-12Construct the gio module directory pathname at run-time on WindowsTor Lillqvist1-0/+33
2009-08-27Re-commit 30b8774f7f3f7f329af6b041b6c86bad14717534Matthias Clasen1-0/+3
Turns out Alex had agreed to this.
2009-08-27Revert "add a "gsettings-backend" extension point to GIO"Matthias Clasen1-3/+0
This reverts commit 30b8774f7f3f7f329af6b041b6c86bad14717534.
2009-08-27add a "gsettings-backend" extension point to GIORyan Lortie1-0/+3