-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathORDataProcManager.hh
39 lines (33 loc) · 1.28 KB
/
ORDataProcManager.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// ORDataProcManager.hh
#ifndef _ORDataProcManager_hh_
#define _ORDataProcManager_hh_
#include <string>
#include <vector>
#include "ORVReader.hh"
#include "ORCompoundDataProcessor.hh"
#include "ORHeaderProcessor.hh"
#include "ORRunDataProcessor.hh"
#include "ORVSigHandler.hh"
class ORDataProcManager : public ORCompoundDataProcessor, public ORVSigHandler
{
public:
ORDataProcManager(ORVReader* reader = NULL, ORRunDataProcessor* runDataProc = NULL, ORHeaderProcessor* headerProc = NULL);
virtual ~ORDataProcManager();
virtual EReturnCode ProcessDataStream();
virtual EReturnCode ProcessRun();
virtual void SetReader(ORVReader* reader) { fReader = reader; }
virtual void SetDataId();
virtual inline void ValidateHeaderXML(bool doValidate = true)
{ fHeaderProcessor->GetHeader()->ValidateXML(doValidate); }
/*! Tells the manager to run as daemon and ignore warning messages related to Run Context, etc. */
virtual void SetRunAsDaemon(bool runAsDaemon = true) { fRunAsDaemon = runAsDaemon; }
protected:
virtual void SetRunContext(ORRunContext* aContext);
ORVReader* fReader;
ORHeaderProcessor* fHeaderProcessor;
ORRunDataProcessor* fRunDataProcessor;
bool fIOwnRunDataProcessor;
bool fIOwnHeaderProcessor;
bool fRunAsDaemon;
};
#endif