grim/guifications3

moved guifications-gtk to cmake
cmake
2010-12-13, Gary Kramlich
36e02fafe588
moved guifications-gtk to cmake
/*
* Guifications - The end-all, be-all notification framework
* Copyright (C) 2003-2009 Gary Kramlich <grim@reaperworld.com>
*
* 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 3 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, see <http://www.gnu.org/licenses/>.
*/
#ifndef GF_FILE_SYSTEM_H
#define GF_FILE_SYSTEM_H
#include <stdio.h>
#include <time.h>
#include <glib.h>
# include <glib/gstdio.h>
typedef struct _GfFileSystemEntry GfFileSystemEntry;
/**
* GfFileSystemEntry:
* @filename: The absolute filename.
* @dirname: The directory portion of the filename.
* @basename: The filename.
* @atime: The last accessed time.
* @mtime: The last modified time.
* @ctime: The creation time.
*
* Holds basic information about a file.
*/
struct _GfFileSystemEntry {
/*< public >*/
const gchar *filename;
const gchar *dirname;
const gchar *basename;
time_t atime;
time_t mtime;
time_t ctime;
};
/**
* GfFileSystemLoaderFunc:
* @entry: The #GfFileSystemEntry instance
* @data: The user provided data.
*
* A callback function used in #gf_fs_read_directories.
*/
typedef void (*GfFileSystemLoaderFunc)(const GfFileSystemEntry *entry, gpointer data);
G_BEGIN_DECLS
gchar *gf_fs_user_home_dir();
gchar *gf_fs_user_settings_dir();
gchar *gf_fs_user_plugin_dir();
gchar *gf_fs_system_pixmaps_dir();
gchar *gf_fs_system_plugin_dir();
void gf_fs_read_directories(const gchar *path, GFileTest flags, GfFileSystemLoaderFunc func, gpointer data);
GQueue *gf_fs_path_parse(const gchar *path_str, gint max_paths, gboolean check, GQueue **check_failed);
void gf_fs_path_free(GQueue *path);
gint gf_fs_mkdir(const gchar *pathname, int mode);
G_END_DECLS
#endif /* GF_FILE_SYSTEM_H */