00001
00020 #ifndef ARXX_COMMON_H
00021 #define ARXX_COMMON_H
00022
00023 #include <sys/types.h>
00024
00025 #include <stdexcept>
00026 #include <string>
00027
00036 namespace Arxx
00037 {
00043 typedef u_int32_t u4byte;
00044
00050 typedef u_int8_t u1byte;
00051
00057 const u4byte g_u4InvalidID = 0xFFFFFFFF;
00058
00064 class id_not_unique : public std::invalid_argument
00065 {
00066 public:
00073 id_not_unique(const std::string & sString);
00074 };
00075
00081 class zlib_error : public std::runtime_error
00082 {
00083 public:
00090 zlib_error(const std::string & sString);
00091 };
00092
00098 class bzlib_error : public std::runtime_error
00099 {
00100 public:
00107 bzlib_error(const std::string & sString);
00108 };
00109
00115 class bad_file_format : public std::logic_error
00116 {
00117 public:
00124 bad_file_format(const std::string & sString);
00125 };
00126
00132 class file_error : public std::logic_error
00133 {
00134 public:
00141 file_error(const std::string & sString);
00142 };
00143 }
00144
00145 #endif