X-Git-Url: http://developer.intra2net.com/git/?p=libt2n;a=blobdiff_plain;f=src%2Ft2n_exception.cpp;h=1aae5c4af38814b42dccc32700ce408de4dc3e3f;hp=37c71b0b15b58cff39763f08a2ab4f6a327072a4;hb=04d86ba4ad4f14ab08f38804e772ec46a8ac92b0;hpb=d184c64894e6c4f3adb9467078acfc9e7446664a diff --git a/src/t2n_exception.cpp b/src/t2n_exception.cpp index 37c71b0..1aae5c4 100644 --- a/src/t2n_exception.cpp +++ b/src/t2n_exception.cpp @@ -17,7 +17,13 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include +#include +#include +#include + #include "t2n_exception.hxx" + #include BOOST_CLASS_EXPORT(libt2n::t2n_exception) @@ -29,3 +35,63 @@ BOOST_CLASS_EXPORT(libt2n::t2n_version_mismatch) BOOST_CLASS_EXPORT(libt2n::t2n_command_error) BOOST_CLASS_EXPORT(libt2n::t2n_serialization_error) BOOST_CLASS_EXPORT(libt2n::t2n_runtime_error) + +namespace libt2n +{ + +template +void t2n_exception::serialize(Archive & ar, const unsigned int version) +{ + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(exception); + ar & BOOST_SERIALIZATION_NVP(message); +} + +template +void t2n_communication_error::serialize(Archive & ar, const unsigned int version) +{ + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception); +} + +template +void t2n_connect_error::serialize(Archive & ar, const unsigned int version) +{ + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error); +} + +template +void t2n_server_error::serialize(Archive & ar, const unsigned int version) +{ + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error); +} + +template +void t2n_transfer_error::serialize(Archive & ar, const unsigned int version) +{ + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error); +} + +template +void t2n_version_mismatch::serialize(Archive & ar, const unsigned int version) +{ + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error); +} + +template +void t2n_command_error::serialize(Archive & ar, const unsigned int version) +{ + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception); +} + +template +void t2n_serialization_error::serialize(Archive & ar, const unsigned int version) +{ + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception); +} + +template +void t2n_runtime_error::serialize(Archive & ar, const unsigned int version) +{ + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception); +} + +} // namespace libt2n