X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fglocalfileinfo.h;h=16eb43d8589dbbe8c3f1d6a3b68bd3077aa7e247;hb=f8d42cefbddf4930e40d6866e7002e556186763e;hp=bcb1d16ec2dbab720f08a203119a10609992a752;hpb=6356a9dd984a0ac64f5247e79c747b432f69567a;p=platform%2Fupstream%2Fglib.git diff --git a/gio/glocalfileinfo.h b/gio/glocalfileinfo.h index bcb1d16..16eb43d 100644 --- a/gio/glocalfileinfo.h +++ b/gio/glocalfileinfo.h @@ -1,5 +1,5 @@ /* GIO - GLib Input, Output and Streaming Library - * + * * Copyright (C) 2006-2007 Red Hat, Inc. * * This library is free software; you can redistribute it and/or @@ -13,9 +13,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General - * Public License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307, USA. + * Public License along with this library; if not, see . * * Author: Alexander Larsson */ @@ -26,43 +24,70 @@ #include #include #include -#ifdef HAVE_SYS_TYPES_H #include -#endif G_BEGIN_DECLS -typedef struct { +typedef struct +{ gboolean writable; gboolean is_sticky; - int owner; - dev_t device; + gboolean has_trash_dir; + int owner; + dev_t device; + gpointer extra_data; + GDestroyNotify free_extra_data; } GLocalParentFileInfo; -void _g_local_file_info_get_parent_info (const char *dir, - GFileAttributeMatcher *attribute_matcher, - GLocalParentFileInfo *parent_info); -GFileInfo *_g_local_file_info_get (const char *basename, - const char *path, - GFileAttributeMatcher *attribute_matcher, - GFileQueryInfoFlags flags, - GLocalParentFileInfo *parent_info, - GError **error); -GFileInfo *_g_local_file_info_get_from_fd (int fd, - char *attributes, - GError **error); -char * _g_local_file_info_create_etag (struct stat *statbuf); -gboolean _g_local_file_info_set_attribute (char *filename, - const char *attribute, - const GFileAttributeValue *value, - GFileQueryInfoFlags flags, - GCancellable *cancellable, - GError **error); -gboolean _g_local_file_info_set_attributes (char *filename, - GFileInfo *info, - GFileQueryInfoFlags flags, - GCancellable *cancellable, - GError **error); +#ifdef G_OS_WIN32 +/* We want 64-bit file size support */ +#define GLocalFileStat struct _stati64 +#else +#define GLocalFileStat struct stat +#endif + +#define G_LOCAL_FILE_INFO_NOSTAT_ATTRIBUTES \ + G_FILE_ATTRIBUTE_STANDARD_NAME "," \ + G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME "," \ + G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME "," \ + G_FILE_ATTRIBUTE_STANDARD_COPY_NAME + +gboolean _g_local_file_has_trash_dir (const char *dirname, + dev_t dir_dev); +#ifdef G_OS_UNIX +gboolean _g_local_file_is_lost_found_dir (const char *path, + dev_t path_dev); +#endif +void _g_local_file_info_get_parent_info (const char *dir, + GFileAttributeMatcher *attribute_matcher, + GLocalParentFileInfo *parent_info); +void _g_local_file_info_free_parent_info (GLocalParentFileInfo *parent_info); +void _g_local_file_info_get_nostat (GFileInfo *info, + const char *basename, + const char *path, + GFileAttributeMatcher *attribute_matcher); +GFileInfo *_g_local_file_info_get (const char *basename, + const char *path, + GFileAttributeMatcher *attribute_matcher, + GFileQueryInfoFlags flags, + GLocalParentFileInfo *parent_info, + GError **error); +GFileInfo *_g_local_file_info_get_from_fd (int fd, + const char *attributes, + GError **error); +char * _g_local_file_info_create_etag (GLocalFileStat *statbuf); +gboolean _g_local_file_info_set_attribute (char *filename, + const char *attribute, + GFileAttributeType type, + gpointer value_p, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); +gboolean _g_local_file_info_set_attributes (char *filename, + GFileInfo *info, + GFileQueryInfoFlags flags, + GCancellable *cancellable, + GError **error); G_END_DECLS