From 64c0e3f5f5dde830f36526651e72d595e8f8a18a Mon Sep 17 00:00:00 2001 From: Santhosh Ramani Date: Fri, 20 Feb 2026 14:03:31 +0000 Subject: [PATCH 1/3] Move the Extension interfaces to ThunderExtensions --- interfaces/IPluginAsyncStateControl.h | 64 --------------------------- interfaces/Ids.h | 2 - 2 files changed, 66 deletions(-) delete mode 100644 interfaces/IPluginAsyncStateControl.h diff --git a/interfaces/IPluginAsyncStateControl.h b/interfaces/IPluginAsyncStateControl.h deleted file mode 100644 index 72826db1..00000000 --- a/interfaces/IPluginAsyncStateControl.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * If not stated otherwise in this file or this component's LICENSE file the - * following copyright and licenses apply: - * - * Copyright 2025 Metrological - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once -#include "Module.h" - -namespace Thunder { -namespace Exchange { - - struct EXTERNAL IPluginAsyncStateControl : virtual public Core::IUnknown { - - enum { ID = ID_PLUGINASYNCSTATECONTROL }; - - ~IPluginAsyncStateControl() override = default; - - struct EXTERNAL IActivationCallback : virtual public Core::IUnknown { - enum { ID = ID_PLUGINASYNCSTATECONTROL_ACTIVATIONCALLBACK }; - ~IActivationCallback() override = default; - - enum class state : uint8_t { - SUCCESS, - FAILURE, - ABORTED - }; - - // @brief callback called when an activation request has finished. Note this can be called while the Activate call has not yet returned - // @param state result state of the activation request (ABORTED when AbortActivate was called AND the plugin did not reach activated state yet before the request was aborted, otherwise SUCCESS will be reported as a result of an AbortActivate request) - // @param numberofretries Number of retries that happened the moment this callback was called - virtual void Finished(const string& callsign, const state state, const uint8_t numberofretries) = 0; - }; - - // @brief Activate a plugin. Passed callbcak will be called on failure or success - // @param callsign: callsign of plugin to activate - // @param maxnumberretries: maximum number of retries to initialize the plugin (default used when not specified) - // @param delay: delay to be used (in ms) between initialization retries (default used when not specified) - // @param cb: callback interface called on success or failure - // @retval ERROR_INPROGRESS Activation request is already in progress for this callsign - // @retval ERROR_ILLEGAL_STATE Plugin with this callsign is in an invalid state for it to be able to be started (e.g. DESTROYED or UNAVAILABLE) - // @retval ERROR_NOT_EXIST Plugin is unknown to Thunder (at this moment in case of Dynamic plugins) - virtual Core::hresult Activate(const string& callsign, const Core::OptionalType& maxnumberretries, const Core::OptionalType& delay, IActivationCallback* const cb) = 0; - - // @brief Abort a previously started Activate request - // @retval ERROR_NOT_EXIST There is no ongoing activation request - virtual Core::hresult AbortActivate(const string& callsign) = 0; - - }; -} -} diff --git a/interfaces/Ids.h b/interfaces/Ids.h index 9ddb0bb4..07e4cc1a 100644 --- a/interfaces/Ids.h +++ b/interfaces/Ids.h @@ -414,8 +414,6 @@ namespace Exchange { ID_SUBSYSTEM_CONTROL = RPC::IDS::ID_EXTERNAL_INTERFACE_OFFSET + 0x590, - ID_PLUGINASYNCSTATECONTROL = RPC::IDS::ID_EXTERNAL_INTERFACE_OFFSET + 0x5A0, - ID_PLUGINASYNCSTATECONTROL_ACTIVATIONCALLBACK = ID_PLUGINASYNCSTATECONTROL + 1, }; } } From bf59d50d01b64ceaa636a9b32860159c590a3a61 Mon Sep 17 00:00:00 2001 From: Santhosh Ramani Date: Mon, 23 Feb 2026 09:31:59 +0000 Subject: [PATCH 2/3] Fix Windows builds --- definitions/Definitions.cpp | 1 - definitions/Definitions.vcxproj | 16 +--------------- definitions/Definitions.vcxproj.filters | 5 +---- interfaces/Interfaces.vcxproj | 3 +-- interfaces/Interfaces.vcxproj.filters | 3 +-- 5 files changed, 4 insertions(+), 24 deletions(-) diff --git a/definitions/Definitions.cpp b/definitions/Definitions.cpp index bf650b59..b6fc16b7 100644 --- a/definitions/Definitions.cpp +++ b/definitions/Definitions.cpp @@ -65,7 +65,6 @@ #include #include #include -#include #include #include #include diff --git a/definitions/Definitions.vcxproj b/definitions/Definitions.vcxproj index b8c12726..c99eefeb 100644 --- a/definitions/Definitions.vcxproj +++ b/definitions/Definitions.vcxproj @@ -219,21 +219,7 @@ $(ProjectDir)../interfaces/json/JSubsystemControl.h $(ProjectDir)../interfaces/json/JSubsystemControl.h - - $(ProjectDir)../interfaces/json/JPluginAsyncStateControl.h - python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force - ClInclude - python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force - $(ProjectDir)../interfaces/json/JPluginAsyncStateControl.h - $(ProjectDir)../interfaces/json/JPluginAsyncStateControl.h - $(ProjectDir)../interfaces/json/JPluginAsyncStateControl.h - python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force - python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force - ClInclude - ClInclude - ClInclude - - + $(ProjectDir)../interfaces/json/JMath.h $(ProjectDir)../interfaces/json/JMath.h diff --git a/definitions/Definitions.vcxproj.filters b/definitions/Definitions.vcxproj.filters index b7cf283f..4c50ec61 100644 --- a/definitions/Definitions.vcxproj.filters +++ b/definitions/Definitions.vcxproj.filters @@ -255,9 +255,6 @@ Interface Files - - Interface Files - @@ -281,4 +278,4 @@ {59dae841-dc89-457c-b9f5-7f097f7f7906} - \ No newline at end of file + diff --git a/interfaces/Interfaces.vcxproj b/interfaces/Interfaces.vcxproj index 9c04b569..5a9869cd 100644 --- a/interfaces/Interfaces.vcxproj +++ b/interfaces/Interfaces.vcxproj @@ -141,7 +141,6 @@ - @@ -398,4 +397,4 @@ - \ No newline at end of file + diff --git a/interfaces/Interfaces.vcxproj.filters b/interfaces/Interfaces.vcxproj.filters index 8c6b9a27..efead242 100644 --- a/interfaces/Interfaces.vcxproj.filters +++ b/interfaces/Interfaces.vcxproj.filters @@ -143,9 +143,8 @@ - - \ No newline at end of file + From 4ec5d143b66ab859ea0ad9fc546293fc36800536 Mon Sep 17 00:00:00 2001 From: Santhosh Ramani Date: Mon, 23 Feb 2026 10:11:16 +0000 Subject: [PATCH 3/3] Fix Windows build --- interfaces/Interfaces.vcxproj | 1 - interfaces/Interfaces.vcxproj.filters | 1 - 2 files changed, 2 deletions(-) diff --git a/interfaces/Interfaces.vcxproj b/interfaces/Interfaces.vcxproj index 5a9869cd..5ae272a9 100644 --- a/interfaces/Interfaces.vcxproj +++ b/interfaces/Interfaces.vcxproj @@ -68,7 +68,6 @@ - diff --git a/interfaces/Interfaces.vcxproj.filters b/interfaces/Interfaces.vcxproj.filters index efead242..49c5ce20 100644 --- a/interfaces/Interfaces.vcxproj.filters +++ b/interfaces/Interfaces.vcxproj.filters @@ -72,7 +72,6 @@ -