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;
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;
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; }
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:131
void addObject(const std::shared_ptr< Object > &newObject)
Definition: group.cc:43
void refresh()
Definition: group.cc:175
void flushIfRequested()
Definition: group.cc:171
void initializeUsingXML(xercesc::DOMElement *element) override
Definition: group.cc:108
void writeXML()
Definition: group.cc:97
void setExpand(bool expand)
Definition: group.h:64
std::string getFullName() override
Definition: group.cc:52
void write(bool writeXMLFile=true, bool writeH5File=true)
Definition: group.cc:143
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:179
void read()
Definition: group.cc:184
void enableSWMR()
Definition: group.cc:167
std::string getFileName()
Definition: group.h:78
void setFileName(const std::string &fn)
Definition: group.h:83
Definition: objectfactory.h:38