Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

SequenceRequestWorker.cpp

00001 #include "SequenceRequestWorker.h"
00002 #include "Sct/Exception.h"
00003 #include "Sct/CorbaExceptionWrapper.h"
00004 #include "Sct/StdExceptionWrapper.h"
00005 #include "Sct/BugReport.h"
00006 
00007 namespace SctCalibrationController {
00008 
00009     void SequenceRequestWorker::operator () (){  // does not throw
00010     Sct::Throwable* mrs = 0;
00011     try {
00012         cout << "In SequenceRequestWorker operator () 1" << endl;
00013         Sct::BugReport("BUG01","SequenceRequestWorker.cpp","In SequenceRequestWorker operator () 1/4");
00014         m_cc.executeSequence(m_sr);
00015         Sct::BugReport("BUG01","SequenceRequestWorker.cpp","In SequenceRequestWorker operator () 2/4");
00016         m_cc.status.status = m_cc.status.INCONTROL;  // was originally set to BUSY by CalibrationControllerImpl.
00017         Sct::BugReport("BUG01","SequenceRequestWorker.cpp","In SequenceRequestWorker operator () 3/4");
00018         m_cc.updateStatus();
00019         Sct::BugReport("BUG01","SequenceRequestWorker.cpp","In SequenceRequestWorker operator () 4/4");
00020         cout << "End of SequenceRequestWorker operator() 4" << endl;
00021     } catch(Sct::Throwable &e) {
00022         e.sendToMrs(MRS_ERROR);
00023     } catch(std::exception &e) {
00024         mrs = new Sct::StdExceptionWrapper(e);
00025     } catch(std::string &s) {          // Just in case  
00026         std::ostringstream os;
00027         os<<"uncaught string expection "<<s;
00028         mrs = new Sct::Error(os.str(), __FILE__, __LINE__);
00029     } catch(CORBA::Exception& e){
00030             Sct::CorbaExceptionWrapper(e, "error in SequenceRequestWorker thread", __FILE__, __LINE__).sendToMrs(MRS_ERROR);
00031     } catch(...) {
00032         mrs = new Sct::Error("uncaught unknown exception", __FILE__, __LINE__);
00033     }
00034     if (mrs) {
00035         mrs->sendToMrs(MRS_ERROR);
00036     }
00037     }
00038 }

Generated on Thu Dec 22 20:17:12 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5