apt @VERSION@

aptconfiguration.h

00001 // -*- mode: cpp; mode: fold -*-
00002 // Description                                                          /*{{{*/
00010                                                                         /*}}}*/
00011 #ifndef APT_CONFIGURATION_H
00012 #define APT_CONFIGURATION_H
00013 // Include Files                                                        /*{{{*/
00014 #include <string>
00015 #include <vector>
00016                                                                         /*}}}*/
00017 namespace APT {
00018 class Configuration {                                                   /*{{{*/
00019 public:                                                                 /*{{{*/
00041         std::vector<std::string> static const getCompressionTypes(bool const &Cached = true);
00042 
00066         std::vector<std::string> static const getLanguages(bool const &All = false,
00067                         bool const &Cached = true, char const ** const Locale = 0);
00068 
00076         std::vector<std::string> static const getArchitectures(bool const &Cached = true);
00077 
00083         bool static const checkArchitecture(std::string const &Arch);
00084 
00086         struct Compressor {
00087                 std::string Name;
00088                 std::string Extension;
00089                 std::string Binary;
00090                 std::vector<std::string> CompressArgs;
00091                 std::vector<std::string> UncompressArgs;
00092                 unsigned short Cost;
00093 
00094                 Compressor(char const *name, char const *extension, char const *binary,
00095                            char const *compressArg, char const *uncompressArg,
00096                            unsigned short const cost);
00097                 Compressor() {};
00098         };
00099 
00107         std::vector<Compressor> static const getCompressors(bool const Cached = true);
00108 
00110         std::vector<std::string> static const getCompressorExtensions();
00111                                                                         /*}}}*/
00112         private:                                                        /*{{{*/
00113         void static setDefaultConfigurationForCompressors();
00114                                                                         /*}}}*/
00115 };
00116                                                                         /*}}}*/
00117 }
00118 #endif