00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "torc/generic/om/DumpRestoreConfig.hpp"
00017
00018 #ifndef HAVE_CONFIG_H
00019 #include "torc/generic/config.h"
00020 #endif
00021
00022 #ifdef GENOM_SERIALIZATION
00023 #include <boost/archive/binary_iarchive.hpp>
00024 #include <boost/archive/binary_oarchive.hpp>
00025 #include <boost/serialization/base_object.hpp>
00026 #include <boost/serialization/export.hpp>
00027 #endif //GENOM_SERIALIZATION
00028
00029 #include "torc/generic/om/SingleParameter.hpp"
00030
00031 #ifdef GENOM_SERIALIZATION
00032 BOOST_CLASS_EXPORT( torc::generic::SingleParameter )
00033 #endif //GENOM_SERIALIZATION
00034
00035 namespace torc {
00036
00037 namespace generic {
00038
00039
00040
00041
00042
00043
00044
00045
00046 SingleParameterSharedPtr
00047 SingleParameter::Factory::newSingleParameterPtr( const std::string &inName,
00048 const Value &inValue,
00049 const Unit &inUnit,
00050 const std::string &inOriginalName ) throw(Error) {
00051 try
00052 {
00053 SingleParameterSharedPtr newSingleParameter;
00054 create( newSingleParameter );
00055 newSingleParameter->setName(inName);
00056 newSingleParameter->setValue( inValue );
00057 newSingleParameter->setUnit( inUnit );
00058 newSingleParameter->setOriginalName( inOriginalName );
00059 return newSingleParameter;
00060 }
00061 catch( Error &e )
00062 {
00063 e.setCurrentLocation(
00064 __FUNCTION__, __FILE__, __LINE__ );
00065 throw;
00066 }
00067 }
00068
00069 void
00070 SingleParameter::accept(
00071 BaseVisitor & inoutVisitor) throw(Error) {
00072 try
00073 {
00074 runVisitor( *this, inoutVisitor );
00075 }
00076 catch( Error &e )
00077 {
00078 e.setCurrentLocation(
00079 __FUNCTION__, __FILE__, __LINE__ );
00080 throw;
00081 }
00082 }
00083
00084 SingleParameter::SingleParameter()
00085 :Parameter(),
00086 Scalar<Parameter>() {
00087 }
00088
00089 SingleParameter::~SingleParameter() throw() {
00090 }
00091
00092 #ifdef GENOM_SERIALIZATION
00093 template<class Archive> void
00094 SingleParameter::serialize( Archive &ar, unsigned int) {
00095 ar & boost::serialization::base_object< Parameter >( *this );
00096 ar & boost::serialization::base_object<
00097 Scalar<Parameter> >( *this );
00098 }
00099
00100
00101 template void
00102 SingleParameter::serialize<boost::archive::binary_oarchive>(
00103 boost::archive::binary_oarchive & ar, const unsigned int);
00104
00105 template void
00106 SingleParameter::serialize<boost::archive::binary_iarchive>(
00107 boost::archive::binary_iarchive & ar, const unsigned int);
00108
00109 #endif //GENOM_SERIALIZATION
00110
00111
00112 }
00113
00114 }