X-Git-Url: http://developer.intra2net.com/git/?p=libt2n;a=blobdiff_plain;f=src%2Ft2n_exception.hxx;h=a494c8612af742e83ffbb15bf32427f9c284f3b7;hp=719110106ff502098bb81475b576053962ddc0d4;hb=91730468439e21dcf8d275d0f70d803c20ccaa7c;hpb=d184c64894e6c4f3adb9467078acfc9e7446664a diff --git a/src/t2n_exception.hxx b/src/t2n_exception.hxx index 7191101..a494c86 100644 --- a/src/t2n_exception.hxx +++ b/src/t2n_exception.hxx @@ -46,11 +46,7 @@ class t2n_exception : public std::exception friend class boost::serialization::access; template - void serialize(Archive & ar, const unsigned int version) - { - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(exception); - ar & BOOST_SERIALIZATION_NVP(message); - } + void serialize(Archive & ar, const unsigned int version); public: t2n_exception(const std::string& _message) @@ -78,10 +74,7 @@ class t2n_communication_error : public t2n_exception private: friend class boost::serialization::access; template - void serialize(Archive & ar, const unsigned int version) - { - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception); - } + void serialize(Archive & ar, const unsigned int version); public: t2n_communication_error(const std::string& _message) @@ -104,10 +97,7 @@ class t2n_connect_error : public t2n_communication_error private: friend class boost::serialization::access; template - void serialize(Archive & ar, const unsigned int version) - { - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error); - } + void serialize(Archive & ar, const unsigned int version); public: t2n_connect_error(const std::string& _message) @@ -130,10 +120,7 @@ class t2n_server_error : public t2n_communication_error private: friend class boost::serialization::access; template - void serialize(Archive & ar, const unsigned int version) - { - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error); - } + void serialize(Archive & ar, const unsigned int version); public: t2n_server_error(const std::string& _message) @@ -156,10 +143,7 @@ class t2n_transfer_error : public t2n_communication_error private: friend class boost::serialization::access; template - void serialize(Archive & ar, const unsigned int version) - { - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error); - } + void serialize(Archive & ar, const unsigned int version); public: t2n_transfer_error(const std::string& _message) @@ -182,10 +166,7 @@ class t2n_version_mismatch : public t2n_communication_error private: friend class boost::serialization::access; template - void serialize(Archive & ar, const unsigned int version) - { - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error); - } + void serialize(Archive & ar, const unsigned int version); public: t2n_version_mismatch(const std::string& _message) @@ -208,10 +189,7 @@ class t2n_command_error : public t2n_exception private: friend class boost::serialization::access; template - void serialize(Archive & ar, const unsigned int version) - { - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception); - } + void serialize(Archive & ar, const unsigned int version); public: t2n_command_error(const std::string& _message) @@ -228,16 +206,36 @@ class t2n_command_error : public t2n_exception { throw *this; } }; +/// illegal libt2n option set +class t2n_parameter_error : public t2n_exception +{ + private: + friend class boost::serialization::access; + template + void serialize(Archive & ar, const unsigned int version); + + public: + t2n_parameter_error(const std::string& _message) + : t2n_exception(_message) + { } + + t2n_parameter_error() + { } + + t2n_exception* clone() const + { return new t2n_parameter_error(*this); } + + void do_throw() + { throw *this; } +}; + /// error serializing or deserializing a libt2n command packet class t2n_serialization_error : public t2n_exception { private: friend class boost::serialization::access; template - void serialize(Archive & ar, const unsigned int version) - { - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception); - } + void serialize(Archive & ar, const unsigned int version); public: t2n_serialization_error(const std::string& _message) @@ -262,10 +260,7 @@ class t2n_runtime_error : public t2n_exception private: friend class boost::serialization::access; template - void serialize(Archive & ar, const unsigned int version) - { - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception); - } + void serialize(Archive & ar, const unsigned int version); public: t2n_runtime_error(const std::string& _message)