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