20#ifndef _OPENMBV_GROUP_H_
21#define _OPENMBV_GROUP_H_
23#include <openmbvcppinterface/objectfactory.h>
24#include <openmbvcppinterface/object.h>
33 ,
public std::enable_shared_from_this<Group>
40 std::vector<std::shared_ptr<Object> > object;
41 std::string expandStr;
42 boost::filesystem::path fileName;
43 std::shared_ptr<H5::File> hdf5File;
44 std::function<void()> closeRequestCallback;
45 std::function<void()> refreshCallback;
46 void createHDF5File()
override;
47 void openHDF5File()
override;
50 ~Group()
override =
default;
64 void setExpand(
bool expand) { expandStr=(expand)?
"true":
"false"; }
66 bool getExpand() {
return expandStr==
"true"?
true:
false; }
69 void addObject(
const std::shared_ptr<Object>& newObject);
71 std::vector<std::shared_ptr<Object> >& getObjects() {
75 std::shared_ptr<H5::File>& getHDF5File() {
return hdf5File; }
83 void setFileName(
const boost::filesystem::path &fn) { fileName=fn; }
89 void write(
bool writeXMLFile=
true,
bool writeH5File=
true);
107 void setCloseRequestCallback(
const std::function<
void()> &closeRequestCallback_) { closeRequestCallback=closeRequestCallback_; }
111 void setRefreshCallback(
const std::function<
void()> &refreshCallback_) { refreshCallback=refreshCallback_; }
116 xercesc::DOMElement* writeXMLFile(xercesc::DOMNode *parent)
override;
120 std::shared_ptr<Group> p=parent.lock();
121 return !p?shared_from_this():p->getTopLevelGroup();
void setCloseRequestCallback(const std::function< void()> &closeRequestCallback_)
Definition: group.h:107
void readXML()
Definition: group.cc:135
void addObject(const std::shared_ptr< Object > &newObject)
Definition: group.cc:47
void refresh()
Definition: group.cc:182
void flushIfRequested()
Definition: group.cc:178
void initializeUsingXML(xercesc::DOMElement *element) override
Definition: group.cc:112
void writeXML()
Definition: group.cc:101
void setExpand(bool expand)
Definition: group.h:64
void setFileName(const boost::filesystem::path &fn)
Definition: group.h:83
std::string getFullName() override
Definition: group.cc:56
void write(bool writeXMLFile=true, bool writeH5File=true)
Definition: group.cc:147
std::shared_ptr< Group > getTopLevelGroup()
Definition: group.h:119
void setRefreshCallback(const std::function< void()> &refreshCallback_)
Definition: group.h:111
void requestFlush()
Definition: group.cc:186
void read()
Definition: group.cc:191
void enableSWMR()
Definition: group.cc:173
std::string getFileName()
Definition: group.h:78
Definition: objectfactory.h:38