00001
00002
00003 #ifndef PersistenceException_H
00004 #define PersistenceException_H
00005
00006 #include <cc++/config.h>
00007
00008 #include "BIEException.h"
00009
00010 using namespace BIE;
00011
00013 class Persistence_NameInUseException : public BIEException
00014 {
00015 public:
00017 Persistence_NameInUseException(string nameinuse, string sourcefilename, int sourcelinenumber);
00018 };
00019
00022 class PersistenceDirException : public BIEException
00023 {
00024 public:
00026 PersistenceDirException
00027 (string dir, int errnumber, string sourcefilename, int sourcelinenumber);
00028 };
00029
00031 class ArchiveFileOpenException : public BIEException
00032 {
00033 public:
00035 ArchiveFileOpenException
00036 (string filename, string sourcefilename, int sourcelinenumber);
00037 };
00038
00040 class ArchiveException : public BIEException
00041 {
00042 public:
00044 ArchiveException
00045 (string errormessage, string sourcefilename, int sourcelinenumber);
00046
00048 ArchiveException
00049 (string errormessage, int errnumber, string sourcefilename, int sourcelinenumber);
00050 };
00051
00053 class NoSuchUserStateException : public BIEException
00054 {
00055 public:
00057 NoSuchUserStateException
00058 (string statename, string sourcefilename, int sourcelinenumber);
00059 };
00060
00062 class NoSuchUserStateVersionException : public BIEException {
00063 public:
00065 NoSuchUserStateVersionException
00066 (string statename, uint32 stateversion, string sourcefilename, int sourcelinenumber);
00067 };
00068
00070 class NoSuchArchiveTypeException : public BIEException
00071 {
00072 public:
00074 NoSuchArchiveTypeException(string errormessage, string sourcefilename, int sourceline);
00075 };
00076
00078 class NoSuchSessionException : public BIEException
00079 {
00080 public:
00082 NoSuchSessionException(string session, string sourcefilename, int sourceline);
00083 };
00084
00086 class NoSuchVersionException : public BIEException
00087 {
00088 public:
00090 NoSuchVersionException(uint32 ver, string sourcefilename, int sourceline);
00091 };
00092
00094 class BoostSerializationException : public BIEException
00095 {
00096 public:
00098 BoostSerializationException(string msg, string sourcefilename, int sourceline);
00100 BoostSerializationException(string msg, string extra_msg,
00101 string sourcefilename, int sourceline);
00103 BoostSerializationException(BoostSerializationException* cause,
00104 string sourcefilename, int sourceline);
00106 BoostSerializationException(BoostSerializationException* cause, string extra_msg,
00107 string sourcefilename, int sourceline);
00108
00110 ~BoostSerializationException();
00111
00113 void print(std::ostream& o);
00114
00115 private:
00116 BoostSerializationException* cause;
00117 string msg;
00118 string extra_msg;
00119 };
00120 #endif