AnalysisServiceMain.cxx

00001 #include "AnalysisService.h"
00002 #include <pmg/pmg_initSync.h>
00003 
00004 #include "Sct/IpcObjectException.h"
00005 #include "Sct/ApplicationStartupDebugTools.h"
00006 
00007 #include <ipc/core.h>
00008 #include <boost/scoped_ptr.hpp>
00009 
00010 using boost::scoped_ptr;
00011 
00012 int main(int argc, char** argv) {
00013     using namespace SctAnalysis;
00014     setExceptionHandlers(argv[0]);
00015 
00016     IPCCore::init(argc,argv);
00017     Sct::ApplicationStartupDebugTools::announceStartOfMain(argc, argv, __FILE__, __LINE__);
00018 
00019     AnalysisArguments args(argc, argv);
00020     args.print(std::cout);
00021     AnalysisService& s=AnalysisService::initialize(args);
00022 
00023     try {
00024         if (!s.publish()) {
00025       IpcObjectException e("Failed to publish Analysis Service", __FILE__, __LINE__);
00026       e.sendToMrs(MRS_ERROR);
00027         }
00028     
00029     pmg_initSync();
00030         s.run();
00031         s.getServer().run();
00032         s.withdraw();
00033     } catch (Throwable& e) {
00034         e.sendToMrs(MRS_FATAL);
00035     std::terminate();
00036     }
00037 }

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