summaryrefslogtreecommitdiff
path: root/common/filelist-vfs-intf.h
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2009-11-28 13:11:51 +0100
committerTomas Bzatek <tbzatek@users.sourceforge.net>2009-11-28 13:11:51 +0100
commit9382f127ccebdd59917c97c61d008ed0e127cd75 (patch)
tree0a48c8296199b343c76ef532eef014f908bc2e4d /common/filelist-vfs-intf.h
parent70eeaa4ec712895539ca6ecd60a42b93ec9b0904 (diff)
downloadtuxcmd-modules-9382f127ccebdd59917c97c61d008ed0e127cd75.tar.xz
Engine and VFS API cleanupv0.6.72
Also enable symlink resolving by default.
Diffstat (limited to 'common/filelist-vfs-intf.h')
-rw-r--r--common/filelist-vfs-intf.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/common/filelist-vfs-intf.h b/common/filelist-vfs-intf.h
new file mode 100644
index 0000000..ce93e1e
--- /dev/null
+++ b/common/filelist-vfs-intf.h
@@ -0,0 +1,68 @@
+/* Tux Commander VFS: convenient interface for VFS modules to a filelist tree
+ * Copyright (C) 2007-2009 Tomas Bzatek <tbzatek@users.sourceforge.net>
+ * Check for updates on tuxcmd.sourceforge.net
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __TREEPATH_VFS_H__
+#define __TREEPATH_VFS_H__
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+
+#include <glib.h>
+
+#include "tuxcmd-vfs.h"
+#include "filelist.h"
+
+
+struct VfsFilelistData {
+ struct PathTree *files;
+
+ unsigned int list_dir_index;
+ struct PathTree *list_dir_node;
+ char * list_dir_path;
+
+ gboolean follow_symlinks;
+ gboolean add_full_path;
+
+ gboolean break_get_dir_size;
+};
+
+
+struct VfsFilelistData * vfs_filelist_new (struct PathTree *files);
+void vfs_filelist_free (struct VfsFilelistData *data);
+
+guint64 vfs_filelist_get_dir_size (struct VfsFilelistData *data, const char *APath);
+void vfs_filelist_get_dir_size_break (struct VfsFilelistData *data);
+
+gboolean vfs_filelist_file_exists (struct VfsFilelistData *data, const char *FileName, const long Use_lstat);
+TVFSResult vfs_filelist_file_info (struct VfsFilelistData *data, const char *AFileName, struct TVFSItem *Item, gboolean FollowSymlinks, gboolean AddFullPath);
+
+TVFSResult vfs_filelist_list_first (struct VfsFilelistData *data, const char *sDir, struct TVFSItem *Item, gboolean FollowSymlinks, gboolean AddFullPath);
+TVFSResult vfs_filelist_list_next (struct VfsFilelistData *data, struct TVFSItem *Item);
+TVFSResult vfs_filelist_list_close (struct VfsFilelistData *data);
+
+char * vfs_filelist_change_dir (struct VfsFilelistData *data, const char *NewPath);
+
+
+
+#ifdef __cplusplus
+ }
+#endif
+#endif /* __TREEPATH_VFS_H__ */