From f22b19993a19cc2ed5f7506ee67953a5abca3093 Mon Sep 17 00:00:00 2001 From: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com> Date: Thu, 5 Sep 2024 16:50:53 +0100 Subject: [PATCH] Added GetIsDevMode (#3) --- SpeckleConnector/Connector.vcxproj | 2 + .../Browser/Bridge/Config/ConfigBridge.cpp | 2 + .../Browser/Bridge/Config/GetConfig.h | 1 - .../Browser/Bridge/Config/GetIsDevMode.cpp | 39 +++++++++++++++++++ .../Browser/Bridge/Config/GetIsDevMode.h | 32 +++++++++++++++ 5 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetIsDevMode.cpp create mode 100644 SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetIsDevMode.h diff --git a/SpeckleConnector/Connector.vcxproj b/SpeckleConnector/Connector.vcxproj index 11d3c20..017662c 100644 --- a/SpeckleConnector/Connector.vcxproj +++ b/SpeckleConnector/Connector.vcxproj @@ -106,6 +106,7 @@ + @@ -134,6 +135,7 @@ + diff --git a/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/ConfigBridge.cpp b/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/ConfigBridge.cpp index e18ea8a..a300929 100644 --- a/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/ConfigBridge.cpp +++ b/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/ConfigBridge.cpp @@ -2,6 +2,7 @@ #include "Connector/Interface/Browser/Bridge/Config/GetConfig.h" #include "Connector/Interface/Browser/Bridge/Config/UpdateConfig.h" +#include "Connector/Interface/Browser/Bridge/Config/GetIsDevMode.h" using namespace connector::interfac::browser::bridge; @@ -12,4 +13,5 @@ ConfigBridge::ConfigBridge() : BrowserBridge{"configBinding"} { //Add bridge methods addMethod(); addMethod(); + addMethod(); } //ConfigBridge::ConfigBridge diff --git a/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetConfig.h b/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetConfig.h index 12af537..ff4eea7 100644 --- a/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetConfig.h +++ b/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetConfig.h @@ -15,7 +15,6 @@ namespace connector::interfac::browser::bridge { /*! Constructor - @param bridge The parent bridge object (provides access to bridge methods) */ GetConfig(); diff --git a/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetIsDevMode.cpp b/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetIsDevMode.cpp new file mode 100644 index 0000000..ec8998f --- /dev/null +++ b/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetIsDevMode.cpp @@ -0,0 +1,39 @@ +#include "Connector/Interface/Browser/Bridge/Config/GetIsDevMode.h" + +#include "Active/Serialise/CargoHold.h" +#include "Active/Serialise/Item/Wrapper/ValueWrap.h" + +using namespace active::serialise; +using namespace connector::interfac::browser::bridge; +using namespace speckle::utility; + +namespace { + + ///Return type for retrieving the current configuration + using WrappedValue = CargoHold, bool>; + +} + +/*-------------------------------------------------------------------- + Default constructor + --------------------------------------------------------------------*/ +GetIsDevMode::GetIsDevMode() : BridgeMethod{"GetIsDevMode", [&]() { + return run(); +}} {} + + +/*-------------------------------------------------------------------- + Get the DEBUG mode + + return: true for DEBUG, false otherwise + --------------------------------------------------------------------*/ +std::unique_ptr GetIsDevMode::run() const { + +#if DEBUG + bool value = true; +#else + bool value = false; +#endif + + return std::make_unique(value); +} //GetIsDevMode::run diff --git a/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetIsDevMode.h b/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetIsDevMode.h new file mode 100644 index 0000000..c5bb44e --- /dev/null +++ b/SpeckleConnector/Connector/Interface/Browser/Bridge/Config/GetIsDevMode.h @@ -0,0 +1,32 @@ +#ifndef CONNECTOR_INTERFACE_BRIDGE_GET_IS_DEV_MODE +#define CONNECTOR_INTERFACE_BRIDGE_GET_IS_DEV_MODE + +#include "Speckle/Interface/Browser/Bridge/BridgeMethod.h" + +namespace connector::interfac::browser::bridge { + + /*! + JS Function class to retrieve IsDebugMode + */ + class GetIsDevMode : public speckle::interfac::browser::bridge::BridgeMethod { + public: + + // MARK: - Constructors + + /*! + Constructor + */ + GetIsDevMode(); + + // MARK: - Functions (const) + + /*! + Get the DEBUG mode + @return true for DEBUG, false otherwise + */ + std::unique_ptr run() const; + }; + +} + +#endif //CONNECTOR_INTERFACE_BRIDGE_GET_IS_DEV_MODE