diff --git a/include/icsneo/device/neoobd2pro/neoobd2pro.h b/include/icsneo/device/neoobd2pro/neoobd2pro.h index 6ea87bd..9e9a2f9 100644 --- a/include/icsneo/device/neoobd2pro/neoobd2pro.h +++ b/include/icsneo/device/neoobd2pro/neoobd2pro.h @@ -21,10 +21,13 @@ public: return found; } - static constexpr Network::NetID SUPPORTED_NETWORKS[] = { - Network::NetID::HSCAN, - Network::NetID::HSCAN2 - }; + static const std::vector& GetSupportedNetworks() { + static std::vector supportedNetworks = { + Network::NetID::HSCAN, + Network::NetID::HSCAN2 + }; + return supportedNetworks; + } private: NeoOBD2PRO(neodevice_t neodevice) : Device(neodevice) { @@ -34,7 +37,7 @@ private: } virtual void setupSupportedRXNetworks(std::vector& rxNetworks) override { - for(auto& netid : SUPPORTED_NETWORKS) + for(auto& netid : GetSupportedNetworks()) rxNetworks.emplace_back(netid); } diff --git a/include/icsneo/device/neoobd2sim/neoobd2sim.h b/include/icsneo/device/neoobd2sim/neoobd2sim.h index fd9a9da..909d03b 100644 --- a/include/icsneo/device/neoobd2sim/neoobd2sim.h +++ b/include/icsneo/device/neoobd2sim/neoobd2sim.h @@ -21,10 +21,13 @@ public: return found; } - static constexpr Network::NetID SUPPORTED_NETWORKS[] = { - Network::NetID::HSCAN, - Network::NetID::HSCAN2 - }; + static const std::vector& GetSupportedNetworks() { + static std::vector supportedNetworks = { + Network::NetID::HSCAN, + Network::NetID::HSCAN2 + }; + return supportedNetworks; + } private: NeoOBD2SIM(neodevice_t neodevice) : Device(neodevice) { @@ -34,7 +37,7 @@ private: } virtual void setupSupportedRXNetworks(std::vector& rxNetworks) override { - for(auto& netid : SUPPORTED_NETWORKS) + for(auto& netid : GetSupportedNetworks()) rxNetworks.emplace_back(netid); } diff --git a/include/icsneo/device/neovifire/neovifire.h b/include/icsneo/device/neovifire/neovifire.h index 5ee73cf..48ea25a 100644 --- a/include/icsneo/device/neovifire/neovifire.h +++ b/include/icsneo/device/neovifire/neovifire.h @@ -21,25 +21,28 @@ public: return found; } - static constexpr Network::NetID SUPPORTED_NETWORKS[] = { - Network::NetID::HSCAN, - Network::NetID::MSCAN, - Network::NetID::HSCAN2, - Network::NetID::HSCAN3, - Network::NetID::HSCAN4, - Network::NetID::HSCAN5, + static const std::vector& GetSupportedNetworks() { + static std::vector supportedNetworks = { + Network::NetID::HSCAN, + Network::NetID::MSCAN, + Network::NetID::HSCAN2, + Network::NetID::HSCAN3, + Network::NetID::HSCAN4, + Network::NetID::HSCAN5, - Network::NetID::LSFTCAN, - Network::NetID::LSFTCAN2, + Network::NetID::LSFTCAN, + Network::NetID::LSFTCAN2, - Network::NetID::SWCAN, - Network::NetID::SWCAN2, + Network::NetID::SWCAN, + Network::NetID::SWCAN2, - Network::NetID::LIN, - Network::NetID::LIN2, - Network::NetID::LIN3, - Network::NetID::LIN4 - }; + Network::NetID::LIN, + Network::NetID::LIN2, + Network::NetID::LIN3, + Network::NetID::LIN4 + }; + return supportedNetworks; + } enum class Mode : char { Application = 'A', @@ -79,7 +82,7 @@ private: } virtual void setupSupportedRXNetworks(std::vector& rxNetworks) override { - for(auto& netid : SUPPORTED_NETWORKS) + for(auto& netid : GetSupportedNetworks()) rxNetworks.emplace_back(netid); } diff --git a/include/icsneo/device/neovifire2/neovifire2.h b/include/icsneo/device/neovifire2/neovifire2.h index 61ae8aa..f268bce 100644 --- a/include/icsneo/device/neovifire2/neovifire2.h +++ b/include/icsneo/device/neovifire2/neovifire2.h @@ -12,29 +12,32 @@ public: static constexpr DeviceType::Enum DEVICE_TYPE = DeviceType::FIRE2; static constexpr const char* SERIAL_START = "CY"; - static constexpr Network::NetID SUPPORTED_NETWORKS[] = { - Network::NetID::HSCAN, - Network::NetID::MSCAN, - Network::NetID::HSCAN2, - Network::NetID::HSCAN3, - Network::NetID::HSCAN4, - Network::NetID::HSCAN5, - Network::NetID::HSCAN6, - Network::NetID::HSCAN7, + static const std::vector& GetSupportedNetworks() { + static std::vector supportedNetworks = { + Network::NetID::HSCAN, + Network::NetID::MSCAN, + Network::NetID::HSCAN2, + Network::NetID::HSCAN3, + Network::NetID::HSCAN4, + Network::NetID::HSCAN5, + Network::NetID::HSCAN6, + Network::NetID::HSCAN7, - Network::NetID::LSFTCAN, - Network::NetID::LSFTCAN2, + Network::NetID::LSFTCAN, + Network::NetID::LSFTCAN2, - Network::NetID::SWCAN, - Network::NetID::SWCAN2, + Network::NetID::SWCAN, + Network::NetID::SWCAN2, - Network::NetID::Ethernet, + Network::NetID::Ethernet, - Network::NetID::LIN, - Network::NetID::LIN2, - Network::NetID::LIN3, - Network::NetID::LIN4 - }; + Network::NetID::LIN, + Network::NetID::LIN2, + Network::NetID::LIN3, + Network::NetID::LIN4 + }; + return supportedNetworks; + } protected: NeoVIFIRE2(neodevice_t neodevice) : Device(neodevice) { @@ -47,7 +50,7 @@ protected: } virtual void setupSupportedRXNetworks(std::vector& rxNetworks) override { - for(auto& netid : SUPPORTED_NETWORKS) + for(auto& netid : GetSupportedNetworks()) rxNetworks.emplace_back(netid); } diff --git a/include/icsneo/device/radgalaxy/radgalaxy.h b/include/icsneo/device/radgalaxy/radgalaxy.h index eda91f4..43ec2d8 100644 --- a/include/icsneo/device/radgalaxy/radgalaxy.h +++ b/include/icsneo/device/radgalaxy/radgalaxy.h @@ -47,34 +47,37 @@ public: return found; } - static constexpr Network::NetID SUPPORTED_NETWORKS[] = { - Network::NetID::HSCAN, - Network::NetID::MSCAN, - Network::NetID::HSCAN2, - Network::NetID::HSCAN3, - Network::NetID::HSCAN4, - Network::NetID::HSCAN5, - Network::NetID::HSCAN6, - Network::NetID::HSCAN7, + static const std::vector& GetSupportedNetworks() { + static std::vector supportedNetworks = { + Network::NetID::HSCAN, + Network::NetID::MSCAN, + Network::NetID::HSCAN2, + Network::NetID::HSCAN3, + Network::NetID::HSCAN4, + Network::NetID::HSCAN5, + Network::NetID::HSCAN6, + Network::NetID::HSCAN7, - Network::NetID::SWCAN, - Network::NetID::SWCAN2, + Network::NetID::SWCAN, + Network::NetID::SWCAN2, - Network::NetID::LIN, - - Network::NetID::OP_Ethernet1, - Network::NetID::OP_Ethernet2, - Network::NetID::OP_Ethernet3, - Network::NetID::OP_Ethernet4, - Network::NetID::OP_Ethernet5, - Network::NetID::OP_Ethernet6, - Network::NetID::OP_Ethernet7, - Network::NetID::OP_Ethernet8, - Network::NetID::OP_Ethernet9, - Network::NetID::OP_Ethernet10, - Network::NetID::OP_Ethernet11, - Network::NetID::OP_Ethernet12 - }; + Network::NetID::LIN, + + Network::NetID::OP_Ethernet1, + Network::NetID::OP_Ethernet2, + Network::NetID::OP_Ethernet3, + Network::NetID::OP_Ethernet4, + Network::NetID::OP_Ethernet5, + Network::NetID::OP_Ethernet6, + Network::NetID::OP_Ethernet7, + Network::NetID::OP_Ethernet8, + Network::NetID::OP_Ethernet9, + Network::NetID::OP_Ethernet10, + Network::NetID::OP_Ethernet11, + Network::NetID::OP_Ethernet12 + }; + return supportedNetworks; + } RADGalaxy(neodevice_t neodevice) : Device(neodevice) { initialize(); @@ -100,7 +103,7 @@ protected: } virtual void setupSupportedRXNetworks(std::vector& rxNetworks) override { - for(auto& netid : SUPPORTED_NETWORKS) + for(auto& netid : GetSupportedNetworks()) rxNetworks.emplace_back(netid); } diff --git a/include/icsneo/device/radstar2/radstar2.h b/include/icsneo/device/radstar2/radstar2.h index febdfa5..dea0e17 100644 --- a/include/icsneo/device/radstar2/radstar2.h +++ b/include/icsneo/device/radstar2/radstar2.h @@ -14,15 +14,18 @@ public: static constexpr const uint16_t PRODUCT_ID = 0x0005; static constexpr const char* SERIAL_START = "RS"; - static constexpr Network::NetID SUPPORTED_NETWORKS[] = { - Network::NetID::HSCAN, - Network::NetID::MSCAN, + static const std::vector& GetSupportedNetworks() { + static std::vector supportedNetworks = { + Network::NetID::HSCAN, + Network::NetID::MSCAN, - Network::NetID::LIN, + Network::NetID::LIN, - Network::NetID::OP_Ethernet1, - Network::NetID::OP_Ethernet2 - }; + Network::NetID::OP_Ethernet1, + Network::NetID::OP_Ethernet2 + }; + return supportedNetworks; + } protected: virtual void setupPacketizer(Packetizer& packetizer) override { @@ -42,7 +45,7 @@ protected: } virtual void setupSupportedRXNetworks(std::vector& rxNetworks) override { - for(auto& netid : SUPPORTED_NETWORKS) + for(auto& netid : GetSupportedNetworks()) rxNetworks.emplace_back(netid); } diff --git a/include/icsneo/device/valuecan3/valuecan3.h b/include/icsneo/device/valuecan3/valuecan3.h index 959c065..87d87ed 100644 --- a/include/icsneo/device/valuecan3/valuecan3.h +++ b/include/icsneo/device/valuecan3/valuecan3.h @@ -21,10 +21,13 @@ public: return found; } - static constexpr Network::NetID SUPPORTED_NETWORKS[] = { - Network::NetID::HSCAN, - Network::NetID::MSCAN - }; + static const std::vector& GetSupportedNetworks() { + static std::vector supportedNetworks = { + Network::NetID::HSCAN, + Network::NetID::MSCAN + }; + return supportedNetworks; + } private: ValueCAN3(neodevice_t neodevice) : Device(neodevice) { @@ -34,7 +37,7 @@ private: } virtual void setupSupportedRXNetworks(std::vector& rxNetworks) override { - for(auto& netid : SUPPORTED_NETWORKS) + for(auto& netid : GetSupportedNetworks()) rxNetworks.emplace_back(netid); } diff --git a/include/icsneo/device/valuecan4/valuecan4-1.h b/include/icsneo/device/valuecan4/valuecan4-1.h index 72b9ca6..f4da67a 100644 --- a/include/icsneo/device/valuecan4/valuecan4-1.h +++ b/include/icsneo/device/valuecan4/valuecan4-1.h @@ -22,9 +22,12 @@ public: return found; } - static constexpr Network::NetID SUPPORTED_NETWORKS[] = { - Network::NetID::HSCAN - }; + static const std::vector& GetSupportedNetworks() { + static std::vector supportedNetworks = { + Network::NetID::HSCAN + }; + return supportedNetworks; + } protected: void setupEncoder(Encoder& encoder) override { @@ -33,7 +36,7 @@ protected: } virtual void setupSupportedRXNetworks(std::vector& rxNetworks) override { - for(auto& netid : SUPPORTED_NETWORKS) + for(auto& netid : GetSupportedNetworks()) rxNetworks.emplace_back(netid); } diff --git a/include/icsneo/device/valuecan4/valuecan4-2.h b/include/icsneo/device/valuecan4/valuecan4-2.h index b84c362..d3adc2f 100644 --- a/include/icsneo/device/valuecan4/valuecan4-2.h +++ b/include/icsneo/device/valuecan4/valuecan4-2.h @@ -22,14 +22,17 @@ public: return found; } - static constexpr Network::NetID SUPPORTED_NETWORKS[] = { - Network::NetID::HSCAN, - Network::NetID::HSCAN2 - }; + static const std::vector& GetSupportedNetworks() { + static std::vector supportedNetworks = { + Network::NetID::HSCAN, + Network::NetID::HSCAN2 + }; + return supportedNetworks; + } protected: virtual void setupSupportedRXNetworks(std::vector& rxNetworks) override { - for(auto& netid : SUPPORTED_NETWORKS) + for(auto& netid : GetSupportedNetworks()) rxNetworks.emplace_back(netid); } diff --git a/include/icsneo/device/valuecan4/valuecan4-2el.h b/include/icsneo/device/valuecan4/valuecan4-2el.h index 80c1e32..55d2409 100644 --- a/include/icsneo/device/valuecan4/valuecan4-2el.h +++ b/include/icsneo/device/valuecan4/valuecan4-2el.h @@ -22,16 +22,19 @@ public: return found; } - static constexpr Network::NetID SUPPORTED_NETWORKS[] = { - Network::NetID::HSCAN, - Network::NetID::HSCAN2, + static const std::vector& GetSupportedNetworks() { + static std::vector supportedNetworks = { + Network::NetID::HSCAN, + Network::NetID::HSCAN2, - Network::NetID::Ethernet - }; + Network::NetID::Ethernet + }; + return supportedNetworks; + } protected: virtual void setupSupportedRXNetworks(std::vector& rxNetworks) override { - for(auto& netid : SUPPORTED_NETWORKS) + for(auto& netid : GetSupportedNetworks()) rxNetworks.emplace_back(netid); } diff --git a/include/icsneo/device/valuecan4/valuecan4-4.h b/include/icsneo/device/valuecan4/valuecan4-4.h index 6ea51aa..0959062 100644 --- a/include/icsneo/device/valuecan4/valuecan4-4.h +++ b/include/icsneo/device/valuecan4/valuecan4-4.h @@ -22,16 +22,19 @@ public: return found; } - static constexpr Network::NetID SUPPORTED_NETWORKS[] = { - Network::NetID::HSCAN, - Network::NetID::HSCAN2, - Network::NetID::HSCAN3, - Network::NetID::HSCAN4 - }; + static const std::vector& GetSupportedNetworks() { + static std::vector supportedNetworks = { + Network::NetID::HSCAN, + Network::NetID::HSCAN2, + Network::NetID::HSCAN3, + Network::NetID::HSCAN4 + }; + return supportedNetworks; + } protected: virtual void setupSupportedRXNetworks(std::vector& rxNetworks) override { - for(auto& netid : SUPPORTED_NETWORKS) + for(auto& netid : GetSupportedNetworks()) rxNetworks.emplace_back(netid); }