00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _ProtocolVersionException_
00023 #define _ProtocolVersionException_
00024
00025 #include "qpid/Exception.h"
00026 #include "ProtocolVersion.h"
00027 #include <string>
00028 #include <vector>
00029
00030 namespace qpid {
00031 namespace framing {
00032
00033 class ProtocolVersionException : public qpid::Exception
00034 {
00035 protected:
00036 ProtocolVersion versionFound;
00037
00038 public:
00039 ~ProtocolVersionException() throw() {}
00040
00041 template <class T>
00042 ProtocolVersionException(
00043 ProtocolVersion ver, const T& msg) throw () : versionFound(ver)
00044 { init(boost::lexical_cast<std::string>(msg)); }
00045
00046 template <class T>
00047 ProtocolVersionException(const T& msg) throw ()
00048 { init(boost::lexical_cast<std::string>(msg)); }
00049
00050 private:
00051 void init(const std::string& msg);
00052 };
00053
00054 }}
00055
00056 #endif //ifndef _ProtocolVersionException_