\doxysection{comps\+\_\+doc.\+h}
\hypertarget{comps__doc_8h_source}{}\label{comps__doc_8h_source}\index{comps\_doc.h@{comps\_doc.h}}
\mbox{\hyperlink{comps__doc_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*\ libcomps\ -\/\ C\ alternative\ to\ yum.comps\ library}}
\DoxyCodeLine{00002\ \textcolor{comment}{\ *\ Copyright\ (C)\ 2013\ Jindrich\ Luza}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00004\ \textcolor{comment}{\ *\ This\ program\ is\ free\ software;\ you\ can\ redistribute\ it\ and/or\ modify}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ *\ it\ under\ the\ terms\ of\ the\ GNU\ General\ Public\ License\ as\ published\ by}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *\ the\ Free\ Software\ Foundation;\ either\ version\ 2\ of\ the\ License,\ or}}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *\ any\ later\ version.}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ *\ This\ program\ is\ distributed\ in\ the\ hope\ that\ it\ will\ be\ useful,\ but}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ *\ WITHOUT\ ANY\ WARRANTY;\ without\ even\ the\ implied\ warranty\ of}}
\DoxyCodeLine{00011\ \textcolor{comment}{\ *\ MERCHANTABILITY\ or\ FITNESS\ FOR\ A\ PARTICULAR\ PURPOSE.\ See\ the}}
\DoxyCodeLine{00012\ \textcolor{comment}{\ *\ GNU\ General\ Public\ License\ for\ more\ details.}}
\DoxyCodeLine{00013\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00014\ \textcolor{comment}{\ *\ You\ should\ have\ received\ a\ copy\ of\ the\ GNU\ General\ Public\ License}}
\DoxyCodeLine{00015\ \textcolor{comment}{\ *\ along\ with\ this\ program;\ if\ not,\ write\ to\ \ Free\ Software}}
\DoxyCodeLine{00016\ \textcolor{comment}{\ *\ Foundation,\ Inc.,\ 51\ Franklin\ Street,\ Fifth\ Floor,\ Boston,\ MA\ \ 02110-\/1301,}}
\DoxyCodeLine{00017\ \textcolor{comment}{\ *\ USA}}
\DoxyCodeLine{00018\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00019\ }
\DoxyCodeLine{00020\ \textcolor{preprocessor}{\#ifndef\ COMPS\_DOC\_H}}
\DoxyCodeLine{00021\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_H}}
\DoxyCodeLine{00022\ }
\DoxyCodeLine{00023\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{comps__obj_8h}{comps\_obj.h}}"{}}}
\DoxyCodeLine{00024\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{comps__objdict_8h}{comps\_objdict.h}}"{}}}
\DoxyCodeLine{00025\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{comps__objlist_8h}{comps\_objlist.h}}"{}}}
\DoxyCodeLine{00026\ \textcolor{preprocessor}{\#include\ "{}comps\_log.h"{}}}
\DoxyCodeLine{00027\ \textcolor{preprocessor}{\#include\ "{}comps\_types.h"{}}}
\DoxyCodeLine{00028\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{comps__docgroup_8h}{comps\_docgroup.h}}"{}}}
\DoxyCodeLine{00029\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{comps__doccategory_8h}{comps\_doccategory.h}}"{}}}
\DoxyCodeLine{00030\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{comps__docenv_8h}{comps\_docenv.h}}"{}}}
\DoxyCodeLine{00031\ \textcolor{preprocessor}{\#include\ "{}comps\_validate.h"{}}}
\DoxyCodeLine{00032\ \textcolor{preprocessor}{\#include\ "{}comps\_default.h"{}}}
\DoxyCodeLine{00033\ }
\DoxyCodeLine{00042\ }
\DoxyCodeLine{00044\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_GETOBJLIST(OBJS)\ COMPS\_ObjList*\ CONCAT(comps\_doc\_,\ OBJS)\(\backslash\)}}
\DoxyCodeLine{00045\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc)\{\(\backslash\)}}
\DoxyCodeLine{00046\ \textcolor{preprocessor}{\ \ \ \ COMPS\_ObjList\ *ret;\(\backslash\)}}
\DoxyCodeLine{00047\ \textcolor{preprocessor}{\ \ \ \ ret\ =\ (COMPS\_ObjList*)comps\_objdict\_get(doc-\/>objects,\ \#OBJS);\(\backslash\)}}
\DoxyCodeLine{00048\ \textcolor{preprocessor}{\ \ \ \ if\ (!ret)\ \{\(\backslash\)}}
\DoxyCodeLine{00049\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ ret\ =\ COMPS\_OBJECT\_CREATE(COMPS\_ObjList,\ NULL);\(\backslash\)}}
\DoxyCodeLine{00050\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ comps\_objdict\_set\_x(doc-\/>objects,\ \#OBJS,\ (COMPS\_Object*)ret);\(\backslash\)}}
\DoxyCodeLine{00051\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ ret\ =\ (COMPS\_ObjList*)comps\_object\_incref((COMPS\_Object*)ret);\(\backslash\)}}
\DoxyCodeLine{00052\ \textcolor{preprocessor}{\ \ \ \ \}\(\backslash\)}}
\DoxyCodeLine{00053\ \textcolor{preprocessor}{\ \ \ \ return\ ret;\(\backslash\)}}
\DoxyCodeLine{00054\ \textcolor{preprocessor}{\}}\textcolor{preprocessor}{}}
\DoxyCodeLine{00056\ }
\DoxyCodeLine{00057\ \textcolor{preprocessor}{\#define\ HEAD\_COMPS\_DOC\_GETOBJLIST(OBJS)\ COMPS\_ObjList*\ CONCAT(comps\_doc\_,\ OBJS)\(\backslash\)}}
\DoxyCodeLine{00058\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc);}\textcolor{preprocessor}{}}
\DoxyCodeLine{00060\ }
\DoxyCodeLine{00061\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_SETOBJLIST(OBJS)\ void\ CONCAT(comps\_doc\_set\_,\ OBJS)\(\backslash\)}}
\DoxyCodeLine{00062\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00063\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_ObjList\ *list)\{\(\backslash\)}}
\DoxyCodeLine{00064\ \textcolor{preprocessor}{\ \ \ \ comps\_objdict\_set(doc-\/>objects,\ \#OBJS,\ (COMPS\_Object*)list);\(\backslash\)}}
\DoxyCodeLine{00065\ \textcolor{preprocessor}{\}}\textcolor{preprocessor}{}}
\DoxyCodeLine{00067\ \textcolor{preprocessor}{\#define\ HEAD\_COMPS\_DOC\_SETOBJLIST(OBJS)\ void\ CONCAT(comps\_doc\_set\_,\ OBJS)\(\backslash\)}}
\DoxyCodeLine{00068\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00069\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_ObjList\ *list);}\textcolor{preprocessor}{}}
\DoxyCodeLine{00071\ }
\DoxyCodeLine{00072\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_GETOBJDICT(OBJNAME)\ COMPS\_ObjDict*\ CONCAT(comps\_doc\_,\ OBJNAME)\(\backslash\)}}
\DoxyCodeLine{00073\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc)\{\(\backslash\)}}
\DoxyCodeLine{00074\ \textcolor{preprocessor}{\ \ \ \ COMPS\_ObjDict\ *ret;\(\backslash\)}}
\DoxyCodeLine{00075\ \textcolor{preprocessor}{\ \ \ \ ret\ =\ (COMPS\_ObjDict*)comps\_objdict\_get(doc-\/>objects,\ \#OBJNAME);\(\backslash\)}}
\DoxyCodeLine{00076\ \textcolor{preprocessor}{\ \ \ \ if\ (!ret)\ \{\(\backslash\)}}
\DoxyCodeLine{00077\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ ret\ =\ COMPS\_OBJECT\_CREATE(COMPS\_ObjDict,\ NULL);\(\backslash\)}}
\DoxyCodeLine{00078\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ comps\_objdict\_set\_x(doc-\/>objects,\ \#OBJNAME,\ (COMPS\_Object*)ret);\(\backslash\)}}
\DoxyCodeLine{00079\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ ret\ =\ (COMPS\_ObjDict*)comps\_object\_incref((COMPS\_Object*)ret);\(\backslash\)}}
\DoxyCodeLine{00080\ \textcolor{preprocessor}{\ \ \ \ \}\(\backslash\)}}
\DoxyCodeLine{00081\ \textcolor{preprocessor}{\ \ \ \ return\ ret;\(\backslash\)}}
\DoxyCodeLine{00082\ \textcolor{preprocessor}{\}}\textcolor{preprocessor}{}}
\DoxyCodeLine{00084\ \textcolor{preprocessor}{\#define\ HEAD\_COMPS\_DOC\_GETOBJDICT(OBJNAME)\ COMPS\_ObjDict*\ CONCAT(comps\_doc\_,\ OBJNAME)\(\backslash\)}}
\DoxyCodeLine{00085\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc);}\textcolor{preprocessor}{}}
\DoxyCodeLine{00087\ }
\DoxyCodeLine{00088\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_GETOBJMDICT(OBJNAME)\ COMPS\_ObjMDict*\ CONCAT(comps\_doc\_,\ OBJNAME)\(\backslash\)}}
\DoxyCodeLine{00089\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc)\{\(\backslash\)}}
\DoxyCodeLine{00090\ \textcolor{preprocessor}{\ \ \ \ COMPS\_ObjMDict\ *ret;\(\backslash\)}}
\DoxyCodeLine{00091\ \textcolor{preprocessor}{\ \ \ \ ret\ =\ (COMPS\_ObjMDict*)comps\_objdict\_get(doc-\/>objects,\ \#OBJNAME);\(\backslash\)}}
\DoxyCodeLine{00092\ \textcolor{preprocessor}{\ \ \ \ if\ (!ret)\ \{\(\backslash\)}}
\DoxyCodeLine{00093\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ ret\ =\ COMPS\_OBJECT\_CREATE(COMPS\_ObjMDict,\ NULL);\(\backslash\)}}
\DoxyCodeLine{00094\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ comps\_objdict\_set\_x(doc-\/>objects,\ \#OBJNAME,\ (COMPS\_Object*)ret);\(\backslash\)}}
\DoxyCodeLine{00095\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ ret\ =\ (COMPS\_ObjMDict*)comps\_object\_incref((COMPS\_Object*)ret);\(\backslash\)}}
\DoxyCodeLine{00096\ \textcolor{preprocessor}{\ \ \ \ \}\(\backslash\)}}
\DoxyCodeLine{00097\ \textcolor{preprocessor}{\ \ \ \ return\ ret;\(\backslash\)}}
\DoxyCodeLine{00098\ \textcolor{preprocessor}{\}}\textcolor{preprocessor}{}}
\DoxyCodeLine{00100\ \textcolor{preprocessor}{\#define\ HEAD\_COMPS\_DOC\_GETOBJMDICT(OBJNAME)\ COMPS\_ObjMDict*\ CONCAT(comps\_doc\_,\ OBJNAME)\(\backslash\)}}
\DoxyCodeLine{00101\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc);}\textcolor{preprocessor}{}}
\DoxyCodeLine{00103\ }
\DoxyCodeLine{00104\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_SETOBJDICT(OBJS)\ void\ CONCAT(comps\_doc\_set\_,\ OBJS)\(\backslash\)}}
\DoxyCodeLine{00105\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00106\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_ObjDict\ *dict)\{\(\backslash\)}}
\DoxyCodeLine{00107\ \textcolor{preprocessor}{\ \ \ \ comps\_objdict\_set(doc-\/>objects,\ \#OBJS,\ (COMPS\_Object*)dict);\(\backslash\)}}
\DoxyCodeLine{00108\ \textcolor{preprocessor}{\}}\textcolor{preprocessor}{}}
\DoxyCodeLine{00110\ \textcolor{preprocessor}{\#define\ HEAD\_COMPS\_DOC\_SETOBJDICT(OBJS)\ void\ CONCAT(comps\_doc\_set\_,\ OBJS)\(\backslash\)}}
\DoxyCodeLine{00111\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00112\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_ObjDict\ *dict);}\textcolor{preprocessor}{}}
\DoxyCodeLine{00114\ }
\DoxyCodeLine{00115\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_SETOBJMDICT(OBJS)\ void\ CONCAT(comps\_doc\_set\_,\ OBJS)\(\backslash\)}}
\DoxyCodeLine{00116\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00117\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_ObjMDict\ *dict)\{\(\backslash\)}}
\DoxyCodeLine{00118\ \textcolor{preprocessor}{\ \ \ \ comps\_objdict\_set(doc-\/>objects,\ \#OBJS,\ (COMPS\_Object*)dict);\(\backslash\)}}
\DoxyCodeLine{00119\ \textcolor{preprocessor}{\}}\textcolor{preprocessor}{}}
\DoxyCodeLine{00121\ \textcolor{preprocessor}{\#define\ HEAD\_COMPS\_DOC\_SETOBJMDICT(OBJS)\ void\ CONCAT(comps\_doc\_set\_,\ OBJS)\(\backslash\)}}
\DoxyCodeLine{00122\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00123\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_ObjMDict\ *dict);}\textcolor{preprocessor}{}}
\DoxyCodeLine{00125\ }
\DoxyCodeLine{00126\ }
\DoxyCodeLine{00127\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_ADDOBJLIST(OBJS,\ OBJNAME,\ OBJTYPE)\ void\ CONCAT(comps\_doc\_add\_,\(\backslash\)}}
\DoxyCodeLine{00128\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OBJNAME)\(\backslash\)}}
\DoxyCodeLine{00129\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00130\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OBJTYPE\ *obj)\{\(\backslash\)}}
\DoxyCodeLine{00131\ \textcolor{preprocessor}{\ \ \ \ COMPS\_ObjList\ *ret;\(\backslash\)}}
\DoxyCodeLine{00132\ \textcolor{preprocessor}{\ \ \ \ ret\ =\ (COMPS\_ObjList*)comps\_objdict\_get(doc-\/>objects,\ \#OBJS);\(\backslash\)}}
\DoxyCodeLine{00133\ \textcolor{preprocessor}{\ \ \ \ if\ (!ret)\ \{\(\backslash\)}}
\DoxyCodeLine{00134\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ ret\ =\ COMPS\_OBJECT\_CREATE(COMPS\_ObjList,\ NULL);\(\backslash\)}}
\DoxyCodeLine{00135\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ comps\_objdict\_set(doc-\/>objects,\ \#OBJS,\ (COMPS\_Object*)ret);\(\backslash\)}}
\DoxyCodeLine{00136\ \textcolor{preprocessor}{\ \ \ \ \}\ else\ \{\(\backslash\)}}
\DoxyCodeLine{00137\ \textcolor{preprocessor}{\ \ \ \ \}\(\backslash\)}}
\DoxyCodeLine{00138\ \textcolor{preprocessor}{\ \ \ \ comps\_objlist\_append\_x(ret,\ (COMPS\_Object*)obj);\(\backslash\)}}
\DoxyCodeLine{00139\ \textcolor{preprocessor}{\ \ \ \ COMPS\_OBJECT\_DESTROY(ret);\(\backslash\)}}
\DoxyCodeLine{00140\ \textcolor{preprocessor}{\}}\textcolor{preprocessor}{}}
\DoxyCodeLine{00142\ \textcolor{preprocessor}{\#define\ HEAD\_COMPS\_DOC\_ADDOBJLIST(OBJNAME,\ OBJTYPE)\ void\ CONCAT(comps\_doc\_add\_,\(\backslash\)}}
\DoxyCodeLine{00143\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OBJNAME)\(\backslash\)}}
\DoxyCodeLine{00144\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00145\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OBJTYPE\ *obj);}\textcolor{preprocessor}{}}
\DoxyCodeLine{00147\ }
\DoxyCodeLine{00148\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_ADDOBJDICT(OBJS,\ OBJNAME)\ void\ CONCAT(comps\_doc\_add\_,\(\backslash\)}}
\DoxyCodeLine{00149\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OBJNAME)\(\backslash\)}}
\DoxyCodeLine{00150\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00151\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ char\ *key,\(\backslash\)}}
\DoxyCodeLine{00152\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_Str\ *obj)\{\(\backslash\)}}
\DoxyCodeLine{00153\ \textcolor{preprocessor}{\ \ \ \ COMPS\_ObjDict\ *ret;\(\backslash\)}}
\DoxyCodeLine{00154\ \textcolor{preprocessor}{\ \ \ \ ret\ =\ (COMPS\_ObjDict*)comps\_objdict\_get(doc-\/>objects,\ \#OBJS);\(\backslash\)}}
\DoxyCodeLine{00155\ \textcolor{preprocessor}{\ \ \ \ if\ (!ret)\ \{\(\backslash\)}}
\DoxyCodeLine{00156\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ ret\ =\ COMPS\_OBJECT\_CREATE(COMPS\_ObjDict,\ NULL);\(\backslash\)}}
\DoxyCodeLine{00157\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ comps\_objdict\_set(doc-\/>objects,\ \#OBJS,\ (COMPS\_Object*)ret);\(\backslash\)}}
\DoxyCodeLine{00158\ \textcolor{preprocessor}{\ \ \ \ \}\(\backslash\)}}
\DoxyCodeLine{00159\ \textcolor{preprocessor}{\ \ \ \ comps\_objdict\_set\_x(ret,\ key,\ (COMPS\_Object*)obj);\(\backslash\)}}
\DoxyCodeLine{00160\ \textcolor{preprocessor}{\ \ \ \ COMPS\_OBJECT\_DESTROY(ret);\(\backslash\)}}
\DoxyCodeLine{00161\ \textcolor{preprocessor}{\}}\textcolor{preprocessor}{}}
\DoxyCodeLine{00163\ \textcolor{preprocessor}{\#define\ HEAD\_COMPS\_DOC\_ADDOBJDICT(OBJNAME)\ void\ CONCAT(comps\_doc\_add\_,\(\backslash\)}}
\DoxyCodeLine{00164\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OBJNAME)\(\backslash\)}}
\DoxyCodeLine{00165\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00166\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ char\ *key,\(\backslash\)}}
\DoxyCodeLine{00167\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_Str\ *obj);}\textcolor{preprocessor}{}}
\DoxyCodeLine{00169\ }
\DoxyCodeLine{00170\ }
\DoxyCodeLine{00171\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_ADDOBJMDICT(OBJS,\ OBJNAME)\ void\ CONCAT(comps\_doc\_add\_,\(\backslash\)}}
\DoxyCodeLine{00172\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OBJNAME)\(\backslash\)}}
\DoxyCodeLine{00173\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00174\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ char\ *key,\(\backslash\)}}
\DoxyCodeLine{00175\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_Str\ *obj)\{\(\backslash\)}}
\DoxyCodeLine{00176\ \textcolor{preprocessor}{\ \ \ \ COMPS\_ObjMDict\ *ret;\(\backslash\)}}
\DoxyCodeLine{00177\ \textcolor{preprocessor}{\ \ \ \ ret\ =\ (COMPS\_ObjMDict*)comps\_objdict\_get(doc-\/>objects,\ \#OBJS);\(\backslash\)}}
\DoxyCodeLine{00178\ \textcolor{preprocessor}{\ \ \ \ if\ (!ret)\ \{\(\backslash\)}}
\DoxyCodeLine{00179\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ ret\ =\ COMPS\_OBJECT\_CREATE(COMPS\_ObjMDict,\ NULL);\(\backslash\)}}
\DoxyCodeLine{00180\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ comps\_objdict\_set(doc-\/>objects,\ \#OBJS,\ (COMPS\_Object*)ret);\(\backslash\)}}
\DoxyCodeLine{00181\ \textcolor{preprocessor}{\ \ \ \ \}\(\backslash\)}}
\DoxyCodeLine{00182\ \textcolor{preprocessor}{\ \ \ \ comps\_objmdict\_set\_x(ret,\ key,\ (COMPS\_Object*)obj);\(\backslash\)}}
\DoxyCodeLine{00183\ \textcolor{preprocessor}{\ \ \ \ COMPS\_OBJECT\_DESTROY(ret);\(\backslash\)}}
\DoxyCodeLine{00184\ \textcolor{preprocessor}{\}}\textcolor{preprocessor}{}}
\DoxyCodeLine{00186\ \textcolor{preprocessor}{\#define\ HEAD\_COMPS\_DOC\_ADDOBJMDICT(OBJNAME)\ void\ CONCAT(comps\_doc\_add\_,\(\backslash\)}}
\DoxyCodeLine{00187\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OBJNAME)\(\backslash\)}}
\DoxyCodeLine{00188\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00189\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ char\ *key,\(\backslash\)}}
\DoxyCodeLine{00190\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_Str\ *obj);}\textcolor{preprocessor}{}}
\DoxyCodeLine{00192\ }
\DoxyCodeLine{00193\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_GETPROP(OBJ,TYPE)\ CONCAT(TYPE,CONCAT(*\ ,CONCAT(comps\_doc\_,\ OBJ)))\(\backslash\)}}
\DoxyCodeLine{00194\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc)\{\(\backslash\)}}
\DoxyCodeLine{00195\ \textcolor{preprocessor}{\ \ \ \ TYPE\ *ret;\(\backslash\)}}
\DoxyCodeLine{00196\ \textcolor{preprocessor}{\ \ \ \ ret\ =\ (COMPS\_Str*)comps\_objdict\_get(doc-\/>objects,\ \#OBJ);\(\backslash\)}}
\DoxyCodeLine{00197\ \textcolor{preprocessor}{\ \ \ \ if\ (!ret)\ \{\(\backslash\)}}
\DoxyCodeLine{00198\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ ret\ =\ COMPS\_OBJECT\_CREATE(TYPE,\ NULL);\(\backslash\)}}
\DoxyCodeLine{00199\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ comps\_objdict\_set\_x(doc-\/>objects,\ \#OBJ,\ (COMPS\_Object*)ret);\(\backslash\)}}
\DoxyCodeLine{00200\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ ret\ =\ (TYPE*)comps\_object\_incref((COMPS\_Object*)ret);\(\backslash\)}}
\DoxyCodeLine{00201\ \textcolor{preprocessor}{\ \ \ \ \}\(\backslash\)}}
\DoxyCodeLine{00202\ \textcolor{preprocessor}{\ \ \ \ return\ ret;\(\backslash\)}}
\DoxyCodeLine{00203\ \textcolor{preprocessor}{\}}\textcolor{preprocessor}{}}
\DoxyCodeLine{00205\ }
\DoxyCodeLine{00206\ \textcolor{preprocessor}{\#define\ HEAD\_COMPS\_DOC\_GETPROP(OBJ,\ TYPE)\ CONCAT(TYPE,CONCAT(*,CONCAT(comps\_doc\_,\ OBJS)))\(\backslash\)}}
\DoxyCodeLine{00207\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc);}\textcolor{preprocessor}{}}
\DoxyCodeLine{00209\ }
\DoxyCodeLine{00210\ }
\DoxyCodeLine{00211\ \textcolor{preprocessor}{\#define\ COMPS\_DOC\_SETPROP(OBJ,\ TYPE)\ void\ CONCAT(comps\_doc\_set\_,\ OBJ)\(\backslash\)}}
\DoxyCodeLine{00212\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00213\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TYPE\ *value)\{\(\backslash\)}}
\DoxyCodeLine{00214\ \textcolor{preprocessor}{\ \ \ \ comps\_objdict\_set(doc-\/>objects,\ \#OBJ,\ (COMPS\_Object*)value);\(\backslash\)}}
\DoxyCodeLine{00215\ \textcolor{preprocessor}{\}}}
\DoxyCodeLine{00216\ }
\DoxyCodeLine{00218\ }
\DoxyCodeLine{00219\ }
\DoxyCodeLine{00220\ \textcolor{preprocessor}{\#define\ HEAD\_COMPS\_DOC\_SETPROP(OBJ,\ TYPE)\ void\ CONCAT(comps\_doc\_set\_,\ OBJ)\(\backslash\)}}
\DoxyCodeLine{00221\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (COMPS\_Doc\ *doc,\(\backslash\)}}
\DoxyCodeLine{00222\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TYPE\ *value);}}
\DoxyCodeLine{00223\ }
\DoxyCodeLine{00226\ }
\DoxyCodeLine{00229\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{00230\ \ \ \ \ \mbox{\hyperlink{comps__obj_8h_a00fd526b6bb8d3a008e65267184d457b}{COMPS\_Object\_HEAD}};}
\DoxyCodeLine{00231\ \ \ \ \ COMPS\_ObjDict\ *\mbox{\hyperlink{structCOMPS__Doc_a99e192d42010443a72cbf41f2177face}{objects}};\ }
\DoxyCodeLine{00232\ \ \ \ \ COMPS\_Log\ *\mbox{\hyperlink{structCOMPS__Doc_aea136c51113f38ec0ef3057e9231cd21}{log}};}
\DoxyCodeLine{00235\ \ \ \ \ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}}\ *\mbox{\hyperlink{structCOMPS__Doc_a7aded289a3cc8dba87ca1d38779953a1}{encoding}};\ \ \ }
\DoxyCodeLine{00236\ \ \ \ \ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}}\ *doctype\_name;}
\DoxyCodeLine{00237\ \ \ \ \ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}}\ *doctype\_sysid;}
\DoxyCodeLine{00238\ \ \ \ \ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}}\ *doctype\_pubid;}
\DoxyCodeLine{00239\ \ \ \ \ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}}\ *lang;}
\DoxyCodeLine{00240\ \ \ \ \ \}\ \mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}};}
\DoxyCodeLine{00241\ \mbox{\hyperlink{comps__obj_8h_aa3afe40a21c9580bcb8a93ef61795b03}{COMPS\_Object\_TAIL}}(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}});}
\DoxyCodeLine{00242\ }
\DoxyCodeLine{00243\ \textcolor{comment}{//HEAD\_COMPS\_CREATE\_u(doc,\ COMPS\_Doc)\ \ /*comps\_utils.h\ macro*/}}
\DoxyCodeLine{00244\ \textcolor{comment}{//HEAD\_COMPS\_COPY\_u(doc,\ COMPS\_Doc)\ \ /*comps\_utils.h\ macro*/}}
\DoxyCodeLine{00245\ \textcolor{comment}{//HEAD\_COMPS\_DESTROY\_u(doc,\ COMPS\_Doc)\ \ /*comps\_utils.h\ macro*/}}
\DoxyCodeLine{00246\ }
\DoxyCodeLine{00255\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{comps__doc_8h_a092572f00d2a60147154c487098d4e8b}{comps\_doc\_create}}(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}*\ doc,\ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ **args);}
\DoxyCodeLine{00256\ }
\DoxyCodeLine{00258\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{comps__doc_8h_a164fd1441fb6d1208d7b96e023780d27}{comps\_doc\_copy}}(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *doc\_dst,\ \mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *doc\_src);}
\DoxyCodeLine{00259\ }
\DoxyCodeLine{00262\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{comps__doc_8h_a2ffd011d084239ccfd1e9fc09597c974}{comps\_doc\_destroy}}(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *doc);}
\DoxyCodeLine{00263\ }
\DoxyCodeLine{00265\ \textcolor{keywordtype}{signed}\ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{comps__doc_8h_ac7633c2f643b3c7ec788d3d8917b0c7d}{comps\_doc\_cmp\_u}}(\mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ *obj1,\ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ *obj2);}
\DoxyCodeLine{00266\ }
\DoxyCodeLine{00270\ }
\DoxyCodeLine{00274\ HEAD\_COMPS\_DOC\_GETOBJLIST(groups)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00275\ }
\DoxyCodeLine{00276\ }
\DoxyCodeLine{00279\ HEAD\_COMPS\_DOC\_GETOBJLIST(categories)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00280\ }
\DoxyCodeLine{00281\ }
\DoxyCodeLine{00284\ HEAD\_COMPS\_DOC\_GETOBJLIST(environments)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00285\ }
\DoxyCodeLine{00286\ }
\DoxyCodeLine{00289\ HEAD\_COMPS\_DOC\_GETOBJDICT(langpacks)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00290\ }
\DoxyCodeLine{00291\ }
\DoxyCodeLine{00294\ HEAD\_COMPS\_DOC\_GETOBJMDICT(blacklist)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00295\ }
\DoxyCodeLine{00296\ }
\DoxyCodeLine{00299\ HEAD\_COMPS\_DOC\_GETOBJMDICT(whiteout)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00300\ }
\DoxyCodeLine{00301\ }
\DoxyCodeLine{00302\ }
\DoxyCodeLine{00303\ }
\DoxyCodeLine{00306\ }
\DoxyCodeLine{00307\ }
\DoxyCodeLine{00313\ HEAD\_COMPS\_DOC\_SETOBJLIST(groups)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00314\ }
\DoxyCodeLine{00315\ }
\DoxyCodeLine{00321\ HEAD\_COMPS\_DOC\_SETOBJLIST(categories)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00322\ }
\DoxyCodeLine{00323\ }
\DoxyCodeLine{00329\ HEAD\_COMPS\_DOC\_SETOBJLIST(environments)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00330\ }
\DoxyCodeLine{00331\ }
\DoxyCodeLine{00337\ HEAD\_COMPS\_DOC\_SETOBJDICT(langpacks)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00338\ }
\DoxyCodeLine{00339\ }
\DoxyCodeLine{00345\ HEAD\_COMPS\_DOC\_SETOBJMDICT(blacklist)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00346\ }
\DoxyCodeLine{00347\ }
\DoxyCodeLine{00353\ HEAD\_COMPS\_DOC\_SETOBJMDICT(whiteout)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00354\ }
\DoxyCodeLine{00355\ }
\DoxyCodeLine{00356\ }
\DoxyCodeLine{00357\ }
\DoxyCodeLine{00360\ }
\DoxyCodeLine{00361\ }
\DoxyCodeLine{00367\ HEAD\_COMPS\_DOC\_ADDOBJLIST(group,\ \mbox{\hyperlink{structCOMPS__DocGroup}{COMPS\_DocGroup}})\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00368\ }
\DoxyCodeLine{00369\ }
\DoxyCodeLine{00375\ HEAD\_COMPS\_DOC\_ADDOBJLIST(category,\ \mbox{\hyperlink{structCOMPS__DocCategory}{COMPS\_DocCategory}})\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00376\ }
\DoxyCodeLine{00377\ }
\DoxyCodeLine{00383\ HEAD\_COMPS\_DOC\_ADDOBJLIST(environment,\ \mbox{\hyperlink{structCOMPS__DocEnv}{COMPS\_DocEnv}})\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00384\ }
\DoxyCodeLine{00385\ }
\DoxyCodeLine{00393\ HEAD\_COMPS\_DOC\_ADDOBJDICT(langpack)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00394\ }
\DoxyCodeLine{00395\ }
\DoxyCodeLine{00403\ HEAD\_COMPS\_DOC\_ADDOBJMDICT(blacklist)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00404\ }
\DoxyCodeLine{00405\ }
\DoxyCodeLine{00413\ HEAD\_COMPS\_DOC\_ADDOBJMDICT(whiteout)\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00414\ }
\DoxyCodeLine{00415\ }
\DoxyCodeLine{00416\ }
\DoxyCodeLine{00417\ }
\DoxyCodeLine{00422\ }
\DoxyCodeLine{00423\ HEAD\_COMPS\_DOC\_SETPROP(lang,\ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}})\ \textcolor{comment}{/*comps\_doc.h\ macro*/}}
\DoxyCodeLine{00424\ }
\DoxyCodeLine{00425\ }
\DoxyCodeLine{00426\ }
\DoxyCodeLine{00427\ }
\DoxyCodeLine{00430\ }
\DoxyCodeLine{00431\ \mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}*\ comps\_doc\_get\_groups(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *doc,\ \textcolor{keywordtype}{char}\ *\textcolor{keywordtype}{id},\ \textcolor{keywordtype}{char}\ *name,}
\DoxyCodeLine{00432\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ *desc,\ \textcolor{keywordtype}{char}\ *lang,\ \textcolor{keywordtype}{int}\ flags);}
\DoxyCodeLine{00433\ \mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}*\ comps\_doc\_get\_categories(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *doc,\ \textcolor{keywordtype}{char}\ *\textcolor{keywordtype}{id},\ \textcolor{keywordtype}{char}\ *name,}
\DoxyCodeLine{00434\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ *desc,\ \textcolor{keywordtype}{char}\ *lang,\ \textcolor{keywordtype}{int}\ flags);}
\DoxyCodeLine{00435\ \mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}*\ comps\_doc\_get\_envs(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *doc,\ \textcolor{keywordtype}{char}\ *\textcolor{keywordtype}{id},\ \textcolor{keywordtype}{char}\ *name,}
\DoxyCodeLine{00436\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ *desc,\ \textcolor{keywordtype}{char}\ *lang,\ \textcolor{keywordtype}{int}\ flags);}
\DoxyCodeLine{00437\ }
\DoxyCodeLine{00439\ }
\DoxyCodeLine{00440\ \textcolor{comment}{//char*\ comps\_doc\_xml\_str(COMPS\_Doc*\ doc,\ char\ *enc,\ COMPS\_Log\ *log);}}
\DoxyCodeLine{00441\ }
\DoxyCodeLine{00442\ }
\DoxyCodeLine{00443\ \textcolor{comment}{//static\ signed\ char\ comps\_doc\_xml(COMPS\_Doc\ *doc,\ xmlTextWriterPtr\ writer);}}
\DoxyCodeLine{00444\ }
\DoxyCodeLine{00453\ \textcolor{keywordtype}{signed}\ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{comps__doc_8h_ab3f7801a8f7b84909bdcdd15f2c54cce}{comps2xml\_f}}(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *\ doc,\ \textcolor{keywordtype}{char}\ *filename,\ \textcolor{keywordtype}{char}\ stdoutredirect,}
\DoxyCodeLine{00454\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_XMLOptions\ *xml\_options,}
\DoxyCodeLine{00455\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_DefaultsOptions\ *def\_options);}
\DoxyCodeLine{00456\ }
\DoxyCodeLine{00461\ \textcolor{keywordtype}{char}*\ \mbox{\hyperlink{comps__doc_8h_a00711382df5ef2ed402d155535312c1e}{comps2xml\_str}}(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *doc,\ COMPS\_XMLOptions\ *options,}
\DoxyCodeLine{00462\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COMPS\_DefaultsOptions\ *def\_options);}
\DoxyCodeLine{00463\ }
\DoxyCodeLine{00472\ \mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}*\ \mbox{\hyperlink{comps__doc_8h_a025c1cdad40f643b98411f77dee92fa4}{comps\_doc\_union}}(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *c1,\ \mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *c2);}
\DoxyCodeLine{00473\ \mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}*\ comps\_doc\_intersect(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *c1,\ \mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *c2);}
\DoxyCodeLine{00474\ }
\DoxyCodeLine{00475\ \mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}*\ comps\_doc\_arch\_filter(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}\ *source,\ \mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *arches);}
\DoxyCodeLine{00476\ }
\DoxyCodeLine{00477\ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}}*\ comps\_doc\_doctype\_name\_get(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}*\ doc);}
\DoxyCodeLine{00478\ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}}*\ comps\_doc\_doctype\_pubid\_get(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}*\ doc);}
\DoxyCodeLine{00479\ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}}*\ comps\_doc\_doctype\_sysid\_get(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}*\ doc);}
\DoxyCodeLine{00480\ \textcolor{keywordtype}{void}\ comps\_doc\_doctype\_name\_set(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}*\ doc,\ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}}\ *val);}
\DoxyCodeLine{00481\ \textcolor{keywordtype}{void}\ comps\_doc\_doctype\_sysid\_set(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}*\ doc,\ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}}\ *val);}
\DoxyCodeLine{00482\ \textcolor{keywordtype}{void}\ comps\_doc\_doctype\_pubid\_set(\mbox{\hyperlink{structCOMPS__Doc}{COMPS\_Doc}}*\ doc,\ \mbox{\hyperlink{structCOMPS__Str}{COMPS\_Str}}\ *val);}
\DoxyCodeLine{00483\ }
\DoxyCodeLine{00484\ \textcolor{comment}{//extern\ COMPS\_ObjectInfo\ COMPS\_Doc\_ObjInfo;}}
\DoxyCodeLine{00485\ \textcolor{keyword}{extern}\ COMPS\_ValRuleGeneric*\ COMPS\_Doc\_ValidateRules[];}
\DoxyCodeLine{00486\ }
\DoxyCodeLine{00487\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//COMPS\_DOC\_H}}
\DoxyCodeLine{00488\ }

\end{DoxyCode}
