8#ifndef _Belle2_NSMDataHeader_h
9#define _Belle2_NSMDataHeader_h
11#include <daq/slc/system/SharedMemory.h>
12#include "daq/slc/system/MMutex.h"
13#include "daq/slc/system/MCond.h"
34 unsigned short maxentries;
35 unsigned short nentries;
45 unsigned int revision;
59 bool isOpend() {
return m_buf != NULL; }
60 bool open(
unsigned short max = 0);
62 Entry* add(
unsigned int addr,
64 unsigned int revision,
65 const std::string& name,
66 const std::string& format,
69 Header* getHeader() {
return m_header; }
70 Entry* get(
const std::string& name);
71 Entry* get(
unsigned int id);
72 Entry* get(
unsigned int addr,
unsigned int rid);
73 void lock() { m_mutex.lock(); }
74 void unlock() { m_mutex.unlock(); }
77 return m_cond.wait(m_mutex, second, 0);
79 void signal() { m_cond.broadcast(); }
Abstract base class for different kinds of events.