23 #ifndef ARCHIVEUTILS_H 24 #define ARCHIVEUTILS_H 26 #include "string_utils.h" 29 #include <archive_entry.h> 32 #if ARCHIVE_VERSION_NUMBER >= 3000000 33 #define INIT_ARCHIVE(ar) \ 34 archive_read_support_filter_gzip((ar)); \ 35 archive_read_support_filter_bzip2((ar)); \ 36 archive_read_support_filter_xz((ar)); \ 37 archive_read_support_format_tar((ar)) 38 #define FREE_ARCHIVE(ar) \ 39 archive_read_free((ar)) 41 #define INIT_ARCHIVE(ar) \ 42 archive_read_support_compression_gzip((ar)); \ 43 archive_read_support_compression_bzip2((ar)); \ 44 archive_read_support_compression_xz((ar)); \ 45 archive_read_support_format_tar((ar)) 46 #define FREE_ARCHIVE(ar) \ 47 archive_read_finish((ar)) 50 #define DEFAULT_BYTES_PER_BLOCK (20 * 512) 51 #define METAFILE ".META" 52 #define INFOFILE ".INFO" 53 #define MTREEFILE ".MTREE" 59 CANNOT_FIND_META_FILE,
60 CANNOT_FIND_MTREE_FILE,
75 virtual void treatErrors(
const std::string& s)
const;
83 unsigned int long size();
84 std::set<std::string> setofFiles();
85 std::set<std::string> listofDependencies();
86 std::set<std::string> listofAlias();
87 std::set<std::pair<std::string,time_t> > listofDependenciesBuildDate();
89 std::string version();
91 std::string description();
93 std::string contributors();
94 std::string maintainer();
95 std::string collection();
96 std::string packager();
97 std::string builddate();
99 std::string namebuildn();
100 std::string epochBuildDate();
105 std::string getPackageName();
106 std::string getPackageArch();
107 std::vector<std::string> extractFileContent(
const char * fileName);
108 void getRunTimeDependencies();
109 void getRunTimeDependenciesEpoch();
112 unsigned int long m_size;
114 std::vector<std::string> m_contentMtree;
115 std::vector<std::string> m_contentMeta;
116 std::vector<std::string> m_contentInfo;
118 std::set<std::string> m_rtDependenciesList;
119 std::set<std::pair<std::string,time_t> > m_rtDependenciesEpochList;
120 std::string m_fileName;
121 std::string m_packageName;
122 std::string m_packageArch;
123 std::set<std::string> m_filesList;
124 std::set<std::string> m_aliasList;
126 archive_error m_actualError;
129 int openArchive(
const char *fileName);
Definition: archive_utils.h:67