6#include <ilog/TLoggerCompWrap.h>
7#include <iprm/IOptionsList.h>
8#include <ifile/IFilePersistence.h>
11#include <imtbase/IObjectCollection.h>
12#include <imtbase/ICollectionDataController.h>
19class CCollectionDataControllerComp:
20 public ilog::CLoggerComponentBase,
24 typedef ilog::CLoggerComponentBase BaseClass;
26 I_BEGIN_COMPONENT(CCollectionDataControllerComp)
27 I_REGISTER_INTERFACE(ICollectionDataController);
28 I_ASSIGN(m_resourceTypesCompPtr,
"ResourceTypes",
"List of supported resource types",
false,
"ResourceTypes");
29 I_ASSIGN_MULTI_0(m_objectPersistenceListCompPtr,
"ObjectPersistenceList",
"List of persistence components used for data object loading",
false);
30 I_ASSIGN_MULTI_0(m_resourceFileTypesCompPtr,
"FileTypeInfos",
"List of file type infos for corresponding resource type",
false);
31 I_ASSIGN_MULTI_0(m_objectFactoryListCompPtr,
"ObjectFactoryList",
"List of object factories for corresponding resource type",
false);
36 virtual const ifile::IFilePersistence* GetPersistenceForObjectType(
const QByteArray& typeId)
const override;
37 virtual bool ExportFile(
39 const QByteArray& objectId,
40 const QString& targetFilePath = QString())
const override;
41 virtual imtbase::ICollectionInfo::Id ImportFile(
43 const QByteArray& typeId,
44 const QString& sourceFilePath = QString(),
45 const QString& objectName = QString())
const override;
48 virtual istd::IChangeableUniquePtr CreateObjectInstance(
const QByteArray& typeId)
const;
54 I_REF(iprm::IOptionsList, m_resourceTypesCompPtr);
59 I_MULTIREF(ifile::IFilePersistence, m_objectPersistenceListCompPtr);
64 I_MULTIFACT(istd::IChangeable, m_objectFactoryListCompPtr);
69 I_MULTIREF(ifile::IFileTypeInfo, m_resourceFileTypesCompPtr);