IsInfoWrapper.cpp

00001 #include "IsInfoWrapper.h"
00002 #include "Sct/LogicErrors.h"
00003 #include "Sct/IoExceptions.h"
00004 #include "Sct/SctNames.h"
00005 #include <is/info.h>
00006 #include <is/infodictionary.h>
00007 #include <is/infoiterator.h>
00008 #include <is/inforeceiver.h>
00009 #include <is/infoT.h>
00010 
00011 namespace SctCalibrationController {
00012   IsInfoWrapper::IsInfoWrapper(boost::shared_ptr<ISInfo> info) : wrapped(info){
00013   }
00014 
00015   IsInfoWrapper::~IsInfoWrapper(){}
00016 
00017   boost::shared_ptr<const ISInfo> IsInfoWrapper::getWrapped() const{
00018     return wrapped;
00019   }
00020 
00021   boost::shared_ptr<ISInfo> IsInfoWrapper::getWrapped(){
00022     return wrapped;
00023   }
00024 
00025   void IsInfoWrapper::publishWrappedObject(const string& serverName) const {
00026     ISInfoDictionary& is = Sct::SctNames::getISDictionary();
00027     string name=serverName;
00028     name+=".";
00029     name+=getClassName();
00030     name+=".";
00031     name+=getUniqueID();
00032     ISInfo::Status s = is.insert(name, const_cast<ISInfo&>(*getWrapped()));
00033     if (s != ISInfo::Success) throw Sct::IsException(s, name + " publish failed", __FILE__, __LINE__);
00034   }
00035 }

Generated on Mon Feb 6 14:01:22 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6