![]() | ![]() | ![]() | Tentacles Reference Manual | ![]() |
---|
tnt-file-db —
#define TNT_FILE_DB (object) enum TntFileDBState; enum TntFileDBHandleState; struct TntFileDB; void tnt_file_db_init (TntFileDB *file_db); TntFileDB* tnt_file_db_new (void); void tnt_file_db_finalize (FluxObject *file_db); void tnt_file_db_add_dir (TntFileDB *file_db, const gchar *path, gboolean recursive); void tnt_file_db_remove_dir (TntFileDB *file_db, const gchar *path); GList* tnt_file_db_get_user_dir_list (TntFileDB *file_db); gboolean tnt_file_db_get_dir_stats (TntFileDB *file_db, gchar *path, guint *files, guint64 *size); gboolean tnt_file_db_dir_is_scanned (TntFileDB *file_db, gchar *path); guint tnt_file_db_get_dir_count (TntFileDB *file_db); guint tnt_file_db_get_file_count (TntFileDB *file_db, gboolean include_unhashed); guint64 tnt_file_db_get_file_size (TntFileDB *file_db, gboolean include_unhashed); void tnt_file_db_set_file_update_func (TntFileDB *file_db, TntFileUpdateFunc *func, gpointer data); gchar* tnt_file_db_get_file_name (TntFileDB *file_db, const TntFileID *file_id); gchar* tnt_file_db_get_file_path (TntFileDB *file_db, const TntFileID *file_id); gint tnt_file_db_n_user_dirs (TntFileDB *file_db); TntFileDBHandle tnt_file_db_nth_user_dir (TntFileDB *file_db, gint n); gint tnt_file_db_handle_n_children (TntFileDB *file_db, TntFileDBHandle handle); TntFileDBHandle tnt_file_db_handle_nth_child (TntFileDB *file_db, TntFileDBHandle handle, gint n); TntFileDBHandle tnt_file_db_handle_parent (TntFileDB *file_db, TntFileDBHandle handle); gboolean tnt_file_db_handle_is_user_dir (TntFileDB *file_db, TntFileDBHandle handle); gint tnt_file_db_handle_get_position (TntFileDB *file_db, TntFileDBHandle handle); gchar* tnt_file_db_handle_get_name (TntFileDB *file_db, TntFileDBHandle handle); gchar* tnt_file_db_handle_get_path (TntFileDB *file_db, TntFileDBHandle handle); guint tnt_file_db_handle_get_file_count (TntFileDB *file_db, TntFileDBHandle handle); guint64 tnt_file_db_handle_get_file_size (TntFileDB *file_db, TntFileDBHandle handle); TntFileDBHandleState tnt_file_db_handle_get_state (TntFileDB *file_db, TntFileDBHandle handle); GList* tnt_file_db_handle_get_files (TntFileDB *file_db, TntFileDBHandle handle); void tnt_file_db_set_handle_add_func (TntFileDB *file_db, TntHandleFunc *func, gpointer data); void tnt_file_db_set_handle_remove_func (TntFileDB *file_db, TntHandleFunc *func, gpointer data); void tnt_file_db_set_handle_change_func (TntFileDB *file_db, TntHandleFunc *func, gpointer data);
typedef enum { TNT_FILE_DB_IDLE, TNT_FILE_DB_SCANNING, TNT_FILE_DB_HASHING, TNT_FILE_DB_ACTION } TntFileDBState;
typedef enum { TNT_FILE_DB_HANDLE_ONLINE, TNT_FILE_DB_HANDLE_SCANNING, TNT_FILE_DB_HANDLE_TALLIED, TNT_FILE_DB_HANDLE_HASHING } TntFileDBHandleState;
struct TntFileDB { TntDataDB data_db; TntStorage *private_storage; TntFileUpdateFunc *file_update_func; gpointer file_update_func_data; TntFileIDHintFunc *file_id_hint_func; gpointer file_id_hint_func_data; TntHandleFunc *handle_add_func; gpointer handle_add_func_data; TntHandleFunc *handle_remove_func; gpointer handle_remove_func_data; TntHandleFunc *handle_change_func; gpointer handle_change_func_data; GNode *dir_tree; GList *file_list; GList *file_list_last; /* Speedup pointer to last element for appending */ GHashTable *files_by_location; GHashTable *files_by_id; GList *serialization_list; GList *block_action_queue; TntBlockAction *current_block_action; gint dir_count; gint file_count; gint file_hashed_count; gint64 file_size; gint64 file_hashed_size; TntFileDBState state; gboolean need_scan; gboolean need_hash; gboolean need_stabilization; TntTimeStamp stabilization_time; /* State information */ guint callback_source_id; guint report_timeout_id; gpointer id_hint_file_stat; GList *stat_node; DIR *dir_hd; FluxFileIO *file_io; gpointer block; };
void tnt_file_db_add_dir (TntFileDB *file_db, const gchar *path, gboolean recursive);
file_db : | |
path : | |
recursive : |
void tnt_file_db_remove_dir (TntFileDB *file_db, const gchar *path);
file_db : | |
path : |
GList* tnt_file_db_get_user_dir_list (TntFileDB *file_db);
file_db : | |
Returns : |
gboolean tnt_file_db_get_dir_stats (TntFileDB *file_db, gchar *path, guint *files, guint64 *size);
file_db : | |
path : | |
files : | |
size : | |
Returns : |
gboolean tnt_file_db_dir_is_scanned (TntFileDB *file_db, gchar *path);
file_db : | |
path : | |
Returns : |
guint tnt_file_db_get_dir_count (TntFileDB *file_db);
file_db : | |
Returns : |
guint tnt_file_db_get_file_count (TntFileDB *file_db, gboolean include_unhashed);
file_db : | |
include_unhashed : | |
Returns : |
guint64 tnt_file_db_get_file_size (TntFileDB *file_db, gboolean include_unhashed);
file_db : | |
include_unhashed : | |
Returns : |
void tnt_file_db_set_file_update_func (TntFileDB *file_db, TntFileUpdateFunc *func, gpointer data);
file_db : | |
func : | |
data : |
gchar* tnt_file_db_get_file_name (TntFileDB *file_db, const TntFileID *file_id);
file_db : | |
file_id : | |
Returns : |
gchar* tnt_file_db_get_file_path (TntFileDB *file_db, const TntFileID *file_id);
file_db : | |
file_id : | |
Returns : |
TntFileDBHandle tnt_file_db_nth_user_dir (TntFileDB *file_db, gint n);
file_db : | |
n : | |
Returns : |
gint tnt_file_db_handle_n_children (TntFileDB *file_db, TntFileDBHandle handle);
file_db : | |
handle : | |
Returns : |
TntFileDBHandle tnt_file_db_handle_nth_child (TntFileDB *file_db, TntFileDBHandle handle, gint n);
file_db : | |
handle : | |
n : | |
Returns : |
TntFileDBHandle tnt_file_db_handle_parent (TntFileDB *file_db, TntFileDBHandle handle);
file_db : | |
handle : | |
Returns : |
gboolean tnt_file_db_handle_is_user_dir (TntFileDB *file_db, TntFileDBHandle handle);
file_db : | |
handle : | |
Returns : |
gint tnt_file_db_handle_get_position (TntFileDB *file_db, TntFileDBHandle handle);
file_db : | |
handle : | |
Returns : |
gchar* tnt_file_db_handle_get_name (TntFileDB *file_db, TntFileDBHandle handle);
file_db : | |
handle : | |
Returns : |
gchar* tnt_file_db_handle_get_path (TntFileDB *file_db, TntFileDBHandle handle);
file_db : | |
handle : | |
Returns : |
guint tnt_file_db_handle_get_file_count (TntFileDB *file_db, TntFileDBHandle handle);
file_db : | |
handle : | |
Returns : |
guint64 tnt_file_db_handle_get_file_size (TntFileDB *file_db, TntFileDBHandle handle);
file_db : | |
handle : | |
Returns : |
TntFileDBHandleState tnt_file_db_handle_get_state (TntFileDB *file_db, TntFileDBHandle handle);
file_db : | |
handle : | |
Returns : |
GList* tnt_file_db_handle_get_files (TntFileDB *file_db, TntFileDBHandle handle);
file_db : | |
handle : | |
Returns : |
void tnt_file_db_set_handle_add_func (TntFileDB *file_db, TntHandleFunc *func, gpointer data);
file_db : | |
func : | |
data : |
void tnt_file_db_set_handle_remove_func (TntFileDB *file_db, TntHandleFunc *func, gpointer data);
file_db : | |
func : | |
data : |
void tnt_file_db_set_handle_change_func (TntFileDB *file_db, TntHandleFunc *func, gpointer data);
file_db : | |
func : | |
data : |
<< tnt-data-db | tnt-block-db >> |