diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2000-05-07 09:57:49 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2000-05-07 09:57:49 +0800 |
commit | 725d0a088ddafd5f5665f4415c54f12411103e83 (patch) | |
tree | 5cf59c14ca05b80fa206bda3a6ee27a075f8ad22 /shell/e-storage.h | |
parent | d92547ebaa21c0175f9cab9cb828d31d5896e5c5 (diff) | |
download | gsoc2013-evolution-725d0a088ddafd5f5665f4415c54f12411103e83.tar.gz gsoc2013-evolution-725d0a088ddafd5f5665f4415c54f12411103e83.tar.zst gsoc2013-evolution-725d0a088ddafd5f5665f4415c54f12411103e83.zip |
Big shell reorganization.
svn path=/trunk/; revision=2848
Diffstat (limited to 'shell/e-storage.h')
-rw-r--r-- | shell/e-storage.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/shell/e-storage.h b/shell/e-storage.h new file mode 100644 index 0000000000..9c54f05eb8 --- /dev/null +++ b/shell/e-storage.h @@ -0,0 +1,93 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* e-storage.h + * + * Copyright (C) 2000 Helix Code, Inc. + * + * 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. + * + * Author: Ettore Perazzoli + */ + +#ifndef _E_STORAGE_H_ +#define _E_STORAGE_H_ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <gtk/gtkobject.h> + +#ifdef __cplusplus +extern "C" { +#pragma } +#endif /* __cplusplus */ + +#define E_TYPE_STORAGE (e_storage_get_type ()) +#define E_STORAGE(obj) (GTK_CHECK_CAST ((obj), E_TYPE_STORAGE, EStorage)) +#define E_STORAGE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_STORAGE, EStorageClass)) +#define E_IS_STORAGE(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_STORAGE)) +#define E_IS_STORAGE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_TYPE_STORAGE)) + + +typedef struct _EStorage EStorage; +typedef struct _EStoragePrivate EStoragePrivate; +typedef struct _EStorageClass EStorageClass; + +#include "e-folder.h" +#include "e-storage-watcher.h" + +struct _EStorage { + GtkObject parent; + + EStoragePrivate *priv; +}; + +struct _EStorageClass { + GtkObjectClass parent_class; + + /* Virtual methods. */ + GList * (* list_folders) (EStorage *storage, const char *path); + EStorageWatcher * (* get_watcher_for_path) (EStorage *storage, const char *path); + EFolder * (* get_folder) (EStorage *storage, const char *path); + const char * (* get_name) (EStorage *storage); +}; + + +GtkType e_storage_get_type (void); +void e_storage_construct (EStorage *storage); +EStorage *e_storage_new (void); + +gboolean e_storage_path_is_relative (const char *path); +gboolean e_storage_path_is_absolute (const char *path); + +GList *e_storage_list_folders (EStorage *storage, + const char *path); +EStorageWatcher *e_storage_get_watcher_for_path (EStorage *storage, + const char *path); +EFolder *e_storage_get_folder (EStorage *storage, + const char *path); + +const char *e_storage_get_name (EStorage *storage); + +/* Protected. C++ anyone? */ +void e_storage_new_folder (EStorage *storage, const char *path, EFolder *folder); +void e_storage_remove_folder (EStorage *storage, const char *path); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* _E_STORAGE_H_ */ |