31 #include "comps_doc_types.h"
32 #include "comps_getset.h"
33 #include "comps_dict.h"
35 #include "comps_set.h"
37 #include "comps_hslist.h"
38 #include "comps_utils.h"
40 #include <libxml/encoding.h>
41 #include <libxml/xmlwriter.h>
42 #include <libxml/tree.h>
44 COMPS_Prop * __comps_doccat_get_prop(
void *cat,
const char *key);
45 COMPS_Prop * __comps_docenv_get_prop(
void *env,
const char *key);
46 COMPS_Prop * __comps_docgroup_get_prop(
void *group,
const char *key);
49 void __comps_doc_char_setter(
void **attr,
char *val,
char copy);
50 char __comps_doc_add_lobject(COMPS_Doc *doc,
char *parent,
void *obj,
51 void(*obj_destructor)(
void*));
52 COMPS_List* __comps_get_lobject(COMPS_Doc *doc,
const char *obj);
53 void __comps_set_lobject(COMPS_Doc *doc,
const char *obj,
COMPS_List *lobj);
54 char __comps_doc_remove_lobject(COMPS_Doc *doc,
char *parent,
void *obj);
56 COMPS_Dict* __comps_get_dobject(COMPS_Doc *doc,
const char *obj);
57 void __comps_set_dobject(COMPS_Doc *doc,
const char *obj, COMPS_Dict *dobj);
58 char __comps_doc_add_dobject(COMPS_Doc *doc,
char *parent,
char *key,
61 COMPS_MDict* __comps_get_mdobject(COMPS_Doc *doc,
const char *obj);
62 void __comps_set_mdobject(COMPS_Doc *doc,
const char *obj, COMPS_MDict *mdobj);
63 char __comps_doc_add_mdobject(COMPS_Doc *doc,
char *parent,
char *key,
66 void __comps_doc_add_lang_prop(COMPS_Dict *dict,
char *lang,
char *prop,
68 void __comps_doc_add_prop(COMPS_Dict *dict,
char *key, COMPS_Prop * prop);
69 char __comps_doc_write_simple_prop(xmlTextWriterPtr writer,
char *prop,
71 void __comps_doc_write_lang_prop(xmlTextWriterPtr writer, COMPS_Dict *lang_dict,
75 void comps2xml_f(COMPS_Doc * doc,
char *filename,
char stdoutredirect);
82 void comps_doc_destroy_v(
void *doc);
84 char comps_doc_add_group(COMPS_Doc *doc, COMPS_DocGroup *group);
85 char comps_doc_add_category(COMPS_Doc *doc, COMPS_DocCategory *category);
86 char comps_doc_add_env(COMPS_Doc *doc, COMPS_DocEnv *env);
89 char *desc,
char *lang);
91 char *desc,
char *lang);
93 char *desc,
char *lang);
95 char comps_doc_del_group(COMPS_Doc *doc, COMPS_DocGroup *group);
96 char comps_doc_del_category(COMPS_Doc *doc, COMPS_DocCategory *category);
97 char comps_doc_del_env(COMPS_Doc * doc, COMPS_DocEnv *env);
99 void comps_doc_xml(COMPS_Doc * doc, xmlTextWriterPtr writer);
102 char comps_doc_cmp(COMPS_Doc *c1, COMPS_Doc *c2);
106 void comps_docgroup_set_id(COMPS_DocGroup *group,
char *
id,
char copy);
107 void comps_docgroup_set_name(COMPS_DocGroup *group,
char *name,
109 void comps_docgroup_add_lang_name(COMPS_DocGroup *group,
char *lang,
char *name,
111 void comps_docgroup_set_desc(COMPS_DocGroup *group,
char *desc,
113 void comps_docgroup_add_lang_desc(COMPS_DocGroup *group,
char *lang,
char *desc,
117 unsigned uservisible);
118 void comps_docgroup_set_displayorder(COMPS_DocGroup *group,
119 unsigned display_order);
123 COMPS_DocGroupPackage *package);
125 COMPS_PackageType type);
126 void comps_docgroup_xml(COMPS_DocGroup *group, xmlTextWriterPtr writer,
132 char __comps_docgroup_idcmp(
void* g1,
void *g2);
133 char comps_docgroup_cmp(COMPS_DocGroup *g1, COMPS_DocGroup *g2);
134 char comps_docgroup_cmp_v(
void *g1,
void *g2);
139 void comps_doccategory_set_id(COMPS_DocCategory *category,
char *
id,
char copy);
140 void comps_doccategory_set_name(COMPS_DocCategory *category,
char *name,
142 void comps_doccategory_add_lang_name(COMPS_DocCategory *category,
char *lang,
143 char *name,
char copy);
144 void comps_doccategory_set_desc(COMPS_DocCategory *category,
char *desc,
146 void comps_doccategory_add_lang_desc(COMPS_DocCategory *category,
char *lang,
147 char *desc,
char copy);
151 COMPS_DocGroupId *groupid);
152 void comps_doccategory_xml(COMPS_DocCategory *cat, xmlTextWriterPtr writer,
155 COMPS_DocCategory *c2);
157 COMPS_DocCategory *c2);
159 char __comps_doccategory_idcmp(
void* cat1,
void *cat2);
160 char comps_doccategory_cmp(COMPS_DocCategory *c1, COMPS_DocCategory *c2);
161 char comps_doccategory_cmp_v(
void *c1,
void *c2);
165 void comps_docenv_set_id(COMPS_DocEnv * env,
char *
id,
char copy);
166 void comps_docenv_set_name(COMPS_DocEnv * env,
char *name,
char copy);
167 void comps_docenv_add_lang_name(COMPS_DocEnv *env,
char *lang,
168 char *name,
char copy);
169 void comps_docenv_set_desc(COMPS_DocEnv * env,
char *desc,
char copy);
170 void comps_docenv_add_lang_desc(COMPS_DocEnv *env,
char *lang,
171 char *desc,
char copy);
174 COMPS_DocGroupId *optionid);
176 COMPS_DocGroupId *groupid);
177 void comps_docenv_xml(COMPS_DocEnv *env, xmlTextWriterPtr writer,
182 char __comps_docenv_idcmp(
void* e1,
void *e2);
183 char comps_docenv_cmp(COMPS_DocEnv *e1, COMPS_DocEnv *e2);
184 char comps_docenv_cmp_v(
void *e1,
void *e2);
191 COMPS_PackageType type);
192 void comps_docpackage_set_requires(COMPS_DocGroupPackage *package,
193 char *requires,
char copy);
196 void comps_docpackage_xml(COMPS_DocGroupPackage *pkg, xmlTextWriterPtr writer,
199 const char* comps_docpackage_type_str(COMPS_PackageType type);
201 COMPS_DocGroupId* comps_docgroupid_create();
202 COMPS_DocGroupId* comps_docgroupid_clone(COMPS_DocGroupId * groupid);
203 void comps_docgroupid_set_name(COMPS_DocGroupId *groupid,
char *name,
char copy);
204 void comps_docgroupid_set_default(COMPS_DocGroupId *groupid,
char def);
205 char comps_docgroupid_cmp(
void* gid1,
void *gid2);
206 void comps_docgroupid_destroy(
void *groupid);
void comps_docenv_destroy(void *env)
Definition: comps.c:1579
COMPS_Doc * comps_doc_create(const char *encoding)
Definition: comps.c:133
char * comps2xml_str(COMPS_Doc *doc)
Definition: comps.c:429
void comps_docenv_set_displayorder(COMPS_DocEnv *env, int display_order)
Definition: comps.c:1643
COMPS_DocEnv * comps_docenv_create()
Definition: comps.c:1562
COMPS_DocGroup * comps_docgroup_intersect(COMPS_DocGroup *g1, COMPS_DocGroup *g2)
Definition: comps.c:1128
COMPS_DocCategory * comps_doccategory_create()
Definition: comps.c:1196
void comps_doccategory_destroy(void *category)
Definition: comps.c:1213
void comps_doc_destroy(COMPS_Doc **doc)
Definition: comps.c:174
void comps_docpackage_destroy(void *pkg)
Definition: comps.c:2071
void comps_doccategory_set_displayorder(COMPS_DocCategory *category, int display_order)
Definition: comps.c:1279
void comps_doc_init(COMPS_Doc *doc)
Definition: comps.c:152
Definition: comps_list.h:76
void comps2xml_f(COMPS_Doc *doc, char *filename, char stdoutredirect)
Definition: comps.c:399
COMPS_List * comps_doc_get_groups(COMPS_Doc *doc, char *id, char *name, char *desc, char *lang)
Definition: comps.c:206
COMPS_Doc * comps_doc_intersect(COMPS_Doc *c1, COMPS_Doc *c2)
Definition: comps.c:622
A Documented file. Details.
COMPS_DocEnv * comps_docenv_union(COMPS_DocEnv *e1, COMPS_DocEnv *e2)
Definition: comps.c:1832
COMPS_DocCategory * comps_doccategory_intersect(COMPS_DocCategory *c1, COMPS_DocCategory *c2)
Definition: comps.c:1490
COMPS_DocGroup * comps_docgroup_clone(COMPS_DocGroup *g)
Definition: comps.c:1037
Definition: comps_logger.h:73
COMPS_DocGroupPackage * comps_docpackage_create()
Definition: comps.c:2010
void comps_docgroup_add_package(COMPS_DocGroup *group, COMPS_DocGroupPackage *package)
Definition: comps.c:866
COMPS_DocEnv * comps_docenv_intersect(COMPS_DocEnv *e1, COMPS_DocEnv *e2)
Definition: comps.c:1900
COMPS_List * comps_docgroup_get_packages(COMPS_DocGroup *group, char *name, COMPS_PackageType type)
Definition: comps.c:896
COMPS_Doc * comps_doc_union(COMPS_Doc *c1, COMPS_Doc *c2)
Definition: comps.c:514
void comps_docpackage_set_type(COMPS_DocGroupPackage *package, COMPS_PackageType type)
Definition: comps.c:2062
void comps_docpackage_set_name(COMPS_DocGroupPackage *package, char *name, char copy)
Definition: comps.c:2048
void comps_docgroup_set_langonly(COMPS_DocGroup *group, char *langonly, char copy)
Definition: comps.c:853
COMPS_DocGroupPackage * comps_docpackage_clone(COMPS_DocGroupPackage *pkg)
Definition: comps.c:2026
void comps_doccategory_add_groupid(COMPS_DocCategory *category, COMPS_DocGroupId *groupid)
Definition: comps.c:1295
COMPS_DocGroup * comps_docgroup_union(COMPS_DocGroup *g1, COMPS_DocGroup *g2)
Definition: comps.c:1072
COMPS_DocCategory * comps_doccategory_clone(COMPS_DocCategory *c)
Definition: comps.c:1400
COMPS_DocEnv * comps_docenv_clone(COMPS_DocEnv *g)
Definition: comps.c:1789
void comps_docgroup_set_default(COMPS_DocGroup *group, unsigned def)
Definition: comps.c:826
COMPS_DocCategory * comps_doccategory_union(COMPS_DocCategory *c1, COMPS_DocCategory *c2)
Definition: comps.c:1436
COMPS_List * comps_doc_get_envs(COMPS_Doc *doc, char *id, char *name, char *desc, char *lang)
Definition: comps.c:343
void comps_docenv_add_groupid(COMPS_DocEnv *env, COMPS_DocGroupId *groupid)
Definition: comps.c:1658
void comps_doc_clear(COMPS_Doc *doc)
Definition: comps.c:161
char comps_docpackage_cmp(void *pkg1, void *pkg2)
Definition: comps.c:2116
void comps_docenv_add_optionid(COMPS_DocEnv *env, COMPS_DocGroupId *optionid)
Definition: comps.c:1680
COMPS_List * comps_doc_get_categories(COMPS_Doc *doc, char *id, char *name, char *desc, char *lang)
Definition: comps.c:274
void comps_docgroup_set_uservisible(COMPS_DocGroup *group, unsigned uservisible)
Definition: comps.c:836
void comps_docgroup_destroy(void *group)
Definition: comps.c:764
COMPS_DocGroup * comps_docgroup_create()
Definition: comps.c:747
A Documented file. Details.