IMultiDatamanagerOpener.hpp
1 #pragma once
2 
3 #include "DM/config.hpp"
4 #include "DM/IDatamanager.hpp"
5 #include "DM/IParameterSet.hpp"
6 
7 
8 #include "DM/AutoLink.hpp" //enable autolink
9 
10 DM_NAMESPACE_BEGIN
11 
12 /// \brief For opening multiple datamanagers as single ODM object
13 /** the current status of implementation is strongly limited. finally, the object should behave as
14  all data have been implemented into a single odm file
15 */
16 class DM_API IMultiDatamanagerOpener : public ObjectBase
17 {
18 public:
19  static IMultiDatamanagerOpener* load(bool readOnly = false, bool threadSafety = true);
20  static IMultiDatamanagerOpener* load(const IParameterSet &params, bool readOnly = false, bool threadSafety = true); // for possible parameters see IDatamanager
21 
22  virtual IMultiDatamanagerOpener& addDatamanager(const char *filename) = 0;
23 
24  virtual IDatamanager* getDatamanager(void *instance = 0) = 0;
25 };
26 
28 
29 DM_NAMESPACE_END
Object can store a set of named parameter of different type.
Definition: IParameterSet.hpp:11
Interface to an Datamanager (ODM) object.
Definition: IDatamanager.hpp:57
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition: Handle.hpp:75
Definition: M/c++_api/inc/DM/ObjectBase.hpp:8
For opening multiple datamanagers as single ODM object.
Definition: IMultiDatamanagerOpener.hpp:16