| Top |
| InfdStorageNode * | infd_storage_node_new_subdirectory () |
| InfdStorageNode * | infd_storage_node_new_note () |
| InfdStorageNode * | infd_storage_node_copy () |
| void | infd_storage_node_free () |
| void | infd_storage_node_list_free () |
| GSList * | infd_storage_read_subdirectory () |
| gboolean | infd_storage_create_subdirectory () |
| gboolean | infd_storage_remove_node () |
| InfdStorage | |
| struct | InfdStorageIface |
| enum | InfdStorageNodeType |
| struct | InfdStorageNode |
GBoxed
╰── InfdStorageNode
GEnum
╰── InfdStorageNodeType
GInterface
╰── InfdStorage
InfdStorageNode *
infd_storage_node_new_subdirectory (const gchar *path);
Creates a new InfdStorageNode with type
INFD_STORAGE_NODE_SUBDIRECTORY and the given path. This
is most likely only going to be used by InfdStorage
implementations.
InfdStorageNode * infd_storage_node_new_note (const gchar *path,const gchar *identifier);
Creates a new InfdStorageNode with type
INFD_STORAGE_NODE_NOTE and the given path and identifier. This
is most likely only going to be used by InfdStorage
implementations.
InfdStorageNode *
infd_storage_node_copy (InfdStorageNode *node);
Creates a copy of a InfdStorageNode object.
void
infd_storage_node_free (InfdStorageNode *node);
Frees a InfdStorageNode allocated with
infd_storage_node_new_subdirectory(), infd_storage_node_new_node() or
infd_storage_node_copy().
void
infd_storage_node_list_free (GSList *node_list);
Frees a singly-linked list of InfdStorageNode as returned by
infd_storage_read_subdirectory().
GSList * infd_storage_read_subdirectory (InfdStorage *storage,const gchar *path,GError **error);
gboolean infd_storage_create_subdirectory (InfdStorage *storage,const gchar *path,GError **error);
Creates a new subdirectory at the given path that is initially empty.
storage |
A InfdStorage. |
|
path |
A path pointing to non-existing node. |
|
error |
Location to store error information. |
gboolean infd_storage_remove_node (InfdStorage *storage,const gchar *identifier,const gchar *path,GError **error);
Removes the node at path from storage. If it is a subdirectory node, all containing nodes and subdirectory nodes are removed recursively.
struct InfdStorageIface {
GTypeInterface parent;
/* All these calls are supposed to be synchronous, e.g. completly perform
* the required task. Some day, we could implement asynchronous
* behaviour in InfdDirectory (e.g. it caches operations and executes
* them via the storage in the background). */
/* Virtual Table */
GSList* (*read_subdirectory)(InfdStorage* storage,
const gchar* path,
GError** error);
gboolean (*create_subdirectory)(InfdStorage* storage,
const gchar* path,
GError** error);
gboolean (*remove_node)(InfdStorage* storage,
const gchar* identifier,
const gchar* path,
GError** error);
/* TODO: Add further methods to copy, move and expunge nodes */
/* TODO: Notification? */
};