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