4 #ifndef EventFilter_StorageManager_DQMEventStore_h
5 #define EventFilter_StorageManager_DQMEventStore_h
10 #include <boost/thread/mutex.hpp>
14 #include "xcept/Exception.h"
15 #include "xdaq/ApplicationDescriptor.h"
27 class DQMEventMonitorCollection;
41 template<
class EventType,
class ConnectionType,
class StateMachineType>
48 xdaq::ApplicationDescriptor*,
52 size_t (ConnectionType::*getExpectedUpdatesCount)()
const,
134 #endif // EventFilter_StorageManager_DQMEventStore_h
DQMTopLevelFolderPtr makeDQMTopLevelFolder(EventType const &)
DQMEventMsgView getDQMEventView(EventType const &)
std::vector< unsigned char > tempEventArea_
static boost::mutex mutex
xdaq::ApplicationDescriptor * appDescriptor_
ConnectionType * connectionType_
bool processCompletedTopLevelFolders_
StateMachineType * stateMachineType_
void addDQMEvent(EventType const &)
bool doProcessCompletedTopLevelFolders()
DQMEventMonitorCollection & dqmEventMonColl_
bool getNextReadyTopLevelFolder(DQMTopLevelFolderPtr &)
DQMEventStore & operator=(DQMEventStore const &)
bool handleNextCompletedTopLevelFolder()
static void processCompletedTopLevelFolders(void *arg)
size_t(ConnectionType::* getExpectedUpdatesCount_)() const
void setParameters(DQMProcessingParams const &)
boost::shared_ptr< DQMEventQueueCollection > DQMEventQueueCollectionPtr
TThread * completedFolderThread_
static boost::mutex storeMutex_
DQMProcessingParams dqmParams_
void stopProcessingCompletedTopLevelFolders()
void moveToFailedState(xcept::Exception &sentinelException)
boost::shared_ptr< AlarmHandler > AlarmHandlerPtr
AlarmHandlerPtr alarmHandler_
void(StateMachineType::* moveToFailedState_)(xcept::Exception &)
DQMEventStore(xdaq::ApplicationDescriptor *, DQMEventQueueCollectionPtr, DQMEventMonitorCollection &, ConnectionType *, size_t(ConnectionType::*getExpectedUpdatesCount)() const, StateMachineType *, void(StateMachineType::*moveToFailedState)(xcept::Exception &), AlarmHandlerPtr)
std::map< DQMKey, DQMTopLevelFolderPtr > DQMTopLevelFolderMap
DQMTopLevelFolderMap store_
void addDQMEventToStore(EventType const &)
void addDQMEventToReadyToServe(EventType const &)
DQMEventQueueCollectionPtr dqmEventQueueCollection_
boost::shared_ptr< DQMTopLevelFolder > DQMTopLevelFolderPtr