00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "TGo4RevServ.h"
00017
00018 #include "TGo4Log.h"
00019 #include "TGo4RevServParameter.h"
00020 #include "TGo4EventErrorException.h"
00021
00022 const Int_t TGo4RevServ::fgiDEFAULTPORT=6003;
00023
00024 TGo4RevServ::TGo4RevServ(const char* name)
00025 : TGo4MbsSource(name , GETEVT__REVSERV), fiPort(0)
00026 {
00027 TRACE((15,"TGo4RevServ::TGo4RevServ(Text_t*)",__LINE__, __FILE__));
00028 TGo4Log::Debug(" New Event Source RevServ %s: ",name);
00029 SetTimeout(fgiTIMEOUTDEFAULT);
00030 Open();
00031 }
00032
00033 TGo4RevServ::TGo4RevServ(TGo4RevServParameter* par)
00034 : TGo4MbsSource(par->GetName(), GETEVT__REVSERV), fiPort(0)
00035 {
00036 TRACE((15,"TGo4RevServ::TGo4RevServ(TGo4RevServParameter*)",__LINE__, __FILE__));
00037
00038 TGo4Log::Debug(" New Event Source RevServ %s: ",GetName());
00039 SetTimeout(par->GetTimeout());
00040 SetPort(par->GetPort());
00041 Open();
00042 }
00043
00044 TGo4RevServ::TGo4RevServ()
00045
00046 {
00047 TRACE((15,"TGo4RevServ::TGo4RevServ()",__LINE__, __FILE__));
00048 }
00049
00050 TGo4RevServ::~TGo4RevServ()
00051 {
00052 TRACE((15,"TGo4RevServ::~TGo4RevServ()",__LINE__, __FILE__));
00053 Close();
00054 }
00055
00056 Int_t TGo4RevServ::Open()
00057 {
00058 TRACE((12,"TGo4RevServFile::Open()",__LINE__, __FILE__));
00059 if(fbIsOpen) return -1;
00060
00061 if(fiPort==0)
00062 fiPort=TGo4RevServ::fgiDEFAULTPORT;
00063
00064 Int_t status = f_evt_rev_port(fiPort);
00065 SetCreateStatus(status);
00066 if(GetCreateStatus() !=GETEVT__SUCCESS) {
00067 Text_t buffer[TGo4EventSource::fguTXTLEN];
00068 f_evt_error(GetCreateStatus(), buffer, 1);
00069 SetErrMess(buffer);
00070 fbIsOpen = kFALSE;
00071 throw TGo4EventErrorException(this);
00072 }
00073 return TGo4MbsSource::Open();
00074 }
00075
00076