* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
+#include <boost/archive/binary_oarchive.hpp>
+#include <boost/archive/binary_iarchive.hpp>
+#include <boost/archive/xml_oarchive.hpp>
+#include <boost/archive/xml_iarchive.hpp>
+
#include "t2n_exception.hxx"
+
#include <boost/serialization/export.hpp>
BOOST_CLASS_EXPORT(libt2n::t2n_exception)
BOOST_CLASS_EXPORT(libt2n::t2n_command_error)
BOOST_CLASS_EXPORT(libt2n::t2n_serialization_error)
BOOST_CLASS_EXPORT(libt2n::t2n_runtime_error)
+
+namespace libt2n
+{
+
+template<class Archive>
+void t2n_exception::serialize(Archive & ar, const unsigned int version)
+{
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(exception);
+ ar & BOOST_SERIALIZATION_NVP(message);
+}
+
+template<class Archive>
+void t2n_communication_error::serialize(Archive & ar, const unsigned int version)
+{
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception);
+}
+
+template<class Archive>
+void t2n_connect_error::serialize(Archive & ar, const unsigned int version)
+{
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error);
+}
+
+template<class Archive>
+void t2n_server_error::serialize(Archive & ar, const unsigned int version)
+{
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error);
+}
+
+template<class Archive>
+void t2n_transfer_error::serialize(Archive & ar, const unsigned int version)
+{
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error);
+}
+
+template<class Archive>
+void t2n_version_mismatch::serialize(Archive & ar, const unsigned int version)
+{
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_communication_error);
+}
+
+template<class Archive>
+void t2n_command_error::serialize(Archive & ar, const unsigned int version)
+{
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception);
+}
+
+template<class Archive>
+void t2n_serialization_error::serialize(Archive & ar, const unsigned int version)
+{
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception);
+}
+
+template<class Archive>
+void t2n_runtime_error::serialize(Archive & ar, const unsigned int version)
+{
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(t2n_exception);
+}
+
+} // namespace libt2n