Loading...
Searching...
No Matches
comps_docgroup.h
Go to the documentation of this file.
/* libcomps - C alternative to yum.comps library
* Copyright (C) 2013 Jindrich Luza
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA
*/
#ifndef COMPS_DOCGROUP_H
#define COMPS_DOCGROUP_H
#include "comps_utils.h"
#include "comps_obj.h"
#include "comps_objdict.h"
#include "comps_objlist.h"
#include "comps_docpackage.h"
#include "comps_validate.h"
#include "comps_radix.h"
#include "comps_default.h"
#include <stddef.h>
#include <assert.h>
typedef struct {
COMPS_Object_HEAD;
COMPS_ObjDict *properties;
COMPS_ObjDict *name_by_lang;
COMPS_ObjDict *desc_by_lang;
COMPS_ObjList *packages;
} COMPS_DocGroup;
//HEAD_COMPS_CREATE_u(docgroup, COMPS_DocGroup) /*comps_utils.h macro*/
//HEAD_COMPS_COPY_u(docgroup, COMPS_DocGroup) /*comps_utils.h macro*/
//HEAD_COMPS_DESTROY_u(docgroup, COMPS_DocGroup) /*comps_utils.h macro*/
HEAD_COMPS_STRPROP_SETTER(group, COMPS_DocGroup, id) /*comps_utils.h macro*/
HEAD_COMPS_STRPROP_SETTER(group, COMPS_DocGroup, name) /*comps_utils.h macro*/
HEAD_COMPS_STRPROP_SETTER(group, COMPS_DocGroup, desc) /*comps_utils.h macro*/
HEAD_COMPS_NUMPROP_SETTER(group, COMPS_DocGroup, def) /*comps_utils.h macro*/
HEAD_COMPS_NUMPROP_SETTER(group, COMPS_DocGroup, uservisible) /*comps_utils.h macro*/
HEAD_COMPS_NUMPROP_SETTER(group, COMPS_DocGroup, biarchonly) /*comps_utils.h macro*/
HEAD_COMPS_NUMPROP_SETTER(group, COMPS_DocGroup, display_order) /*comps_utils.h macro*/
HEAD_COMPS_STRPROP_SETTER(group, COMPS_DocGroup, langonly) /*comps_utils.h macro*/
HEAD_COMPS_PROP_GETTER(group, COMPS_DocGroup, id) /*comps_utils.h macro*/
HEAD_COMPS_PROP_GETTER_OBJ(group, id) /*comps_utils.h macro*/
HEAD_COMPS_PROP_GETTER(group, COMPS_DocGroup, name) /*comps_utils.h macro*/
HEAD_COMPS_PROP_GETTER(group, COMPS_DocGroup, desc) /*comps_utils.h macro*/
HEAD_COMPS_PROP_GETTER(group, COMPS_DocGroup, def) /*comps_utils.h macro*/
HEAD_COMPS_PROP_GETTER(group, COMPS_DocGroup, uservisible) /*comps_utils.h macro*/
HEAD_COMPS_PROP_GETTER(group, COMPS_DocGroup, biarchonly) /*comps_utils.h macro*/
HEAD_COMPS_PROP_GETTER(group, COMPS_DocGroup, display_order) /*comps_utils.h macro*/
HEAD_COMPS_PROP_GETTER(group, COMPS_DocGroup, langonly) /*comps_utils.h macro*/
HEAD_COMPS_DOCOBJ_GETOBJLIST(docgroup, COMPS_DocGroup, packages, packages)
HEAD_COMPS_DOCOBJ_SETOBJLIST(docgroup, COMPS_DocGroup, packages, packages)
HEAD_COMPS_DOCOBJ_GETARCHES(docgroup, COMPS_DocGroup)
HEAD_COMPS_DOCOBJ_SETARCHES(docgroup, COMPS_DocGroup)
signed char comps_docgroup_cmp_u(COMPS_Object *group1, COMPS_Object *group2);
char __comps_docgroup_idcmp(void *g1, void *g2);
void comps_docgroup_add_package(COMPS_DocGroup *group,
COMPS_DocGroupPackage *package);
COMPS_ObjList* comps_docgroup_get_packages(COMPS_DocGroup *group, char *name,
COMPS_PackageType type);
COMPS_DocGroup* comps_docgroup_union(COMPS_DocGroup *g1, COMPS_DocGroup *g2);
COMPS_DocGroup* comps_docgroup_intersect(COMPS_DocGroup *g1,
COMPS_DocGroup *g2);
signed char comps_docgroup_xml(COMPS_DocGroup *group, xmlTextWriterPtr writer,
COMPS_Log *log, COMPS_XMLOptions *xml_options,
COMPS_DefaultsOptions *def_options);
COMPS_DocGroup* comps_docgroup_arch_filter(COMPS_DocGroup *source,
COMPS_ObjList *arches);
extern COMPS_ObjectInfo COMPS_DocGroup_ObjInfo;
extern COMPS_ValRuleGeneric* COMPS_DocGroup_ValidateRules[];
#endif
comps_docgroup_get_packages
COMPS_ObjList * comps_docgroup_get_packages(COMPS_DocGroup *group, char *name, COMPS_PackageType type)
comps_docgroup_union
COMPS_DocGroup * comps_docgroup_union(COMPS_DocGroup *g1, COMPS_DocGroup *g2)
comps_docgroup_add_package
void comps_docgroup_add_package(COMPS_DocGroup *group, COMPS_DocGroupPackage *package)
comps_docgroup_intersect
COMPS_DocGroup * comps_docgroup_intersect(COMPS_DocGroup *g1, COMPS_DocGroup *g2)
comps_docpackage.h
COMPS_DocPackage header file.
COMPS_PackageType
COMPS_PackageType
Definition comps_docpackage.h:36
comps_obj.h
COMPS_Object header file.
COMPS_Object_HEAD
#define COMPS_Object_HEAD
Definition comps_obj.h:86
comps_objdict.h
Libcomps dictionary and multi-dictionary. COMPS_ObjDict and COMPS_ObjMDict are both derivates of COMP...
comps_objlist.h
A Documented file. Details.
COMPS_DocGroupPackage
Definition comps_docpackage.h:41
COMPS_DocGroup
Definition comps_docgroup.h:49
COMPS_DocGroup::name_by_lang
COMPS_ObjDict * name_by_lang
Definition comps_docgroup.h:53
COMPS_DocGroup::packages
COMPS_ObjList * packages
Definition comps_docgroup.h:57
COMPS_DocGroup::properties
COMPS_ObjDict * properties
Definition comps_docgroup.h:51
COMPS_DocGroup::desc_by_lang
COMPS_ObjDict * desc_by_lang
Definition comps_docgroup.h:55
COMPS_ObjList
Definition comps_objlist.h:41
COMPS_ObjectInfo
Definition comps_obj.h:102
COMPS_Object
Definition comps_obj.h:124