1 /*
2  * mape - C4 Landscape.txt editor
3  *
4  * Copyright (c) 2005-2009, Armin Burgmeier
5  *
6  * Distributed under the terms of the ISC license; see accompanying file
7  * "COPYING" for details.
8  *
9  * "Clonk" is a registered trademark of Matthes Bender, used with permission.
10  * See accompanying file "TRADEMARK" for details.
11  *
12  * To redistribute this file separately, substitute the full license texts
13  * for the above references.
14  */
15 
16 #ifndef INC_MAPE_C4_GROUP_HANDLE_H
17 #define INC_MAPE_C4_GROUP_HANDLE_H
18 
19 #include <glib.h>
20 
21 G_BEGIN_DECLS
22 
23 typedef struct _C4GroupHandle C4GroupHandle;
24 
25 C4GroupHandle* c4_group_handle_new(void);
26 void c4_group_handle_free(C4GroupHandle* handle);
27 
28 const gchar* c4_group_handle_get_error(C4GroupHandle* handle);
29 
30 gboolean c4_group_handle_open(C4GroupHandle* handle, const gchar* path, gboolean create);
31 gboolean c4_group_handle_open_as_child(C4GroupHandle* handle, C4GroupHandle* mother, const gchar* name, gboolean exclusive, gboolean create);
32 
33 const gchar* c4_group_handle_get_name(C4GroupHandle* handle);
34 gchar* c4_group_handle_get_full_name(C4GroupHandle* handle);
35 
36 void c4_group_handle_reset_search(C4GroupHandle* handle);
37 
38 gboolean c4_group_handle_find_next_entry(C4GroupHandle* handle, const gchar* wildcard, gsize* size, gchar* filename, gboolean start_at_filename);
39 gboolean c4_group_handle_access_next_entry(C4GroupHandle* handle, const gchar* wildcard, gsize* size, gchar* filename, gboolean start_at_filename);
40 gboolean c4_group_handle_access_entry(C4GroupHandle* handle, const gchar* wildcard, gsize* size, gchar* filename, gboolean needs_to_be_a_group);
41 gsize c4_group_handle_accessed_entry_size(C4GroupHandle* handle);
42 gboolean c4_group_handle_read(C4GroupHandle* handle, gpointer buffer, gsize size);
43 gboolean c4_group_handle_is_folder(C4GroupHandle* handle);
44 
45 G_END_DECLS
46 
47 #endif /* INC_MAPE_C4_GROUP_HANDLE_H */
48