diff --git a/examples/QueuedFSM/QueuedFSM.cpp b/examples/QueuedFSM/QueuedFSM.cpp index 9d99142e..a0cbd029 100644 --- a/examples/QueuedFSM/QueuedFSM.cpp +++ b/examples/QueuedFSM/QueuedFSM.cpp @@ -99,18 +99,18 @@ public: //*************************************************************************** // The overridden virtual receive function. //*************************************************************************** - void receive(etl::imessage_router& sender_, const etl::imessage& msg_) override + void receive(const etl::imessage& msg_) override { if (accepts(msg_)) { // Place in queue. - queue.emplace(&sender_, msg_); + queue.emplace(msg_); - std::cout << "Queueing message " << int(msg_.message_id) << std::endl; + std::cout << "Queueing message " << int(msg_.get_message_id()) << std::endl; } else { - std::cout << "Ignoring message " << int(msg_.message_id) << std::endl; + std::cout << "Ignoring message " << int(msg_.get_message_id()) << std::endl; } } @@ -121,14 +121,13 @@ public: { while (!queue.empty()) { - Item& item = queue.front(); - etl::imessage& msg = item.packet.get(); - etl::imessage_router& sender = *item.sender; - std::cout << "Processing message " << int(msg.message_id) << std::endl; + message_packet& packet = queue.front(); + etl::imessage& msg = packet.get(); + std::cout << "Processing message " << int(msg.get_message_id()) << std::endl; // Call the base class's receive function. // This will route it to the correct 'on_event' handler. - etl::fsm::receive(sender, msg); + etl::fsm::receive(msg); queue.pop(); } @@ -136,23 +135,10 @@ public: private: - //*************************************************************************** - // The item to queue. - //*************************************************************************** - struct Item - { - Item(etl::imessage_router* sender_, const etl::imessage& msg_) - : sender(sender_), - packet(msg_) - { - } - - etl::imessage_router* sender; - etl::message_packet< Message1, Message2, Message3, Message4> packet; // Defines a packet suitable for all possible messages. - }; + typedef etl::message_packet< Message1, Message2, Message3, Message4> message_packet; // The queue of message items. - etl::queue queue; + etl::queue queue; }; //***************************************************************************** @@ -178,33 +164,33 @@ public: } //*************************************************************************** - etl::fsm_state_id_t on_event(etl::imessage_router& sender, const Message1& msg) + etl::fsm_state_id_t on_event(const Message1& msg) { - std::cout << " S1 : Received message " << int(msg.message_id) << " : '" << msg.i << "'" << std::endl; + std::cout << " S1 : Received message " << int(msg.get_message_id()) << " : '" << msg.i << "'" << std::endl; std::cout.flush(); return STATE1; } //*************************************************************************** - etl::fsm_state_id_t on_event(etl::imessage_router& sender, const Message2& msg) + etl::fsm_state_id_t on_event(const Message2& msg) { - std::cout << " S1 : Received message " << int(msg.message_id) << " : '" << msg.d << "'" << std::endl; + std::cout << " S1 : Received message " << int(msg.get_message_id()) << " : '" << msg.d << "'" << std::endl; std::cout.flush(); return STATE1; } //*************************************************************************** - etl::fsm_state_id_t on_event(etl::imessage_router& sender, const Message3& msg) + etl::fsm_state_id_t on_event(const Message3& msg) { - std::cout << " S1 : Received message " << int(msg.message_id) << " : '" << msg.s << "'" << std::endl; + std::cout << " S1 : Received message " << int(msg.get_message_id()) << " : '" << msg.s << "'" << std::endl; std::cout.flush(); return STATE1; } //*************************************************************************** - etl::fsm_state_id_t on_event_unknown(etl::imessage_router& sender, const etl::imessage& msg) + etl::fsm_state_id_t on_event_unknown(const etl::imessage& msg) { - std::cout << " S1 : Received unknown message " << int(msg.message_id) << std::endl; + std::cout << " S1 : Received unknown message " << int(msg.get_message_id()) << std::endl; std::cout.flush(); return STATE2; } @@ -233,30 +219,30 @@ public: } //*************************************************************************** - etl::fsm_state_id_t on_event(etl::imessage_router& sender, const Message1& msg) + etl::fsm_state_id_t on_event(const Message1& msg) { - std::cout << " S2 : Received message " << int(msg.message_id) << " : '" << msg.i << "'" << std::endl; + std::cout << " S2 : Received message " << int(msg.get_message_id()) << " : '" << msg.i << "'" << std::endl; return STATE2; } //*************************************************************************** - etl::fsm_state_id_t on_event(etl::imessage_router& sender, const Message2& msg) + etl::fsm_state_id_t on_event(const Message2& msg) { - std::cout << " S2 : Received message " << int(msg.message_id) << " : '" << msg.d << "'" << std::endl; + std::cout << " S2 : Received message " << int(msg.get_message_id()) << " : '" << msg.d << "'" << std::endl; return STATE2; } //*************************************************************************** - etl::fsm_state_id_t on_event(etl::imessage_router& sender, const Message3& msg) + etl::fsm_state_id_t on_event(const Message3& msg) { - std::cout << " S2 : Received message " << int(msg.message_id) << " : '" << msg.s << "'" << std::endl; + std::cout << " S2 : Received message " << int(msg.get_message_id()) << " : '" << msg.s << "'" << std::endl; return STATE2; } //*************************************************************************** - etl::fsm_state_id_t on_event_unknown(etl::imessage_router& sender, const etl::imessage& msg) + etl::fsm_state_id_t on_event_unknown(const etl::imessage& msg) { - std::cout << " S2 : Received unknown message " << int(msg.message_id) << std::endl; + std::cout << " S2 : Received unknown message " << int(msg.get_message_id()) << std::endl; return STATE1; } }; diff --git a/examples/QueuedFSM/vs2017/QueuedFSM.sln b/examples/QueuedFSM/vs2019/QueuedFSM.sln similarity index 100% rename from examples/QueuedFSM/vs2017/QueuedFSM.sln rename to examples/QueuedFSM/vs2019/QueuedFSM.sln diff --git a/examples/QueuedFSM/vs2017/QueuedFSM.vcxproj b/examples/QueuedFSM/vs2019/QueuedFSM.vcxproj similarity index 96% rename from examples/QueuedFSM/vs2017/QueuedFSM.vcxproj rename to examples/QueuedFSM/vs2019/QueuedFSM.vcxproj index 6e9c8762..5e461eab 100644 --- a/examples/QueuedFSM/vs2017/QueuedFSM.vcxproj +++ b/examples/QueuedFSM/vs2019/QueuedFSM.vcxproj @@ -23,32 +23,32 @@ {2BB47D48-5EFC-4C38-B2BE-002172F00E3B} Win32Proj QueuedFSM - 10.0.18362.0 + 10.0 Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode diff --git a/examples/QueuedFSM/vs2017/QueuedFSM.vcxproj.filters b/examples/QueuedFSM/vs2019/QueuedFSM.vcxproj.filters similarity index 100% rename from examples/QueuedFSM/vs2017/QueuedFSM.vcxproj.filters rename to examples/QueuedFSM/vs2019/QueuedFSM.vcxproj.filters diff --git a/include/etl/version.h b/include/etl/version.h index cce3d1f9..720df68d 100644 --- a/include/etl/version.h +++ b/include/etl/version.h @@ -39,7 +39,7 @@ SOFTWARE. #define ETL_VERSION_MAJOR 20 #define ETL_VERSION_MINOR 10 -#define ETL_VERSION_PATCH 5 +#define ETL_VERSION_PATCH 6 #define ETL_VERSION ETL_STRINGIFY(ETL_VERSION_MAJOR) "." ETL_STRINGIFY(ETL_VERSION_MINOR) "." ETL_STRINGIFY(ETL_VERSION_PATCH) #define ETL_VERSION_W ETL_STRINGIFY(ETL_VERSION_MAJOR) L"." ETL_STRINGIFY(ETL_VERSION_MINOR) L"." ETL_STRINGIFY(ETL_VERSION_PATCH) #define ETL_VERSION_U16 ETL_STRINGIFY(ETL_VERSION_MAJOR) u"." ETL_STRINGIFY(ETL_VERSION_MINOR) u"." ETL_STRINGIFY(ETL_VERSION_PATCH) diff --git a/library.json b/library.json index b72d881c..9db55ab8 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "ETL Embedded Template Library", - "version": "20.10.5", + "version": "20.10.6", "author s": { "name": "John Wellbelove", "email": "john.wellbelove@etlcpp.com" diff --git a/library.properties b/library.properties index 7fdf7a9e..a5459cd4 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Embedded Template Library ETL -version=20.10.5 +version=20.10.6 author= John Wellbelove maintainer=John Wellbelove license=MIT diff --git a/meson.build b/meson.build index 77d55aa3..5b87b504 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project('PROJECT_NAME', 'cpp_std=c++17', 'build.cpp_std=c++17', ], meson_version: '>=0.54.0', - version: '20.10.5' + version: '20.10.6' ) ###################### diff --git a/support/Release notes.txt b/support/Release notes.txt index 6f5ef35c..95dfd39d 100644 --- a/support/Release notes.txt +++ b/support/Release notes.txt @@ -1,3 +1,7 @@ +=============================================================================== +20.10.6 +Updated QueuedMessageRouter and QueuedFSM examples to use current message frameworks. + =============================================================================== 20.10.5 Added container_type to etl::stack, etl::queue and etl::priority_queue.