diff --git a/SpeckleConnector/Connector/Database/Model/Card/ModelCardDatabase.cpp b/SpeckleConnector/Connector/Database/Model/Card/ModelCardDatabase.cpp index 264af71..4117cea 100644 --- a/SpeckleConnector/Connector/Database/Model/Card/ModelCardDatabase.cpp +++ b/SpeckleConnector/Connector/Database/Model/Card/ModelCardDatabase.cpp @@ -44,7 +44,7 @@ namespace { --------------------------------------------------------------------*/ ModelCardDatabase::ModelCardDatabase() { - auto engine = std::make_shared(modelCardDBaseName, + auto engine = std::make_unique(modelCardDBaseName, //Schema DBaseSchema{active::utility::String{modelCardDBaseName}, //Tables @@ -56,7 +56,7 @@ ModelCardDatabase::ModelCardDatabase() { } } ); - m_store = std::make_unique(std::move(engine)); + m_store = std::make_shared(std::move(engine)); } //ModelCardDatabase::ModelCardDatabase @@ -84,3 +84,13 @@ Vector ModelCardDatabase::getCards() const { std::unique_ptr ModelCardDatabase::wrapper() const { return m_store->wrapper(); } //ModelCardDatabase::wrapper + + +/*-------------------------------------------------------------------- + Get the database subscription (the content is document-based, and must react to document operations) + + return: The database subscription (add weakly to publisher) + --------------------------------------------------------------------*/ +std::shared_ptr ModelCardDatabase::getSubscription() const { + return dynamic_pointer_cast(m_store); +} //ModelCardDatabase::getSubscription