Each item is identified by an ID unique on the whole filesystem, and has a list of assigned metadata, each of them is abstracted with a HyppoVFSMetadata object.
An item handled via HyppoVFSItem can be observed (see Observers ) by addictions, deletions and modifications of assigned metadata. Please note that contents of an item of the "file" type are also considered as metadata.
Data Structures | |
| struct | _HyppoVFSItem |
| struct | _HyppoVFSItemClass |
Defines | |
| #define | HYPPO_ITEM_ID_TYPE G_TYPE_UINT64 |
Functions | |
| GType | hyppo_vfs_item_get_type () |
| HyppoVFSItem * | hyppo_vfs_item_new (HyppoItemID id) |
| HyppoVFSItem * | hyppo_vfs_item_create () |
| HyppoItemID | hyppo_vfs_item_get_id (HyppoVFSItem *item) |
| HyppoVFSMetadata * | hyppo_vfs_item_get_metadata (HyppoVFSItem *item, HyppoMetadataID metaid) |
| const GList * | hyppo_vfs_item_get_all_metadata (HyppoVFSItem *item) |
| HyppoVFSMetadata * | hyppo_vfs_item_set_metadata (HyppoVFSItem *item, HyppoMetadataID metaid,...) |
| void | hyppo_vfs_item_remove_metadata (HyppoVFSItem *item, HyppoMetadataID metaid) |
| GIOChannel * | hyppo_vfs_item_open (HyppoVFSItem *item) |
| void | hyppo_vfs_item_remove (HyppoVFSItem *item) |
| #define HYPPO_ITEM_ID_TYPE G_TYPE_UINT64 |
FIXME Comment
| GType hyppo_vfs_item_get_type | ( | ) |
Gets the GType for the HyppoVFSItem object
| HyppoVFSItem* hyppo_vfs_item_new | ( | HyppoItemID | id | ) |
Creates a proxy for an existing metadata on the filesystem
| id | Item ID for the element to retrive |
| HyppoVFSItem* hyppo_vfs_item_create | ( | ) |
Creates a new item on the filesystem
Here is a problem with overlap of names: due the fact in Hyppocampus names have not to be unique (discriminants are ID automatically assigned), referring here directly the required name it's probable to match an existing name and overwriting an existing valid file. So, when creating a new item, I assign him a random name checking for uniqueness, and when found change the metadata for the filename
| HyppoItemID hyppo_vfs_item_get_id | ( | HyppoVFSItem * | item | ) |
FIXME Comment
| HyppoVFSMetadata* hyppo_vfs_item_get_metadata | ( | HyppoVFSItem * | item, | |
| HyppoMetadataID | metaid | |||
| ) |
Retrives a metadata assigned to a specified item
| item | HyppoVFSItem for which search the metadata | |
| metaid | Metadata ID to look for |
| const GList* hyppo_vfs_item_get_all_metadata | ( | HyppoVFSItem * | item | ) |
Builds the complete list of metadata for an item on the filesystem
| item | HyppoVFSItem for which build the list of metadata |
| HyppoVFSMetadata* hyppo_vfs_item_set_metadata | ( | HyppoVFSItem * | item, | |
| HyppoMetadataID | metaid, | |||
| ... | ||||
| ) |
FIXME Comment
| void hyppo_vfs_item_remove_metadata | ( | HyppoVFSItem * | item, | |
| HyppoMetadataID | metaid | |||
| ) |
Removes a metadata from a HyppoVFSItem
| item | HyppoVFSItem from which remove the metadata | |
| metaid | Metadata ID for the attribute to remove |
| GIOChannel* hyppo_vfs_item_open | ( | HyppoVFSItem * | item | ) |
Open a file descriptor on the specified item
| item | The HyppoVFSItem to open |
| void hyppo_vfs_item_remove | ( | HyppoVFSItem * | item | ) |
Removes an item from the filesystem. Please refere Observers to read about implication of the items deletion
1.5.5