1 #ifndef _Belle2_NSMDataHeader_h
2 #define _Belle2_NSMDataHeader_h
4 #include <daq/slc/system/SharedMemory.h>
5 #include "daq/slc/system/MMutex.h"
6 #include "daq/slc/system/MCond.h"
27 unsigned short maxentries;
28 unsigned short nentries;
38 unsigned int revision;
52 bool isOpend() {
return m_buf != NULL; }
53 bool open(
unsigned short max = 0);
55 Entry* add(
unsigned int addr,
57 unsigned int revision,
58 const std::string& name,
59 const std::string& format,
62 Header* getHeader() {
return m_header; }
63 Entry* get(
const std::string& name);
64 Entry* get(
unsigned int id);
65 Entry* get(
unsigned int addr,
unsigned int rid);
66 void lock() { m_mutex.lock(); }
67 void unlock() { m_mutex.unlock(); }
70 return m_cond.wait(m_mutex, second, 0);
72 void signal() { m_cond.broadcast(); }