00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef SBUILD_KEYFILE_BASE_H
00021 #define SBUILD_KEYFILE_BASE_H
00022
00023 #include <sbuild/sbuild-i18n.h>
00024 #include <sbuild/sbuild-log.h>
00025 #include <sbuild/sbuild-parse-error.h>
00026 #include <sbuild/sbuild-parse-value.h>
00027 #include <sbuild/sbuild-types.h>
00028 #include <sbuild/sbuild-tr1types.h>
00029 #include <sbuild/sbuild-util.h>
00030
00031 #include <cassert>
00032 #include <map>
00033 #include <string>
00034 #include <sstream>
00035
00036 #include <boost/format.hpp>
00037
00038 namespace sbuild
00039 {
00040
00044 class keyfile_base
00045 {
00046 public:
00048 enum priority
00049 {
00050 PRIORITY_OPTIONAL,
00051 PRIORITY_REQUIRED,
00052 PRIORITY_DISALLOWED,
00053 PRIORITY_DEPRECATED,
00054 PRIORITY_OBSOLETE
00055 };
00056
00058 enum error_code
00059 {
00060 BAD_FILE,
00061 DEPRECATED_KEY,
00062 DEPRECATED_KEY_NL,
00063 DISALLOWED_KEY,
00064 DISALLOWED_KEY_NL,
00065 DUPLICATE_GROUP,
00066 DUPLICATE_KEY,
00067 INVALID_GROUP,
00068 INVALID_LINE,
00069 MISSING_KEY,
00070 MISSING_KEY_NL,
00071 NO_GROUP,
00072 NO_KEY,
00073 OBSOLETE_KEY,
00074 OBSOLETE_KEY_NL,
00075 PASSTHROUGH_G,
00076 PASSTHROUGH_GK,
00077 PASSTHROUGH_LG,
00078 PASSTHROUGH_LGK
00079 };
00080
00082 typedef parse_error<error_code> error;
00083
00085 keyfile_base ();
00086
00088 virtual ~keyfile_base ();
00089
00090 };
00091
00092 }
00093
00094 #endif
00095
00096
00097
00098
00099
00100