00001 #ifndef _IT_BUS_TRANSACTOIN_EXCEPTIONS_H_
00002 #define _IT_BUS_TRANSACTOIN_EXCEPTIONS_H_
00003
00004
00005
00006
00007 #include <it_bus/exception.h>
00008
00009 namespace IT_Bus
00010 {
00015 class IT_BUS_API NoActiveTransactionException :
00016 public Exception
00017 {
00018 public:
00019 NoActiveTransactionException(
00020 const String& message
00021 );
00022
00023 virtual
00024 ~NoActiveTransactionException();
00025
00029 virtual Exception*
00030 clone() const;
00031
00035 virtual void
00036 rethrow() const;
00037 };
00038
00039 class IT_BUS_API TransactionAlreadyActiveException :
00040 public Exception
00041 {
00042 public:
00043 TransactionAlreadyActiveException(
00044 const String& message
00045 );
00046
00047 virtual
00048 ~TransactionAlreadyActiveException();
00049
00053 virtual Exception*
00054 clone() const;
00055
00059 virtual void
00060 rethrow() const;
00061 };
00062
00063
00064 class IT_BUS_API TransactionSystemAlreadyActiveException :
00065 public Exception
00066 {
00067 public:
00068 TransactionSystemAlreadyActiveException(
00069 const String& message
00070 );
00071
00072 virtual
00073 ~TransactionSystemAlreadyActiveException();
00074
00078 virtual Exception*
00079 clone() const;
00080
00084 virtual void
00085 rethrow() const;
00086 };
00087
00088
00089 class IT_BUS_API TransactionSystemUnavailableException :
00090 public Exception
00091 {
00092 public:
00093 TransactionSystemUnavailableException(
00094 const String& message
00095 );
00096
00097 virtual
00098 ~TransactionSystemUnavailableException();
00099
00103 virtual Exception*
00104 clone() const;
00105
00109 virtual void
00110 rethrow() const;
00111 };
00112
00113 class IT_BUS_API TransactionInitializationException :
00114 public Exception
00115 {
00116 public:
00117 TransactionInitializationException(
00118 const String& message
00119 );
00120
00121 virtual
00122 ~TransactionInitializationException();
00123
00127 virtual Exception*
00128 clone() const;
00129
00133 virtual void
00134 rethrow() const;
00135 };
00136
00137 class IT_BUS_API InvalidTransactionIdentifierException :
00138 public Exception
00139 {
00140 public:
00141 InvalidTransactionIdentifierException(
00142 const String& message
00143 );
00144
00145 virtual
00146 ~InvalidTransactionIdentifierException();
00147
00151 virtual Exception*
00152 clone() const;
00153
00157 virtual void
00158 rethrow() const;
00159 };
00160
00161 class IT_BUS_API TransactionParticipantLimitException :
00162 public Exception
00163 {
00164 public:
00165 TransactionParticipantLimitException(
00166 const String& message
00167 );
00168
00169 virtual
00170 ~TransactionParticipantLimitException();
00171
00175 virtual Exception*
00176 clone() const;
00177
00181 virtual void
00182 rethrow() const;
00183 };
00184 }
00185
00186 #endif