6#include <istd/TDelPtr.h>
7#include <iser/IObject.h>
10#include <imtbase/IIdentifiable.h>
11#include <imtbase/IObjectCollection.h>
18class ICollectionObjectLink:
virtual public IIdentifiable,
virtual public iser::IObject
26 template <
class Object>
27 inline bool GetLinkedObject(istd::TSharedInterfacePtr<Object>& dataObject)
const
29 imtbase::IObjectCollection::DataPtr dataPtr;
30 if (GetLinkedObject(dataPtr)){
31 dataObject.MoveCastedPtr(dataPtr->CloneMe());
33 return dataObject.IsValid();
39 inline bool GetLinkedObject(imtbase::IObjectCollection::DataPtr& dataObject)
const
42 if (collectionPtr !=
nullptr){
44 if (!objectId.isEmpty()){
virtual QByteArray GetObjectUuid() const =0
virtual bool GetObjectData(const Id &objectId, DataPtr &dataPtr, const iprm::IParamsSet *dataConfigurationPtr=nullptr) const =0