InternalVariantProperty::Pointer InternalVariantProperty::create(const PropertyName &name, const InternalNodePointer &propertyOwner) { InternalVariantProperty *newPointer(new InternalVariantProperty(name, propertyOwner)); InternalVariantProperty::Pointer smartPointer(newPointer); newPointer->setInternalWeakPointer(smartPointer); return smartPointer; }
InternalNodeProperty::Pointer InternalNodeProperty::create(const QString &name, const InternalNode::Pointer &propertyOwner) { InternalNodeProperty *newPointer = new InternalNodeProperty(name, propertyOwner); InternalNodeProperty::Pointer smartPointer(newPointer); newPointer->setInternalWeakPointer(smartPointer); return smartPointer; }
InternalSignalHandlerProperty::Pointer InternalSignalHandlerProperty::create(const PropertyName &name, const InternalNodePointer &propertyOwner) { auto newPointer(new InternalSignalHandlerProperty(name, propertyOwner)); InternalSignalHandlerProperty::Pointer smartPointer(newPointer); newPointer->setInternalWeakPointer(smartPointer); return smartPointer; }
TEST(ConnectorTests, CheckSmartPointersMakers) { QScopedPointer<PlainObject> smartPointer(new PlainObject()); QScopedPointer<PlainObject> smartPointer2(new PlainObject()); const auto& connector = QtUtils::makeConnector(smartPointer, smartPointer2); EXPECT_EQ(smartPointer.data(), getSignalObj(connector)); EXPECT_EQ(smartPointer2.data(), getRecvObj(connector)); const auto& queuedConnector = QtUtils::makeQueuedConnector(smartPointer, smartPointer2); EXPECT_EQ(smartPointer.data(), getSignalObj(queuedConnector)); EXPECT_EQ(smartPointer2.data(), getRecvObj(queuedConnector)); }
BaseElement::~BaseElement() { smartPointer(m_pointer); }