Commit Graph

121 Commits

Author SHA1 Message Date
Matthias Clasen
6e77ee0971 Correct the error handling in splice_stream_with_progress
We need to get out of both loops, so a simple 'break' doesn't cut it.
Bugs 613748 and 613923
2010-03-26 09:03:22 -04:00
Jonh Wendell
7504095de0 Mark a string for translation 2010-03-04 17:03:13 -03:00
Christian Kellner
bb4f63d639 GFile: Support for splice(2) in copy_fallback
The (linux specific) system call splice can be
used to transfer data between file descriptors
whitout copying them into user space.
See bug #604086 for additional details.
2010-02-15 13:25:50 +01:00
Dan Winship
39cd766e8e Use G_DEFINE_INTERFACE in gio
Note: Since we export types with Iface in the name rather than
Interface we have to use some typedefs to make this work. New
interfaces should probably use Interface as the public name.
2009-12-01 10:44:42 +01:00
Ryan Lortie
56eee6759b Remove #include "glocalfile.h" from GFile
It might give somebody the wrong idea. =)
2009-11-20 14:42:38 -06:00
Ryan Lortie
9681d7e75f Bug 595138 - GFile not robust with invalid input
Improve handling of g_file_query_default_handler() when called on an
invalid GFile (ie: one created with an invalid URI).
2009-11-19 09:45:53 -06:00
Ryan Lortie
983a717fa6 Bug 535159 - g_file_has_parent
- add a g_file_has_parent() function as a wrapper around
   g_file_get_parent()
2009-11-17 20:27:38 -06:00
Matthias Clasen
f3fbf37dd8 Avoid a warning 2009-10-25 02:56:13 -04:00
David Zeuthen
99a1c47343 Allow interaction when unmounting mounts
For details, see bug 587482. The new api:

 - Provide new _with_operation() variants of all unmount and eject methods

 - Add GMountOperation::show-processes signal
   - this can be used to show processes blocking an unmount operation

 - Deprecate all unmount and eject methods

 - Add g_drive_can_start_degraded() method
   - this is to avoid auto-starting degraded drives

 - Make g_drive_stop() resp. g_file_stop_mountable() take a GMountOperation
   - these ops were recently added and not yet public API so it's fine
     to change how they work

 - Provide a way to poll mountable files, e.g. g_file_poll_mountable()

 - Add some missing file attributes for mountable files
  - G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE
    - needed for the GDU Nautilus extensions to format a volume
  - G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED:
    - mimics g_drive_can_start_degraded()
  - G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL:
    - mimics g_drive_can_poll_for_media()
  - G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC
    - mimics g_drive_is_media_check_automatic()
2009-07-05 21:59:38 -04:00
Dan Winship
65cc5d895a Support g_main_context_push_thread_default() in gio
GFile allows for the possibility that external implementations may not
support thread-default contexts yet, via
g_file_supports_thread_contexts(). GVolumeMonitor is not yet
thread-default-context aware.

Add a test program to verify that basic gio async ops work correctly
in non-default contexts.

http://bugzilla.gnome.org/show_bug.cgi?id=579984
2009-07-01 09:02:46 -04:00
Alexander Larsson
c1ab6454fe Copy namespaces correctly in g_file_copy_attributes
File attribute namespaces are delimited with "::", but
build_attribute_list_for_copy only used ":", so we didn't copy
any writable namespaces.
2009-06-23 16:35:41 +02:00
David Zeuthen
fae755e056 Bug 585591 – Starting/stopping drives
Add API for starting/stopping drives. This new API will enable
GVolumeMonitor and GVfs implementations to add support for the
following features

 1. Powering down external hard disk enclosures / drives

 2. Starting/stopping multi-disk devices (such as RAID/btrfs/ZFS)

 3. Connecting/disconnecting iSCSI devices

 4. Reacting to the user pressing e.g. the "remove drive" button on
    a IBM/Lenovo Ultrabay: http://www.thinkwiki.org/wiki/Ultrabay

See the bug for the corresponding GVfs and Nautilus changes.
2009-06-15 10:59:43 -04:00
Benjamin Otte
29a4a0a44d only query file info in g_file_copy() when we need it
The default implementation of g_file_copy() checked the size of the file
to copy to give useful progress updates unconditionally. This can cause
long delays on 1-connection FTP servers while it tries to open a second
connection before it returns EBUSY. This patch makes this query only
happen when we actually send progress updates.
2009-06-08 15:30:28 +02:00
Matthias Clasen
06144900ec Documentation and coding style fixups
Lots of pedanic changes.
2009-05-27 18:20:08 -04:00
Alexander Larsson
6ea86cc57f Update the docs for the new network APIs
This imports the network APIs into the gio reference docs, and cleans
up a bunch of gtk-doc warnings and documentation issues.
2009-05-18 13:07:43 +02:00
Alexander Larsson
7a2d4889b5 Add GIOStream operations to GFile
g_file_open_readwrite, g_file_create_readwrite, g_file_replace_readwrite
and async variants, with default implementations using threads.
2009-05-13 14:42:51 +02:00
Gian Mario Tagliaretti
856632c496 Fix a typo in GFile docs
Fixed function name in GFile docs from g_set_display_name to
g_file_set_display_name so that gtk-doc can link correctly.  (#578002)
2009-04-09 14:35:57 -04:00
Alexander Larsson
1ab68f9ee9 Bug 543183 – Clarify docs for g_file_has_prefix
2009-02-26  Alexander Larsson  <alexl@redhat.com>

	Bug 543183 – Clarify docs for g_file_has_prefix

	* gfile.c: (g_file_has_prefix):
	Clarify how the prefix matching works.


svn path=/trunk/; revision=7915
2009-02-26 15:03:11 +00:00
Alexander Larsson
0ee2b46405 Bug 549298 – impossible to copy files with p (pipe) flag
2009-02-19  Alexander Larsson  <alexl@redhat.com>

        Bug 549298 – impossible to copy files with p (pipe) flag

        * gfile.c:
        (file_copy_fallback):
	Error out if the source file is a special file


svn path=/trunk/; revision=7885
2009-02-19 15:26:32 +00:00
Alexander Larsson
0fd66d7e22 Bug 560564 – Replacing a symlink with its linked file truncates the
2009-02-18  Alexander Larsson  <alexl@redhat.com>

	Bug 560564 – Replacing a symlink with its linked file truncates the original file

        * gioenums.h:
	Add G_FILE_CREATE_REPLACE_DESTINATION

        * glocalfileoutputstream.c:
        (handle_overwrite_open):
        (_g_local_file_output_stream_replace):
	Handle G_FILE_CREATE_REPLACE_DESTINATION when overwriting files.

        * gfile.c:
        (file_copy_fallback):
	Pass G_FILE_CREATE_REPLACE_DESTINATION to g_file_replace when copying
	with overwrite.


svn path=/trunk/; revision=7880
2009-02-18 14:49:25 +00:00
Alexander Larsson
39b3b41484 Bug 515777 - incorrect date&time on copy
2008-12-09  Alexander Larsson  <alexl@redhat.com>

	Bug 515777 - incorrect date&time on copy
	
        * glocalfile.c:
        (g_local_file_class_init):
	Copy mtime by default
	
        * gfile.c:
	Change docs about G_FILE_COPY_ALL_METADATA to not mention
	mtime as an example.



svn path=/trunk/; revision=7738
2008-12-09 11:15:36 +00:00
Dan Winship
5360907e9e add a cast to stop a gcc warning
* gdesktopappinfo.c (get_all_desktop_entries_for_mime_type): add a
	cast to stop a gcc warning

	* gfile.c (g_file_copy_attributes): add parens to stop a gcc
	warning

svn path=/trunk/; revision=7550
2008-09-26 16:00:17 +00:00
Nelson Benítez León
811fcbcd95 Add new GFileCopyFlag
svn path=/trunk/; revision=7526
2008-09-21 23:53:40 +00:00
Felix Riemann
26f2a3b93c Bug 547080 – g_file_copy leaks expected errors
2008-08-10  Felix Riemann  <friemann@svn.gnome.org>

	Bug 547080 – g_file_copy leaks expected errors

	* gfile.c: (g_file_copy): Clear G_IO_ERROR_NOT_SUPPORTED errors
	before trying the next fallback routine.

svn path=/trunk/; revision=7331
2008-08-10 10:55:57 +00:00
Loïc Minier
15f92bfc3d Bug 535124 – umask 002 not being applied for new directories, new files
2008-08-09  Loïc Minier  <lool@dooz.org>

	Bug 535124 – umask 002 not being applied for new directories, new
	files get the correct umask

	* gfile.c (g_file_make_directory)
	(g_file_make_directory_with_parents): Document ownership and
	permissions of newly created directories as being the default
	ones of the process.

svn path=/trunk/; revision=7330
2008-08-09 08:41:43 +00:00
Matthias Clasen
8fbbb4d9cb Bug 546017 – Don't copy attributes when copying a symlink
2008-08-04  Matthias Clasen  <mclasen@redhat.com>

        Bug 546017 – Don't copy attributes when copying a symlink

        * gfile.c (g_file_copy_attributes): Specify
        G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS in the call to
        g_file_set_attributes_from_info. Patch by Christian Kellner


svn path=/trunk/; revision=7294
2008-08-04 15:58:25 +00:00
Matthias Clasen
855a4c1cca Bug 545203 – gfile.c: argument is different type.
2008-07-28  Matthias Clasen  <mclasen@redhat.com>

        Bug 545203 – gfile.c: argument is different type.

        * gfile.c (open_read_async_thread): Pass a GError **
        to g_file_set_error_literal.
        Reported by Kazuki Iwamoto


svn path=/trunk/; revision=7269
2008-07-28 19:12:19 +00:00
Matthias Clasen
acb7f6449a 543504 – crash in Epiphany Web Browser: Opening local file
2008-07-19  Matthias Clasen  <mclasen@redhat.com>

        543504 – crash in Epiphany Web Browser: Opening local file

        * gappinfo.c:
        * gasyncresult.c:
        * gdesktopappinfo.c:
        * gdrive.c:
        * gfile.c:
        * gicon.c:
        * gloadableicon.c:
        * gmount.c:
        * gseekable.c:
        * gvolume.c: Register types thread-safely.
        Patch by Christian Persch


svn path=/trunk/; revision=7208
2008-07-20 00:34:58 +00:00
Matthias Clasen
3cb92eb95e Fix a segfault
svn path=/trunk/; revision=7200
2008-07-18 17:48:30 +00:00
Matthias Clasen
d17b52cbdb More documentation fixes
svn path=/trunk/; revision=7190
2008-07-16 05:49:16 +00:00
Matthias Clasen
9f3f5f0905 Small documentation fixes
svn path=/trunk/; revision=7187
2008-07-16 04:21:50 +00:00
Matthias Clasen
0a20d4cbe4 Doc improvement
svn path=/trunk/; revision=7173
2008-07-09 04:26:47 +00:00
Matthias Clasen
d19e08a40c Add g_file_monitor
svn path=/trunk/; revision=7145
2008-07-02 17:19:16 +00:00
Cody Russell
3d93bf6968 Moved all relevant typedefs into these files.
2008-07-01  Cody Russell  <bratsche@gnome.org>

        * gio/gioenums.h:
        * gio/giotypes.h:
	Moved all relevant typedefs into these	files.

        * gio/*.[ch]:
	Updated wrt added files.

        Split types into separate file	for easier maintainership. (#538564)


svn path=/trunk/; revision=7127
2008-07-01 06:32:35 +00:00
Matthias Clasen
64770f4b0e Clarify docs. Patch by Jared Moore
* gfile.c (g_file_append_to): Clarify docs.
        Patch by Jared Moore

svn path=/trunk/; revision=7110
2008-06-30 05:02:06 +00:00
Johan Dahlin
761424465a Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch


svn path=/trunk/; revision=7092
2008-06-22 15:10:51 +00:00
Christian Persch
9c17697b56 Use g_set_error_literal where appropriate. Patch from bug #535947.
svn path=/trunk/; revision=7051
2008-06-16 16:53:58 +00:00
Matthias Clasen
dd24f9957c Make includes more uniform
svn path=/trunk/; revision=7043
2008-06-16 04:36:03 +00:00
Ross Burton
7653f50019 Bug 511367 - add g_file_make_directory_with_parents.
2008-06-11  Ross Burton  <ross@burtonini.com>

	Bug 511367 - add g_file_make_directory_with_parents.
	
	* gio/gfile.c:
	* gio/gfile.h:
	* gio/gio.symbols: Add g_file_make_directory_with_parents.

svn path=/trunk/; revision=7001
2008-06-11 15:48:06 +00:00
Matthias Clasen
9aad44c339 Don't unref before last use
svn path=/trunk/; revision=6997
2008-06-11 14:05:45 +00:00
Paolo Borelli
9944e93fda do not leak the output stream.
2008-06-10  Paolo Borelli  <pborelli@katamail.com>

	* gfile.c (g_file_replace_contents): do not leak the output stream.


svn path=/trunk/; revision=6984
2008-06-10 11:40:45 +00:00
Bastien Nocera
a495d32f36 A URI scheme must start with a letter, even if later more characters are
2008-05-13  Bastien Nocera  <hadess@hadess.net>

	* gfile.c (has_valid_scheme): A URI scheme must start with a
	letter, even if later more characters are allowed (#532852)


svn path=/trunk/; revision=6887
2008-05-13 12:42:40 +00:00
Mukund Sivaraman
414075c64c Fixed typos in gtk-doc comments.
2008-04-15  Mukund Sivaraman  <muks@mukund.org>

        * gio/gfile.c: Fixed typos in gtk-doc comments.


svn path=/trunk/; revision=6850
2008-04-15 14:32:58 +00:00
Tomas Bzatek
4bf8977b89 Doc update
2008-04-08  Tomas Bzatek  <tbzatek@redhat.com> 

        * gfile.c: (g_file_replace):
        Doc update


svn path=/trunk/; revision=6841
2008-04-08 15:56:42 +00:00
Matthias Clasen
f0ba12f19f Bug 526796 – Wrong order of arguments in g_file_copy's fallback
* gfile.c (file_copy_fallback): Fix the argument order. Patch
        by Christian Kellner.

svn path=/trunk/; revision=6830
2008-04-08 01:59:47 +00:00
A. Walton
5d17169953 Always return a GFileType enum value (#520715).
2008-03-31  A. Walton  <awalton@svn.gnome.org>

	* gfile.c (g_file_query_file_type):
	Always return a GFileType enum value (#520715).


svn path=/trunk/; revision=6799
2008-03-31 19:32:58 +00:00
Matthias Clasen
a07b747200 Add g_file_query_file_type convenience function to query the type of a
2008-03-30  Matthias Clasen  <mclasen@redhat.com>

        * gio.symbols:
        * gfile.c:
        * gfile.h: Add g_file_query_file_type convenience function
        to query the type of a file.  (#520715, Mikkel Kamstrup Erlandsen)



svn path=/trunk/; revision=6784
2008-03-31 04:46:22 +00:00
Matthias Clasen
a4a5f33f47 Fix some documentation typos. (#524950, Rob Bradford)
2008-03-30  Matthias Clasen  <mclasen@redhat.com>

        * gfileenumerator.c:
        * gfile.c: Fix some documentation typos.  (#524950, Rob Bradford)



svn path=/trunk/; revision=6773
2008-03-31 03:30:48 +00:00
Alexander Larsson
4824b7dbb0 Fix up last commit.
2008-03-28  Alexander Larsson  <alexl@redhat.com>

        * gfile.c:
        (copy_stream_with_progress):
	Fix up last commit.
	


svn path=/trunk/; revision=6766
2008-03-28 13:57:29 +00:00
Alexander Larsson
941513cdca Fallback to g_file_query_info for source size if
2008-03-28  Alexander Larsson  <alexl@redhat.com>

        * gfile.c:
        (copy_stream_with_progress):
        (file_copy_fallback):
	Fallback to g_file_query_info for source size
	if g_file_input_stream_query_info fails. (#524579)


svn path=/trunk/; revision=6763
2008-03-28 12:43:11 +00:00