Updated documentation

This commit is contained in:
Ralph Wessel
2024-10-24 18:06:18 +01:00
parent bdea330c2e
commit 3d2aab8862
27 changed files with 64 additions and 78 deletions
@@ -14,7 +14,7 @@ using namespace speckle::utility;
namespace {
using WrappedValue = active::serialise::CargoHold<ContainerWrap<Vector<Account>>, Vector<Account>>;
using WrappedValue = CargoHold<ContainerWrap<Vector<Account>>, Vector<Account>>;
}
@@ -6,7 +6,7 @@
namespace connector::interfac::browser::bridge {
/*!
JS Function class to retrieve the names of the methods supported by the bridge
JS Function class to retrieve the user's account(s)
*/
class GetAccounts : public speckle::interfac::browser::bridge::BridgeMethod<void, active::serialise::Cargo> {
public:
@@ -2,7 +2,6 @@
#include "Connector/Connector.h"
#include "Connector/Database/ModelCardDatabase.h"
#include "Connector/Interface/Browser/Bridge/Base/Arg/DocumentInfo.h"
using namespace active::container;
using namespace active::serialise;
@@ -8,7 +8,7 @@
namespace connector::interfac::browser::bridge {
///Argument parameter for a string
///Argument parameter for a model card
using CardHold = active::serialise::CargoHold<connector::record::CardMover, connector::record::ModelCard>;
///Argument type for this method
using ModelCardEventWrapper = speckle::interfac::browser::bridge::JSArgType<CardHold>;
@@ -7,7 +7,7 @@
namespace connector::interfac::browser::bridge {
/*!
A browser bridge to provide configuration settings
A browser bridge to manage document settings
*/
class BaseBridge : public speckle::interfac::browser::bridge::BrowserBridge, public speckle::event::ProjectSubscriber {
public:
@@ -25,13 +25,13 @@ GetConnectorVersion::GetConnectorVersion() : BridgeMethod{"GetConnectorVersion",
/*--------------------------------------------------------------------
Get the host application version
Get the connector software version
return: The application version
return: The connector software version
--------------------------------------------------------------------*/
std::unique_ptr<Cargo> GetConnectorVersion::run() const {
//Implement other platforms as required
String result{active::utility::String{connector::versionMajor} + "." + active::utility::String{connector::versionMinor} + "." +
active::utility::String{connector::versionPatch}};
String result{String{connector::versionMajor} + "." + String{connector::versionMinor} + "." +
String{connector::versionPatch}};
return std::make_unique<WrappedValue>(result);
} //GetConnectorVersion::run
@@ -8,7 +8,7 @@ namespace connector::interfac::browser::bridge {
class ConnectorConfig;
/*!
JS Function class to retrieve the names of the methods supported by the bridge
JS Function class to get the connector software version
*/
class GetConnectorVersion : public speckle::interfac::browser::bridge::BridgeMethod<void, active::serialise::Cargo> {
public:
@@ -23,8 +23,8 @@ namespace connector::interfac::browser::bridge {
// MARK: - Functions (const)
/*!
Get the host application version
@return The application version
Get the connector software version
@return The connector software version
*/
std::unique_ptr<active::serialise::Cargo> run() const;
};
@@ -21,9 +21,9 @@ GetDocumentState::GetDocumentState() : BridgeMethod{"GetDocumentState", [&]() {
/*--------------------------------------------------------------------
Get the document info
Get the document model cards
return: The document info
return: The document model cards
--------------------------------------------------------------------*/
std::unique_ptr<Cargo> GetDocumentState::run() const {
if (auto modelCardDBase = connector()->getModelCardDatabase(); modelCardDBase != nullptr) {
@@ -6,7 +6,7 @@
namespace connector::interfac::browser::bridge {
/*!
JS Function class to retrieve the information about the active document
JS Function class to retrieve model cards stored in the current document
*/
class GetDocumentState : public speckle::interfac::browser::bridge::BridgeMethod<void, active::serialise::Cargo> {
public:
@@ -21,8 +21,8 @@ namespace connector::interfac::browser::bridge {
// MARK: - Functions (const)
/*!
Get the document info
@return The document info
Get the document model cards
@return The document model cards
*/
std::unique_ptr<active::serialise::Cargo> run() const;
};
@@ -10,17 +10,11 @@
#include "Speckle/Database/BIMElementDatabase.h"
#include "Speckle/Environment/Project.h"
#include <array>
using namespace speckle::record::element;
using namespace connector::interfac::browser::bridge;
using namespace connector::record;
using namespace speckle::utility;
namespace {
}
/*--------------------------------------------------------------------
Default constructor
--------------------------------------------------------------------*/
@@ -30,9 +24,9 @@ HighlightModel::HighlightModel() : BridgeMethod{"HighlightModel", [&](const Send
/*--------------------------------------------------------------------
Higlight the model card selection
Highlight elements linked to the model card selection
modelCardID: The ID of the model to send
modelCardID: The ID of the target model card
--------------------------------------------------------------------*/
void HighlightModel::run(const String& modelCardID) const {
// Find the specified model card
@@ -16,7 +16,7 @@ namespace connector::interfac::browser::bridge {
using SendArgs = speckle::interfac::browser::bridge::JSArgType<StringHold>;
/*!
JS Function class to send a specified model
JS Function class to highlight elements from the selected model card in the open document
*/
class HighlightModel : public speckle::interfac::browser::bridge::BridgeMethod<SendArgs, void> {
public:
@@ -31,8 +31,8 @@ namespace connector::interfac::browser::bridge {
// MARK: - Functions (const)
/*!
Higlight the model card selection
@param modelCardID The ID of the model to send
Highlight elements linked to the model card selection
@param modelCardID The ID of the target model card
*/
void run(const speckle::utility::String& modelCardID) const;
};
@@ -8,13 +8,13 @@
namespace connector::interfac::browser::bridge {
///Argument parameter for a string
///Argument parameter for a model card
using CardHold = active::serialise::CargoHold<connector::record::CardMover, connector::record::ModelCard>;
///Argument type for this method
using ModelCardEventWrapper = speckle::interfac::browser::bridge::JSArgType<CardHold>;
/*!
JS Function class to add a model card to the document storage
JS Function class to remove a model card from the document storage
*/
class RemoveModel : public speckle::interfac::browser::bridge::BridgeMethod<ModelCardEventWrapper, void> {
public:
@@ -29,8 +29,8 @@ namespace connector::interfac::browser::bridge {
// MARK: - Functions (const)
/*!
Add a model card to document storage
@param card The card to add
Remove a model card from document storage
@param card The card to remove
*/
void run(const connector::record::ModelCard& card) const;
};
@@ -26,9 +26,9 @@ UpdateModel::UpdateModel() : BridgeMethod{"UpdateModel", [&](const ModelCardEven
/*--------------------------------------------------------------------
Add a model card to document storage
Update a model card in document storage
card: The card to add
card: The card to update
--------------------------------------------------------------------*/
void UpdateModel::run(const ModelCard& card) const {
if (auto modelCardDBase = connector()->getModelCardDatabase(); modelCardDBase != nullptr)
@@ -8,13 +8,13 @@
namespace connector::interfac::browser::bridge {
///Argument parameter for a string
///Argument parameter for a model card
using CardHold = active::serialise::CargoHold<connector::record::CardMover, connector::record::ModelCard>;
///Argument type for this method
using ModelCardEventWrapper = speckle::interfac::browser::bridge::JSArgType<CardHold>;
/*!
JS Function class to add a model card to the document storage
JS Function class to update a model card in document storage
*/
class UpdateModel : public speckle::interfac::browser::bridge::BridgeMethod<ModelCardEventWrapper, void> {
public:
@@ -29,8 +29,8 @@ namespace connector::interfac::browser::bridge {
// MARK: - Functions (const)
/*!
Add a model card to document storage
@param card The card to add
Update a model card in document storage
@param card The card to update
*/
void run(const connector::record::ModelCard& card) const;
};
@@ -6,7 +6,7 @@
namespace connector::interfac::browser::bridge {
/*!
JS Function class to retrieve the names of the methods supported by the bridge
JS Function class to retrieve the current display configuration settings
*/
class GetConfig : public speckle::interfac::browser::bridge::BridgeMethod<void, active::serialise::Cargo> {
public:
@@ -9,11 +9,11 @@ namespace connector::interfac::browser::bridge {
class ConnectorConfig;
///Argument for a JS call to update the configuration
///Argument for a JS call to update the display configuration settings
using UpdateArgs = speckle::interfac::browser::bridge::JSArgType<ConnectorConfig>;
/*!
JS Function class to retrieve the names of the methods supported by the bridge
JS Function class to update the display configuration settings
*/
class UpdateConfig : public speckle::interfac::browser::bridge::BridgeMethod<UpdateArgs, void> {
public:
@@ -22,7 +22,6 @@ namespace connector::interfac::browser::bridge {
/*!
Constructor
@param bridge The parent bridge object (provides access to bridge methods)
*/
UpdateConfig();
@@ -12,7 +12,6 @@ namespace connector::interfac::browser::bridge {
/*!
Constructor
@param bridge The parent bridge object (provides access to bridge methods)
*/
GetSelection();
@@ -18,7 +18,6 @@ namespace connector::interfac::browser::bridge {
/*!
Constructor
@param bridge The parent bridge object (provides access to bridge methods)
*/
GetSendFilters();
@@ -13,7 +13,7 @@ using namespace speckle::utility;
namespace {
using WrappedValue = active::serialise::CargoHold<ContainerWrap<Vector<CardSetting>, PackageWrap>, Vector<CardSetting>>;
using WrappedValue = CargoHold<ContainerWrap<Vector<CardSetting>, PackageWrap>, Vector<CardSetting>>;
}
@@ -26,9 +26,9 @@ GetSendSettings::GetSendSettings() : BridgeMethod{"GetSendSettings", [&]() {
/*--------------------------------------------------------------------
Get the send filters
Get send settings relevant to the host BIM application
return: The send filters
return: The send settings
--------------------------------------------------------------------*/
std::unique_ptr<Cargo> GetSendSettings::run() const {
auto filters = std::make_unique<Vector<CardSetting>>();
@@ -9,7 +9,7 @@ namespace connector::interfac::browser::bridge {
class ConnectorConfig;
/*!
JS Function class to retrieve the send filters
JS Function class to retrieve the send settings relevant to the host BIM application
*/
class GetSendSettings : public speckle::interfac::browser::bridge::BridgeMethod<void, active::serialise::Cargo> {
public:
@@ -18,15 +18,14 @@ namespace connector::interfac::browser::bridge {
/*!
Constructor
@param bridge The parent bridge object (provides access to bridge methods)
*/
GetSendSettings();
// MARK: - Functions (const)
/*!
Get the send filters
@return The send filters
Get send settings relevant to the host BIM application
@return The send settings
*/
std::unique_ptr<active::serialise::Cargo> run() const;
};
@@ -20,8 +20,6 @@
#include "Speckle/Record/Element/Element.h"
using namespace speckle::record::element;
#include <array>
using namespace active::serialise;
using namespace connector::interfac::browser::bridge;
using namespace connector::record;
@@ -29,10 +27,6 @@ using namespace speckle::database;
using namespace speckle::serialise;
using namespace speckle::utility;
namespace {
}
/*--------------------------------------------------------------------
Default constructor
--------------------------------------------------------------------*/
@@ -44,7 +38,7 @@ Send::Send() : BridgeMethod{"Send", [&](const SendArgs& args) {
/*--------------------------------------------------------------------
Send a specified model
modelCardID: The ID of the model to send
modelCardID: The ID of the model card identifying the objects to send
--------------------------------------------------------------------*/
void Send::run(const String& modelCardID) const {
//Find the specified model card
@@ -25,7 +25,6 @@ namespace connector::interfac::browser::bridge {
/*!
Constructor
@param bridge The parent bridge object (provides access to bridge methods)
*/
Send();
@@ -33,7 +32,7 @@ namespace connector::interfac::browser::bridge {
/*!
Send a specified model
@param modelCardID The ID of the model to send
@param modelCardID The ID of the model card identifying the objects to send
*/
void run(const speckle::utility::String& modelCardID) const;
};
@@ -1,5 +1,5 @@
#ifndef CONNECTOR_INTERFACE_BRIDGE_GET_CONFIG
#define CONNECTOR_INTERFACE_BRIDGE_GET_CONFIG
#ifndef CONNECTOR_INTERFACE_BRIDGE_GET_COMPLEX_TYPE
#define CONNECTOR_INTERFACE_BRIDGE_GET_COMPLEX_TYPE
#include "Speckle/Interface/Browser/Bridge/BridgeMethod.h"
@@ -15,7 +15,6 @@ namespace connector::interfac::browser::bridge {
/*!
Constructor
@param bridge The parent bridge object (provides access to bridge methods)
*/
GetComplexType();
@@ -30,4 +29,4 @@ namespace connector::interfac::browser::bridge {
}
#endif //CONNECTOR_INTERFACE_BRIDGE_GET_CONFIG
#endif //CONNECTOR_INTERFACE_BRIDGE_GET_COMPLEX_TYPE
@@ -1,8 +1,9 @@
#include "Connector/Interface/Browser/Bridge/Test/GoAway.h"
using namespace connector::interfac::browser::bridge;
#include "Speckle/Environment/Platform.h"
#include <iostream>
using namespace connector::interfac::browser::bridge;
using namespace speckle::environment;
/*--------------------------------------------------------------------
Default constructor
@@ -16,5 +17,5 @@ GoAway::GoAway() : BridgeMethod{"GoAway", [&]() {
Write a message to the console
--------------------------------------------------------------------*/
void GoAway::run() const {
std::cout << "Okay, going away.";
platform()->writeToConsole("Okay, going away.");
} //GoAway::run
@@ -3,6 +3,7 @@
#include "Connector/Record/Model/ReceiverModelCard.h"
#include "Connector/Record/Model/SenderModelCard.h"
using namespace active::serialise;
using namespace connector::record;
namespace {
@@ -32,7 +33,7 @@ namespace {
}
///The handler for model card packages
std::shared_ptr<active::serialise::Handler> CardMover::m_handler = std::make_shared<active::serialise::Handler>(attributeTag);
std::shared_ptr<Handler> CardMover::m_handler = std::make_shared<Handler>(attributeTag);
/*--------------------------------------------------------------------
@@ -6,10 +6,10 @@
namespace connector::record {
/*!
Wrapper to box/unbox objects during (de)serialisation, including reading/writing a specified attribute to determine object type
Wrapper to box/unbox model cards during (de)serialisation
Note that a derived class could also define the package handler, allowing the wrapper to be created via a default constructor that is
automatically bound to a set of internally defined object types
Model cards are polymorphic - this class ensures the type information is included when a card is serialised
and the correct object type is constructed on deserialisation
*/
class CardMover : public active::serialise::Mover {
public:
@@ -11,7 +11,10 @@
namespace connector::record {
/*!
A connector send filter
Base class for a Speckle model card
A model card captures key information about a model submitted to a Speckle server, e.g. the model ID, the target server
and account, and any settings or filters applicable to the host BIM application and open document
*/
class ModelCard : public speckle::database::Record {
public:
@@ -60,13 +63,13 @@ namespace connector::record {
*/
const speckle::utility::String& getModelID() const { return m_modelID; }
/*!
Get the setting type
@return The setting type
Get the ID of the active BIM project
@return The ID of the active BIM project
*/
const speckle::utility::String& getProjectID() const { return m_projectID; }
/*!
Get the setting type
@return The setting type
Get the user account ID
@return The user account ID
*/
const speckle::utility::String& getAccountID() const { return m_accountID; }
/*!
@@ -75,8 +78,8 @@ namespace connector::record {
*/
const speckle::utility::String& getMessage() const { return m_message; }
/*!
Get the setting type
@return The setting type
Get the server URL
@return The server URL
*/
const speckle::utility::String& getServerURL() const { return m_serverURL; }
/*!