2007-11-27 11:46:45 +01:00
|
|
|
/* GIO - GLib Input, Output and Streaming Library
|
2008-09-02 21:05:58 +02:00
|
|
|
*
|
2007-11-27 11:46:45 +01:00
|
|
|
* Copyright (C) 2006-2007 Red Hat, Inc.
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
2017-05-27 18:21:30 +02:00
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
2007-11-27 11:46:45 +01:00
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General
|
2014-01-23 12:58:29 +01:00
|
|
|
* Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
2007-11-27 11:46:45 +01:00
|
|
|
*
|
|
|
|
* Author: Alexander Larsson <alexl@redhat.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __G_IO_H__
|
|
|
|
#define __G_IO_H__
|
|
|
|
|
2007-12-14 11:35:24 +01:00
|
|
|
#define __GIO_GIO_H_INSIDE__
|
|
|
|
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/giotypes.h>
|
|
|
|
|
2010-08-18 07:56:34 +02:00
|
|
|
#include <gio/gaction.h>
|
2010-08-18 06:33:17 +02:00
|
|
|
#include <gio/gactiongroup.h>
|
2011-06-29 02:02:21 +02:00
|
|
|
#include <gio/gactiongroupexporter.h>
|
2011-12-01 05:19:35 +01:00
|
|
|
#include <gio/gactionmap.h>
|
|
|
|
#include <gio/gappinfo.h>
|
2010-06-07 19:25:39 +02:00
|
|
|
#include <gio/gapplication.h>
|
2010-10-09 23:24:09 +02:00
|
|
|
#include <gio/gapplicationcommandline.h>
|
2009-05-14 15:26:37 +02:00
|
|
|
#include <gio/gasyncinitable.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gasyncresult.h>
|
2007-11-27 11:46:45 +01:00
|
|
|
#include <gio/gbufferedinputstream.h>
|
|
|
|
#include <gio/gbufferedoutputstream.h>
|
2013-04-20 23:23:31 +02:00
|
|
|
#include <gio/gbytesicon.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gcancellable.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gcharsetconverter.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gcontenttype.h>
|
2009-11-18 13:14:13 +01:00
|
|
|
#include <gio/gconverter.h>
|
2009-10-22 22:50:52 +02:00
|
|
|
#include <gio/gconverterinputstream.h>
|
2009-11-23 15:03:57 +01:00
|
|
|
#include <gio/gconverteroutputstream.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gcredentials.h>
|
2015-06-12 09:50:42 +02:00
|
|
|
#include <gio/gdatagrambased.h>
|
2007-11-27 11:46:45 +01:00
|
|
|
#include <gio/gdatainputstream.h>
|
|
|
|
#include <gio/gdataoutputstream.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gdbusactiongroup.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gdbusaddress.h>
|
|
|
|
#include <gio/gdbusauthobserver.h>
|
|
|
|
#include <gio/gdbusconnection.h>
|
|
|
|
#include <gio/gdbuserror.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gdbusinterface.h>
|
|
|
|
#include <gio/gdbusinterfaceskeleton.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gdbusintrospection.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gdbusmenumodel.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gdbusmessage.h>
|
|
|
|
#include <gio/gdbusmethodinvocation.h>
|
|
|
|
#include <gio/gdbusnameowning.h>
|
|
|
|
#include <gio/gdbusnamewatching.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gdbusobject.h>
|
|
|
|
#include <gio/gdbusobjectmanager.h>
|
|
|
|
#include <gio/gdbusobjectmanagerclient.h>
|
|
|
|
#include <gio/gdbusobjectmanagerserver.h>
|
|
|
|
#include <gio/gdbusobjectproxy.h>
|
|
|
|
#include <gio/gdbusobjectskeleton.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gdbusproxy.h>
|
|
|
|
#include <gio/gdbusserver.h>
|
|
|
|
#include <gio/gdbusutils.h>
|
2021-11-11 11:56:50 +01:00
|
|
|
#include <gio/gdebugcontroller.h>
|
|
|
|
#include <gio/gdebugcontrollerdbus.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gdrive.h>
|
2015-06-25 13:58:14 +02:00
|
|
|
#include <gio/gdtlsclientconnection.h>
|
|
|
|
#include <gio/gdtlsconnection.h>
|
|
|
|
#include <gio/gdtlsserverconnection.h>
|
2008-07-28 17:35:07 +02:00
|
|
|
#include <gio/gemblemedicon.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gfile.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gfileattribute.h>
|
|
|
|
#include <gio/gfileenumerator.h>
|
|
|
|
#include <gio/gfileicon.h>
|
|
|
|
#include <gio/gfileinfo.h>
|
|
|
|
#include <gio/gfileinputstream.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gfileiostream.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gfilemonitor.h>
|
2007-11-27 11:46:45 +01:00
|
|
|
#include <gio/gfilenamecompleter.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gfileoutputstream.h>
|
2007-11-27 11:46:45 +01:00
|
|
|
#include <gio/gfilterinputstream.h>
|
|
|
|
#include <gio/gfilteroutputstream.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gicon.h>
|
2008-12-12 19:13:55 +01:00
|
|
|
#include <gio/ginetaddress.h>
|
2011-10-01 14:31:54 +02:00
|
|
|
#include <gio/ginetaddressmask.h>
|
2008-12-12 19:13:55 +01:00
|
|
|
#include <gio/ginetsocketaddress.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/ginitable.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/ginputstream.h>
|
2008-08-04 19:19:30 +02:00
|
|
|
#include <gio/gioenums.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gioenumtypes.h>
|
|
|
|
#include <gio/gioerror.h>
|
2007-11-27 11:46:45 +01:00
|
|
|
#include <gio/giomodule.h>
|
|
|
|
#include <gio/gioscheduler.h>
|
2009-05-12 16:30:15 +02:00
|
|
|
#include <gio/giostream.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/glistmodel.h>
|
|
|
|
#include <gio/gliststore.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gloadableicon.h>
|
2007-11-27 11:46:45 +01:00
|
|
|
#include <gio/gmemoryinputstream.h>
|
2019-07-25 15:52:09 +02:00
|
|
|
#include <gio/gmemorymonitor.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gmemoryoutputstream.h>
|
|
|
|
#include <gio/gmenu.h>
|
|
|
|
#include <gio/gmenuexporter.h>
|
|
|
|
#include <gio/gmenumodel.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gmount.h>
|
|
|
|
#include <gio/gmountoperation.h>
|
2019-08-29 14:31:12 +02:00
|
|
|
#include <gio/gnativesocketaddress.h>
|
Provide eject() on both GMount and GVolume and utility functions to guess
2007-12-14 David Zeuthen <davidz@redhat.com>
* Makefile.am:
* gio.symbols:
* gmount.c: (g_mount_get_uuid), (g_mount_can_eject),
(g_mount_eject), (g_mount_eject_finish):
* gmount.h:
* gunionvolumemonitor.c: (g_union_volume_monitor_finalize),
(get_volume_for_uuid), (get_mount_for_uuid),
(g_union_volume_monitor_class_init),
(get_default_native_type_with_exclude), (get_default_native_type),
(get_native_type), (update_native_type),
(g_union_volume_monitor_init), (_g_mount_get_for_mount_path):
* gunixmount.c: (_g_unix_mount_new), (g_unix_mount_get_uuid),
(g_unix_mount_can_eject), (eject_unmount_cb),
(eject_unmount_read_error), (eject_unmount_do),
(g_unix_mount_unmount), (g_unix_mount_eject),
(g_unix_mount_eject_finish), (g_unix_mount_mount_iface_init):
* gunixmounts.c: (g_unix_mount_guess_can_eject),
(g_unix_mount_point_guess_can_eject):
* gunixmounts.h:
* gunixvolume.c: (_g_unix_volume_new), (g_unix_volume_get_uuid),
(g_unix_volume_can_eject), (g_unix_volume_get_drive),
(eject_mount_cb), (eject_mount_read_error), (eject_mount_do),
(g_unix_volume_mount), (g_unix_volume_eject),
(g_unix_volume_eject_finish), (g_unix_volume_volume_iface_init):
* gunixvolumemonitor.c: (get_volume_for_uuid),
(get_mount_for_uuid), (g_unix_volume_monitor_class_init),
(update_mounts):
* gvolume.c: (g_volume_get_uuid), (g_volume_can_eject),
(g_volume_eject), (g_volume_eject_finish):
* gvolume.h:
* gvolumemonitor.c: (g_volume_monitor_get_volume_for_uuid),
(g_volume_monitor_get_mount_for_uuid):
* gvolumemonitor.h:
Provide eject() on both GMount and GVolume and utility functions
to guess whether a GUnixMountPoint or GUnixMountEntry should be
ejected. Introduce the concept of UUID's and wire it into GVolume
and GMount and provide API on GVolumeMonitor to find such
instances. Also handle the case where an external
GNativeVolumeMonitor fails to initialize. Lock around the
_g_get_mount_for_mount_path() function such that volume monitor
implementations won't have to do locking themselves.
svn path=/trunk/; revision=6140
2007-12-17 10:31:08 +01:00
|
|
|
#include <gio/gnativevolumemonitor.h>
|
2008-12-29 19:38:28 +01:00
|
|
|
#include <gio/gnetworkaddress.h>
|
2011-06-12 21:59:36 +02:00
|
|
|
#include <gio/gnetworkmonitor.h>
|
2008-12-29 19:38:28 +01:00
|
|
|
#include <gio/gnetworkservice.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gnotification.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/goutputstream.h>
|
2010-06-03 22:58:52 +02:00
|
|
|
#include <gio/gpermission.h>
|
2010-09-18 19:05:25 +02:00
|
|
|
#include <gio/gpollableinputstream.h>
|
|
|
|
#include <gio/gpollableoutputstream.h>
|
2012-02-11 23:22:49 +01:00
|
|
|
#include <gio/gpollableutils.h>
|
2021-07-20 23:04:31 +02:00
|
|
|
#include <gio/gpowerprofilemonitor.h>
|
2013-06-28 17:41:43 +02:00
|
|
|
#include <gio/gpropertyaction.h>
|
2010-08-10 21:24:37 +02:00
|
|
|
#include <gio/gproxy.h>
|
2010-04-26 23:27:33 +02:00
|
|
|
#include <gio/gproxyaddress.h>
|
2010-08-10 21:25:11 +02:00
|
|
|
#include <gio/gproxyaddressenumerator.h>
|
2010-05-07 21:55:54 +02:00
|
|
|
#include <gio/gproxyresolver.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gremoteactiongroup.h>
|
2008-12-29 18:53:47 +01:00
|
|
|
#include <gio/gresolver.h>
|
2011-12-21 21:38:23 +01:00
|
|
|
#include <gio/gresource.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gseekable.h>
|
2010-04-17 05:17:01 +02:00
|
|
|
#include <gio/gsettings.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gsettingsschema.h>
|
2011-12-01 05:19:35 +01:00
|
|
|
#include <gio/gsimpleaction.h>
|
|
|
|
#include <gio/gsimpleactiongroup.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gsimpleasyncresult.h>
|
2014-12-17 09:11:29 +01:00
|
|
|
#include <gio/gsimpleiostream.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gsimplepermission.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gsimpleproxyresolver.h>
|
|
|
|
#include <gio/gsocket.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gsocketaddress.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gsocketaddressenumerator.h>
|
2009-05-15 21:26:24 +02:00
|
|
|
#include <gio/gsocketclient.h>
|
2008-12-29 19:38:28 +01:00
|
|
|
#include <gio/gsocketconnectable.h>
|
2009-05-15 21:26:24 +02:00
|
|
|
#include <gio/gsocketconnection.h>
|
|
|
|
#include <gio/gsocketcontrolmessage.h>
|
|
|
|
#include <gio/gsocketlistener.h>
|
|
|
|
#include <gio/gsocketservice.h>
|
2008-12-29 18:53:47 +01:00
|
|
|
#include <gio/gsrvtarget.h>
|
2012-05-17 20:37:17 +02:00
|
|
|
#include <gio/gsubprocess.h>
|
|
|
|
#include <gio/gsubprocesslauncher.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gtask.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gtcpconnection.h>
|
make GProxyConnection public, as GTcpWrapperConnection
GProxyConnection is a class that was added for proxy support;
g_socket_client_connect() returns a GSocketConnection, but in some
cases (eg, encrypted SOCKS), GProxy might return a GIOStream that is
not a GSocketConnection. In that case, GSocketClient would wrap the
stream up in a GProxyConnection, which is a subclass of
GSocketConnection but uses the input/output streams of the wrapped
connection.
GTlsConnection is not a GSocketConnection, so it has the same problem,
so it will need the same treatment. Rename the class to
GTcpWrapperStream, and make it public, so people can extract the base
stream from it when necessary.
(This is not ideal and GSocketClient will need to be revisited as an
API at some point...)
https://bugzilla.gnome.org/show_bug.cgi?id=588189
2010-11-02 01:22:24 +01:00
|
|
|
#include <gio/gtcpwrapperconnection.h>
|
2012-04-18 23:21:13 +02:00
|
|
|
#include <gio/gtestdbus.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gthemedicon.h>
|
2010-06-06 22:15:44 +02:00
|
|
|
#include <gio/gthreadedsocketservice.h>
|
2009-12-21 20:50:32 +01:00
|
|
|
#include <gio/gtlsbackend.h>
|
|
|
|
#include <gio/gtlscertificate.h>
|
|
|
|
#include <gio/gtlsclientconnection.h>
|
|
|
|
#include <gio/gtlsconnection.h>
|
2011-08-04 08:54:55 +02:00
|
|
|
#include <gio/gtlsdatabase.h>
|
|
|
|
#include <gio/gtlsfiledatabase.h>
|
|
|
|
#include <gio/gtlsinteraction.h>
|
|
|
|
#include <gio/gtlspassword.h>
|
2019-12-11 12:41:39 +01:00
|
|
|
#include <gio/gtlsserverconnection.h>
|
2022-04-07 17:29:05 +02:00
|
|
|
#include <gio/gunixconnection.h>
|
|
|
|
#include <gio/gunixcredentialsmessage.h>
|
2022-04-07 15:59:00 +02:00
|
|
|
#include <gio/gunixfdlist.h>
|
2022-04-07 17:29:05 +02:00
|
|
|
#include <gio/gunixsocketaddress.h>
|
2008-07-01 08:32:35 +02:00
|
|
|
#include <gio/gvfs.h>
|
|
|
|
#include <gio/gvolume.h>
|
|
|
|
#include <gio/gvolumemonitor.h>
|
2009-11-20 12:04:31 +01:00
|
|
|
#include <gio/gzlibcompressor.h>
|
2009-11-19 17:20:20 +01:00
|
|
|
#include <gio/gzlibdecompressor.h>
|
2007-11-27 11:46:45 +01:00
|
|
|
|
2015-01-30 15:21:20 +01:00
|
|
|
#include <gio/gio-autocleanups.h>
|
|
|
|
|
2007-12-14 11:35:24 +01:00
|
|
|
#undef __GIO_GIO_H_INSIDE__
|
|
|
|
|
2007-11-27 11:46:45 +01:00
|
|
|
#endif /* __G_IO_H__ */
|