00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __C_CREATEREPOLIB_XML_FILE_H__
00021 #define __C_CREATEREPOLIB_XML_FILE_H__
00022
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026
00027 #include <glib.h>
00028 #include "compression_wrapper.h"
00029 #include "package.h"
00030
00038 typedef enum {
00039 CR_XMLFILE_PRIMARY,
00040 CR_XMLFILE_FILELISTS,
00041 CR_XMLFILE_OTHER,
00042 CR_XMLFILE_SENTINEL,
00043 } cr_XmlFileType;
00044
00047 typedef struct {
00048 CR_FILE *f;
00050 cr_XmlFileType type;
00052 int header;
00054 int footer;
00056 long pkgs;
00058 } cr_XmlFile;
00059
00066 #define cr_xmlfile_open_primary(FILENAME, COMTYPE, ERR) \
00067 cr_xmlfile_open(FILENAME, CR_XMLFILE_PRIMARY, COMTYPE, ERR)
00068
00076 #define cr_xmlfile_sopen_primary(FILENAME, COMTYPE, STAT, ERR) \
00077 cr_xmlfile_sopen(FILENAME, CR_XMLFILE_PRIMARY, COMTYPE, STAT, ERR)
00078
00085 #define cr_xmlfile_open_filelists(FILENAME, COMTYPE, ERR) \
00086 cr_xmlfile_open(FILENAME, CR_XMLFILE_FILELISTS, COMTYPE, ERR)
00087
00095 #define cr_xmlfile_sopen_filelists(FILENAME, COMTYPE, STAT, ERR) \
00096 cr_xmlfile_sopen(FILENAME, CR_XMLFILE_FILELISTS, COMTYPE, STAT, ERR)
00097
00104 #define cr_xmlfile_open_other(FILENAME, COMTYPE, ERR) \
00105 cr_xmlfile_open(FILENAME, CR_XMLFILE_OTHER, COMTYPE, ERR)
00106
00114 #define cr_xmlfile_sopen_other(FILENAME, COMTYPE, STAT, ERR) \
00115 cr_xmlfile_sopen(FILENAME, CR_XMLFILE_OTHER, COMTYPE, STAT, ERR)
00116
00126 #define cr_xmlfile_open(FILENAME, TYPE, COMTYPE, ERR) \
00127 cr_xmlfile_sopen(FILENAME, TYPE, COMTYPE, NULL, ERR)
00128
00139 cr_XmlFile *cr_xmlfile_sopen(const char *filename,
00140 cr_XmlFileType type,
00141 cr_CompressionType comtype,
00142 cr_ContentStat *stat,
00143 GError **err);
00144
00153 int cr_xmlfile_set_num_of_pkgs(cr_XmlFile *f, long num, GError **err);
00154
00161 int cr_xmlfile_add_pkg(cr_XmlFile *f, cr_Package *pkg, GError **err);
00162
00175 int cr_xmlfile_add_chunk(cr_XmlFile *f, const char *chunk, GError **err);
00176
00182 int cr_xmlfile_close(cr_XmlFile *f, GError **err);
00183
00184
00187 #ifdef __cplusplus
00188 }
00189 #endif
00190
00191 #endif