00001 #ifndef COMPS_DOCENV_H
00002 #define COMPS_DOCENV_H
00003
00004 #include <stddef.h>
00005 #include <assert.h>
00006
00007 #include "comps_utils.h"
00008 #include "comps_obj.h"
00009 #include "comps_objdict.h"
00010 #include "comps_objlist.h"
00011 #include "comps_docgroupid.h"
00012 #include "comps_validate.h"
00013 #include "comps_radix.h"
00014 #include "comps_log.h"
00015 #include "comps_default.h"
00016
00018 typedef struct {
00019 COMPS_Object_HEAD;
00020 COMPS_ObjDict *properties;
00022 COMPS_ObjDict *name_by_lang;
00024 COMPS_ObjDict *desc_by_lang;
00026 COMPS_ObjList *group_list;
00028 COMPS_ObjList *option_list;
00030 } COMPS_DocEnv;
00031
00032
00033
00034
00035
00058 HEAD_COMPS_STRPROP_SETTER(env, COMPS_DocEnv, id)
00059
00060
00065 HEAD_COMPS_STRPROP_SETTER(env, COMPS_DocEnv, name)
00066
00072 HEAD_COMPS_STRPROP_SETTER(env, COMPS_DocEnv, desc)
00073
00079 HEAD_COMPS_NUMPROP_SETTER(env, COMPS_DocEnv, display_order)
00092 HEAD_COMPS_PROP_GETTER(env, COMPS_DocEnv, id)
00093 HEAD_COMPS_PROP_GETTER_OBJ(env, id)
00094
00100 HEAD_COMPS_PROP_GETTER(env, COMPS_DocEnv, name)
00101
00107 HEAD_COMPS_PROP_GETTER(env, COMPS_DocEnv, desc)
00108
00114 HEAD_COMPS_PROP_GETTER(env, COMPS_DocEnv, display_order)
00127 HEAD_COMPS_DOCOBJ_GETOBJLIST(docenv, COMPS_DocEnv, group_list, group_list)
00128
00134 HEAD_COMPS_DOCOBJ_GETOBJLIST(docenv, COMPS_DocEnv, option_list, option_list)
00148 HEAD_COMPS_DOCOBJ_SETOBJLIST(docenv, COMPS_DocEnv, group_list, group_list)
00149
00156 HEAD_COMPS_DOCOBJ_SETOBJLIST(docenv, COMPS_DocEnv, option_list, option_list)
00159 HEAD_COMPS_DOCOBJ_GETARCHES(docenv, COMPS_DocEnv)
00160 HEAD_COMPS_DOCOBJ_SETARCHES(docenv, COMPS_DocEnv)
00161
00162 char __comps_docenv_idcmp(void *e1, void *e2);
00163
00169 void comps_docenv_add_groupid(COMPS_DocEnv *env,
00170 COMPS_DocGroupId *gid);
00171
00177 void comps_docenv_add_optionid(COMPS_DocEnv *env,
00178 COMPS_DocGroupId *gid);
00179
00185 COMPS_DocEnv* comps_docenv_union(COMPS_DocEnv *e1, COMPS_DocEnv *e2);
00186
00192 COMPS_DocEnv* comps_docenv_intersect(COMPS_DocEnv *e1, COMPS_DocEnv *e2);
00193
00194 signed char comps_docenv_xml(COMPS_DocEnv *env, xmlTextWriterPtr writer,
00195 COMPS_Log *log, COMPS_XMLOptions *xml_options,
00196 COMPS_DefaultsOptions *def_options);
00197 COMPS_DocEnv* comps_docenv_arch_filter(COMPS_DocEnv *source,
00198 COMPS_ObjList *arches);
00199
00200 extern COMPS_ObjectInfo COMPS_DocEnv_ObjInfo;
00201 extern COMPS_ValRuleGeneric* COMPS_DocEnv_ValidateRules[];
00202
00203 #endif
00204