00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef COMPS_DOCPACKAGE_H
00021 #define COMPS_DOCPACKAGE_H
00022
00023 #include "comps_utils.h"
00024 #include "comps_obj.h"
00025 #include "comps_log.h"
00026
00027 #include "comps_validate.h"
00028 #include "comps_default.h"
00029
00036 typedef enum {COMPS_PACKAGE_DEFAULT, COMPS_PACKAGE_OPTIONAL,
00037 COMPS_PACKAGE_CONDITIONAL, COMPS_PACKAGE_MANDATORY,
00038 COMPS_PACKAGE_UNKNOWN} COMPS_PackageType;
00039
00041 typedef struct {
00042 COMPS_Object_HEAD;
00043 COMPS_PackageType type;
00044 COMPS_Str *name;
00045 COMPS_Str *requires;
00046 COMPS_Num *basearchonly;
00047 COMPS_ObjList *arches;
00048 } COMPS_DocGroupPackage;
00049
00050
00051
00052
00053
00054
00055 signed char comps_docpackage_cmp_u(COMPS_Object *pkg1, COMPS_Object *pkg2);
00056 char comps_docpackage_cmp_set(void *pkg1, void *pkg2);
00057
00063 COMPS_Object* comps_docpackage_get_name(COMPS_DocGroupPackage *pkg);
00064
00072 void comps_docpackage_set_name(COMPS_DocGroupPackage *pkg, char *name, char copy);
00073
00079 COMPS_Object* comps_docpackage_get_requires(COMPS_DocGroupPackage *pkg);
00080
00088 void comps_docpackage_set_requires(COMPS_DocGroupPackage *pkg, char *requires, char copy);
00089
00095 COMPS_Object* comps_docpackage_get_type(COMPS_DocGroupPackage *pkg);
00096
00103 void comps_docpackage_set_type(COMPS_DocGroupPackage *pkg,
00104 COMPS_PackageType type,
00105 bool unset);
00106
00111 void comps_docpackage_set_type_i(COMPS_DocGroupPackage *pkg, int type, bool unset);
00112
00117 const char* comps_docpackage_type_str(COMPS_PackageType type);
00118
00123 void comps_docpackage_set_basearchonly(COMPS_DocGroupPackage *pkg,
00124 int basearchonly, bool unset);
00125
00130 COMPS_Object* comps_docpackage_get_basearchonly(COMPS_DocGroupPackage *pkg);
00131
00132 char __comps_docpackage_idcmp(void *pkg1, void *pkg2);
00133 COMPS_ObjList* comps_docpackage_arches(COMPS_DocGroupPackage *pkg);
00134 void comps_docpackage_set_arches(COMPS_DocGroupPackage *pkg,
00135 COMPS_ObjList *arches);
00136
00137 signed char comps_docpackage_xml(COMPS_DocGroupPackage *pkg,
00138 xmlTextWriterPtr writer,
00139 COMPS_Log *log, COMPS_XMLOptions *xml_options,
00140 COMPS_DefaultsOptions *def_options);
00141
00142 extern COMPS_ObjectInfo COMPS_DocGroupPackage_ObjInfo;
00143 extern COMPS_ValRuleGeneric* COMPS_DocGroupPackage_ValidateRules[];
00144
00145 #endif
00146