From 1b4e5000fc0f986610d776bfe132d41b17a6aae6 Mon Sep 17 00:00:00 2001 From: nxtumUbun Date: Mon, 25 May 2026 02:37:54 -0700 Subject: [PATCH 1/4] test windows --- Source/CMakeLists.txt | 1 + Source/Thunder.sln | 44 ++++- Source/Thunder/CMakeLists.txt | 1 + Source/Thunder/Module.h | 1 + Source/ThunderPlugin/CMakeLists.txt | 1 + Source/ThunderPlugin/Module.h | 1 + Source/common/CMakeLists.txt | 91 +++++++++ Source/{plugins => common}/Channel.cpp | 0 Source/{plugins => common}/Channel.h | 0 Source/{plugins => common}/Config.h | 0 Source/{plugins => common}/Configuration.h | 8 +- Source/{plugins => common}/JSONRPC.cpp | 0 Source/{plugins => common}/JSONRPC.h | 7 +- Source/{plugins => common}/Metadata.cpp | 4 +- Source/{plugins => common}/Metadata.h | 2 +- Source/common/Module.cpp | 27 +++ Source/common/Module.h | 41 ++++ Source/{plugins => common}/Request.h | 0 Source/{plugins => common}/Service.cpp | 0 Source/{plugins => common}/Service.h | 4 +- Source/{plugins => common}/Shell.cpp | 2 +- Source/{plugins => common}/StateControl.cpp | 2 +- Source/{plugins => common}/StateControl.h | 2 +- Source/{plugins => common}/SubSystem.cpp | 2 +- Source/{plugins => common}/SubSystem.h | 2 +- Source/{plugins => common}/System.cpp | 0 Source/{plugins => common}/System.h | 0 Source/{plugins => common}/Types.h | 4 +- Source/{plugins => common}/VirtualInput.cpp | 0 Source/{plugins => common}/VirtualInput.h | 2 +- Source/common/common.h | 45 +++++ Source/common/common.vcxproj | 207 ++++++++++++++++++++ Source/common/common.vcxproj.filters | 90 +++++++++ Source/plugins/CMakeLists.txt | 23 +-- Source/plugins/plugins.h | 13 -- Source/plugins/plugins.vcxproj | 29 +-- Source/plugins/plugins.vcxproj.filters | 69 +------ 37 files changed, 582 insertions(+), 143 deletions(-) create mode 100644 Source/common/CMakeLists.txt rename Source/{plugins => common}/Channel.cpp (100%) rename Source/{plugins => common}/Channel.h (100%) rename Source/{plugins => common}/Config.h (100%) rename Source/{plugins => common}/Configuration.h (99%) rename Source/{plugins => common}/JSONRPC.cpp (100%) rename Source/{plugins => common}/JSONRPC.h (99%) rename Source/{plugins => common}/Metadata.cpp (99%) rename Source/{plugins => common}/Metadata.h (99%) create mode 100644 Source/common/Module.cpp create mode 100644 Source/common/Module.h rename Source/{plugins => common}/Request.h (100%) rename Source/{plugins => common}/Service.cpp (100%) rename Source/{plugins => common}/Service.h (99%) rename Source/{plugins => common}/Shell.cpp (99%) rename Source/{plugins => common}/StateControl.cpp (97%) rename Source/{plugins => common}/StateControl.h (96%) rename Source/{plugins => common}/SubSystem.cpp (96%) rename Source/{plugins => common}/SubSystem.h (96%) rename Source/{plugins => common}/System.cpp (100%) rename Source/{plugins => common}/System.h (100%) rename Source/{plugins => common}/Types.h (99%) rename Source/{plugins => common}/VirtualInput.cpp (100%) rename Source/{plugins => common}/VirtualInput.h (99%) create mode 100644 Source/common/common.h create mode 100644 Source/common/common.vcxproj create mode 100644 Source/common/common.vcxproj.filters diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index 075f638631..3141e7f7a8 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -86,6 +86,7 @@ endif() if(PLUGINS) add_subdirectory(plugins) + add_subdirectory(common) endif() if(PROCESS) diff --git a/Source/Thunder.sln b/Source/Thunder.sln index 007e0d4f2d..a9234f1db5 100644 --- a/Source/Thunder.sln +++ b/Source/Thunder.sln @@ -36,11 +36,22 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugins", "plugins\plugins. {A7B258FF-15DD-4769-966C-703530E26530} = {A7B258FF-15DD-4769-966C-703530E26530} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "proxystubs", "proxystubs\proxystubs.vcxproj", "{A39F195B-4FD2-424D-A8C7-3D323C281438}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "common\common.vcxproj", "{7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001}" + ProjectSection(ProjectDependencies) = postProject + {6A3B427D-D8AF-4D2A-B400-924D2596DCF7} = {6A3B427D-D8AF-4D2A-B400-924D2596DCF7} + {0936A7B8-E995-452D-8062-CA9311854018} = {0936A7B8-E995-452D-8062-CA9311854018} + {6838AFCB-D65D-443A-A435-2F1940790836} = {6838AFCB-D65D-443A-A435-2F1940790836} + {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} = {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} + {A7B258FF-15DD-4769-966C-703530E26530} = {A7B258FF-15DD-4769-966C-703530E26530} + {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "proxystubs", "plugins\proxystubs.vcxproj", "{A39F195B-4FD2-424D-A8C7-3D323C281438}" ProjectSection(ProjectDependencies) = postProject {0936A7B8-E995-452D-8062-CA9311854018} = {0936A7B8-E995-452D-8062-CA9311854018} {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} = {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ocdm", "ocdm\ocdm.vcxproj", "{34090477-688B-45F5-9998-11A71A6B043F}" @@ -66,6 +77,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "comprocess", "ThunderPlugin {0936A7B8-E995-452D-8062-CA9311854018} = {0936A7B8-E995-452D-8062-CA9311854018} {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} = {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bridge", "Thunder\bridge.vcxproj", "{F3DF5408-637E-49DB-BF6B-0B7D17509AC0}" @@ -76,6 +88,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bridge", "Thunder\bridge.vc {6838AFCB-D65D-443A-A435-2F1940790836} = {6838AFCB-D65D-443A-A435-2F1940790836} {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} = {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{3757757F-7978-4C27-8691-73FFF12BDE9B}" @@ -93,6 +106,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSONRPCPlugin", "..\..\Thun {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSONRPCClient", "..\..\ThunderNanoServices\examples\JSONRPCClient\JSONRPCClient.vcxproj", "{DFA83275-7232-4F2B-912A-BD362AA228B3}" @@ -102,6 +116,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSONRPCClient", "..\..\Thun {6838AFCB-D65D-443A-A435-2F1940790836} = {6838AFCB-D65D-443A-A435-2F1940790836} {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} = {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} {A8D818F5-7324-4620-B1AF-B388AB538502} = {A8D818F5-7324-4620-B1AF-B388AB538502} EndProjectSection EndProject @@ -125,6 +140,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Commander", "..\..\ThunderN {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeviceInfo", "..\..\ThunderNanoServices\DeviceInfo\DeviceInfo.vcxproj", "{6C8E75AE-796C-4598-9CFF-4F462F968955}" @@ -132,6 +148,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeviceInfo", "..\..\Thunder {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DHCPServer", "..\..\ThunderNanoServices\DHCPServer\DHCPServer.vcxproj", "{614AEA75-493F-4DB4-897C-6A31238C5781}" @@ -139,6 +156,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DHCPServer", "..\..\Thunder {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DIALServer", "..\..\ThunderNanoServices\DIALServer\DIALServer.vcxproj", "{43EAC8C4-B127-4F65-B621-BC14F9C65243}" @@ -146,6 +164,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DIALServer", "..\..\Thunder {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Dictionary", "..\..\ThunderNanoServices\Dictionary\Dictionary.vcxproj", "{51CD3B12-3CCC-4345-92F3-832D23F98F70}" @@ -153,6 +172,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Dictionary", "..\..\Thunder {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LocationSync", "..\..\ThunderNanoServices\LocationSync\LocationSync.vcxproj", "{43EAC8C4-C127-4F65-B621-AC64F9C65223}" @@ -160,6 +180,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LocationSync", "..\..\Thund {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Messenger", "..\..\ThunderNanoServices\Messenger\Messenger.vcxproj", "{51CD3B12-3C87-424A-92C3-832D11F98F70}" @@ -167,6 +188,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Messenger", "..\..\ThunderN {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Monitor", "..\..\ThunderNanoServices\Monitor\Monitor.vcxproj", "{614AEA75-493F-4DB4-897C-6A3EAF8C5781}" @@ -174,6 +196,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Monitor", "..\..\ThunderNan {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OpenCDMi", "..\..\ThunderNanoServices\OpenCDMi\OpenCDMi.vcxproj", "{7E7E9E39-AAA8-4A95-A53F-D1C6E88E97E8}" @@ -181,6 +204,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OpenCDMi", "..\..\ThunderNa {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RemoteControl", "..\..\ThunderNanoServices\RemoteControl\RemoteControl.vcxproj", "{2CD4DE2B-7064-41E9-892E-6F249C7E6BF5}" @@ -188,6 +212,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RemoteControl", "..\..\Thun {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SecurityAgent", "..\..\ThunderNanoServices\SecurityAgent\SecurityAgent.vcxproj", "{5CCE3B12-3CCC-4E4A-92CA-832D11F98F70}" @@ -195,6 +220,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SecurityAgent", "..\..\Thun {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeSync", "..\..\ThunderNanoServices\TimeSync\TimeSync.vcxproj", "{3B2AABD2-060F-4C2C-8633-4005645564F2}" @@ -202,6 +228,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeSync", "..\..\ThunderNa {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TraceControl", "..\..\ThunderNanoServices\TraceControl\TraceControl.vcxproj", "{ACA665CC-3DFA-4C22-A6F4-2DF827A9378A}" @@ -209,6 +236,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TraceControl", "..\..\Thund {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebProxy", "..\..\ThunderNanoServices\WebProxy\WebProxy.vcxproj", "{51CD3B12-3CCC-4E4A-92C3-832D11F98F70}" @@ -216,6 +244,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebProxy", "..\..\ThunderNa {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebServer", "..\..\ThunderNanoServices\WebServer\WebServer.vcxproj", "{6B9091EB-E0CA-4FE5-9FF1-69DE4D749F00}" @@ -223,6 +252,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebServer", "..\..\ThunderN {577A83B6-66B6-4A98-A3D6-4EBA066A1772} = {577A83B6-66B6-4A98-A3D6-4EBA066A1772} {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Interfaces", "Interfaces", "{58B7B6E2-3FC1-4BB6-92E0-7E3E651A304C}" @@ -236,18 +266,21 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COMRPCClient", "..\..\Thund {0936A7B8-E995-452D-8062-CA9311854018} = {0936A7B8-E995-452D-8062-CA9311854018} {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} = {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InputSwitch", "..\..\ThunderNanoServices\InputSwitch\InputSwitch.vcxproj", "{BA2829C1-66EF-4C21-852D-ECA482898DCF}" ProjectSection(ProjectDependencies) = postProject {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OutOfProcessPlugin", "..\..\ThunderNanoServices\examples\OutOfProcessPlugin\OutOfProcessPlugin.vcxproj", "{D93FD85B-F6AC-4387-9C61-5625899CECFD}" ProjectSection(ProjectDependencies) = postProject {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} = {3DA3B4B6-916E-4F21-88C6-512DF0C0A38C} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimpleCOMRPCInterface", "..\..\ThunderNanoServices\examples\SimpleCOMRPCInterface\SimpleCOMRPCInterface.vcxproj", "{A39F195B-4FD2-1234-A8C7-3D323C285438}" @@ -340,6 +373,14 @@ Global {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402}.Release|x64.Build.0 = Release|x64 {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402}.Release|x86.ActiveCfg = Release|Win32 {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402}.Release|x86.Build.0 = Release|Win32 + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001}.Debug|x64.ActiveCfg = Debug|x64 + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001}.Debug|x64.Build.0 = Debug|x64 + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001}.Debug|x86.ActiveCfg = Debug|Win32 + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001}.Debug|x86.Build.0 = Debug|Win32 + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001}.Release|x64.ActiveCfg = Release|x64 + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001}.Release|x64.Build.0 = Release|x64 + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001}.Release|x86.ActiveCfg = Release|Win32 + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001}.Release|x86.Build.0 = Release|Win32 {A39F195B-4FD2-424D-A8C7-3D323C281438}.Debug|x64.ActiveCfg = Debug|x64 {A39F195B-4FD2-424D-A8C7-3D323C281438}.Debug|x64.Build.0 = Debug|x64 {A39F195B-4FD2-424D-A8C7-3D323C281438}.Debug|x86.ActiveCfg = Debug|Win32 @@ -615,6 +656,7 @@ Global {B63FDAE4-53A4-4B19-BFEC-6E6A2EF841F5} = {D7AD4AF2-B32F-44C6-9F19-90484D586346} {6A3B427D-D8AF-4D2A-B400-924D2596DCF7} = {D7AD4AF2-B32F-44C6-9F19-90484D586346} {0CA4C3EA-2DD4-4BB3-804C-331D09CC3402} = {D7AD4AF2-B32F-44C6-9F19-90484D586346} + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} = {D7AD4AF2-B32F-44C6-9F19-90484D586346} {A39F195B-4FD2-424D-A8C7-3D323C281438} = {D7AD4AF2-B32F-44C6-9F19-90484D586346} {34090477-688B-45F5-9998-11A71A6B043F} = {D7AD4AF2-B32F-44C6-9F19-90484D586346} {DEBD9452-DA29-4C28-8800-32E1484EA16F} = {D7AD4AF2-B32F-44C6-9F19-90484D586346} diff --git a/Source/Thunder/CMakeLists.txt b/Source/Thunder/CMakeLists.txt index b2632e9426..12cc278da8 100644 --- a/Source/Thunder/CMakeLists.txt +++ b/Source/Thunder/CMakeLists.txt @@ -76,6 +76,7 @@ target_link_libraries(${TARGET} ${NAMESPACE}Messaging::${NAMESPACE}Messaging ${NAMESPACE}WebSocket::${NAMESPACE}WebSocket ${NAMESPACE}Plugins::${NAMESPACE}Plugins + ${NAMESPACE}Common::${NAMESPACE}Common ${NAMESPACE}COMProcess::${NAMESPACE}COMProcess # For COM executable define Threads::Threads ) diff --git a/Source/Thunder/Module.h b/Source/Thunder/Module.h index f95bf5b3cb..687f156d69 100644 --- a/Source/Thunder/Module.h +++ b/Source/Thunder/Module.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include diff --git a/Source/ThunderPlugin/CMakeLists.txt b/Source/ThunderPlugin/CMakeLists.txt index f0b7445a56..b54784947a 100644 --- a/Source/ThunderPlugin/CMakeLists.txt +++ b/Source/ThunderPlugin/CMakeLists.txt @@ -42,6 +42,7 @@ target_link_libraries(${TARGET} ${NAMESPACE}Core::${NAMESPACE}Core ${NAMESPACE}Messaging::${NAMESPACE}Messaging ${NAMESPACE}Plugins::${NAMESPACE}Plugins + ${NAMESPACE}Common::${NAMESPACE}Common ${NAMESPACE}WebSocket::${NAMESPACE}WebSocket ${NAMESPACE}COM::${NAMESPACE}COM ) diff --git a/Source/ThunderPlugin/Module.h b/Source/ThunderPlugin/Module.h index 2e5e4bf772..ad10988f44 100644 --- a/Source/ThunderPlugin/Module.h +++ b/Source/ThunderPlugin/Module.h @@ -26,3 +26,4 @@ #include #include #include +#include diff --git a/Source/common/CMakeLists.txt b/Source/common/CMakeLists.txt new file mode 100644 index 0000000000..e86a4d1760 --- /dev/null +++ b/Source/common/CMakeLists.txt @@ -0,0 +1,91 @@ +set(TARGET ${NAMESPACE}Common) + +add_library(${TARGET} + Channel.cpp + JSONRPC.cpp + Metadata.cpp + Module.cpp + Service.cpp + Shell.cpp + StateControl.cpp + SubSystem.cpp + VirtualInput.cpp + System.cpp + ) + +set(PUBLIC_HEADERS + Channel.h + common.h + Config.h + Configuration.h + JSONRPC.h + Metadata.h + Request.h + Service.h + StateControl.h + SubSystem.h + System.h + Types.h + VirtualInput.h + Module.h + ) + +target_link_libraries(${TARGET} + PUBLIC + ${NAMESPACE}Plugins::${NAMESPACE}Plugins + ${NAMESPACE}Core::${NAMESPACE}Core + ${NAMESPACE}Cryptalgo::${NAMESPACE}Cryptalgo + ${NAMESPACE}Messaging::${NAMESPACE}Messaging + ${NAMESPACE}COM::${NAMESPACE}COM + ${NAMESPACE}WebSocket::${NAMESPACE}WebSocket + PRIVATE + CompileSettingsDebug::CompileSettingsDebug + ) + +if (WARNING_REPORTING) + target_link_libraries(${TARGET} + PUBLIC + ${NAMESPACE}WarningReporting::${NAMESPACE}WarningReporting + ) +endif() + +target_include_directories(${TARGET} + PUBLIC + $ + $ + $ + $ + $ + ) + +target_compile_definitions(${TARGET} PRIVATE COMMON_EXPORTS) + +set_target_properties(${TARGET} PROPERTIES + CXX_STANDARD ${CXX_STD} + CXX_STANDARD_REQUIRED YES + FRAMEWORK FALSE + PUBLIC_HEADER "${PUBLIC_HEADERS}" + SOVERSION ${VERSION_MAJOR} + ) + +if(HUMAN_VERSIONED_BINARIES) +set_target_properties(${TARGET} PROPERTIES + VERSION ${VERSION} + ) +endif() + +install( + TARGETS ${TARGET} EXPORT ${TARGET}Targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${NAMESPACE}_Development + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${NAMESPACE}_Runtime NAMELINK_COMPONENT ${NAMESPACE}_Development + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${NAMESPACE}_Runtime + FRAMEWORK DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${NAMESPACE}_Runtime + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${NAMESPACE}/common COMPONENT ${NAMESPACE}_Development + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${NAMESPACE} +) + +InstallPackageConfig( + TARGETS ${TARGET} + DESCRIPTION "Basic library with common plugin host implementation support.") + +InstallCMakeConfig(TARGETS ${TARGET}) diff --git a/Source/plugins/Channel.cpp b/Source/common/Channel.cpp similarity index 100% rename from Source/plugins/Channel.cpp rename to Source/common/Channel.cpp diff --git a/Source/plugins/Channel.h b/Source/common/Channel.h similarity index 100% rename from Source/plugins/Channel.h rename to Source/common/Channel.h diff --git a/Source/plugins/Config.h b/Source/common/Config.h similarity index 100% rename from Source/plugins/Config.h rename to Source/common/Config.h diff --git a/Source/plugins/Configuration.h b/Source/common/Configuration.h similarity index 99% rename from Source/plugins/Configuration.h rename to Source/common/Configuration.h index 16ffb999e5..c44a26a3d9 100644 --- a/Source/plugins/Configuration.h +++ b/Source/common/Configuration.h @@ -21,10 +21,10 @@ #include "Module.h" #include "Config.h" -#include "IPlugin.h" -#include "IShell.h" -#include "ISubSystem.h" -#include "IController.h" +#include +#include +#include +#include namespace Thunder { namespace Plugin { diff --git a/Source/plugins/JSONRPC.cpp b/Source/common/JSONRPC.cpp similarity index 100% rename from Source/plugins/JSONRPC.cpp rename to Source/common/JSONRPC.cpp diff --git a/Source/plugins/JSONRPC.h b/Source/common/JSONRPC.h similarity index 99% rename from Source/plugins/JSONRPC.h rename to Source/common/JSONRPC.h index d676a19ffd..d03200abba 100644 --- a/Source/plugins/JSONRPC.h +++ b/Source/common/JSONRPC.h @@ -21,9 +21,9 @@ #include "Module.h" #include "System.h" -#include "IShell.h" -#include "IPlugin.h" -#include "IDispatcher.h" +#include +#include +#include namespace Thunder { @@ -1975,4 +1975,3 @@ namespace PluginHost { } // namespace Thunder::PluginHost } - diff --git a/Source/plugins/Metadata.cpp b/Source/common/Metadata.cpp similarity index 99% rename from Source/plugins/Metadata.cpp rename to Source/common/Metadata.cpp index eeae04ba2e..d28a090373 100644 --- a/Source/plugins/Metadata.cpp +++ b/Source/common/Metadata.cpp @@ -19,8 +19,8 @@ #include "Module.h" #include "Metadata.h" -#include "IStateControl.h" -#include "ISubSystem.h" +#include +#include namespace Thunder { diff --git a/Source/plugins/Metadata.h b/Source/common/Metadata.h similarity index 99% rename from Source/plugins/Metadata.h rename to Source/common/Metadata.h index a064f29653..01e0a1bdf8 100644 --- a/Source/plugins/Metadata.h +++ b/Source/common/Metadata.h @@ -22,7 +22,7 @@ #include "Module.h" #include "Configuration.h" -#include "IController.h" +#include #include #include diff --git a/Source/common/Module.cpp b/Source/common/Module.cpp new file mode 100644 index 0000000000..3a5ac8d81e --- /dev/null +++ b/Source/common/Module.cpp @@ -0,0 +1,27 @@ +/* + * If not stated otherwise in this file or this component's LICENSE file the + * following copyright and licenses apply: + * + * Copyright 2020 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. + */ + +#include "Module.h" +#include + +#ifdef BUILD_SHARED_LIBS +MODULE_NAME_DECLARATION(BUILD_REFERENCE) +#else +MODULE_NAME_ARCHIVE_DECLARATION +#endif diff --git a/Source/common/Module.h b/Source/common/Module.h new file mode 100644 index 0000000000..7ea89d6b36 --- /dev/null +++ b/Source/common/Module.h @@ -0,0 +1,41 @@ +/* + * If not stated otherwise in this file or this component's LICENSE file the + * following copyright and licenses apply: + * + * Copyright 2020 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 + +#ifndef MODULE_NAME +#define MODULE_NAME Common +#endif + +#include +#include +#include +#include +#include + +#ifdef __CORE_WARNING_REPORTING__ + #include +#endif + +#if defined(__WINDOWS__) && defined(COMMON_EXPORTS) +#undef EXTERNAL +#define EXTERNAL EXTERNAL_EXPORT +#endif + +// @insert diff --git a/Source/plugins/Request.h b/Source/common/Request.h similarity index 100% rename from Source/plugins/Request.h rename to Source/common/Request.h diff --git a/Source/plugins/Service.cpp b/Source/common/Service.cpp similarity index 100% rename from Source/plugins/Service.cpp rename to Source/common/Service.cpp diff --git a/Source/plugins/Service.h b/Source/common/Service.h similarity index 99% rename from Source/plugins/Service.h rename to Source/common/Service.h index df2cda324f..a5cdbe1a47 100644 --- a/Source/plugins/Service.h +++ b/Source/common/Service.h @@ -24,8 +24,8 @@ #include "Configuration.h" #include "Metadata.h" #include "System.h" -#include "IPlugin.h" -#include "IShell.h" +#include +#include namespace Thunder { namespace PluginHost { diff --git a/Source/plugins/Shell.cpp b/Source/common/Shell.cpp similarity index 99% rename from Source/plugins/Shell.cpp rename to Source/common/Shell.cpp index 611a2386e4..3169d23476 100644 --- a/Source/plugins/Shell.cpp +++ b/Source/common/Shell.cpp @@ -18,7 +18,7 @@ */ #include "Module.h" -#include "IShell.h" +#include #include "Configuration.h" namespace Thunder { diff --git a/Source/plugins/StateControl.cpp b/Source/common/StateControl.cpp similarity index 97% rename from Source/plugins/StateControl.cpp rename to Source/common/StateControl.cpp index 3e67115c29..824bb0cfca 100644 --- a/Source/plugins/StateControl.cpp +++ b/Source/common/StateControl.cpp @@ -18,7 +18,7 @@ */ #include "Module.h" -#include "IStateControl.h" +#include namespace Thunder { diff --git a/Source/plugins/StateControl.h b/Source/common/StateControl.h similarity index 96% rename from Source/plugins/StateControl.h rename to Source/common/StateControl.h index 99854a1bfc..12439651b8 100644 --- a/Source/plugins/StateControl.h +++ b/Source/common/StateControl.h @@ -20,7 +20,7 @@ #pragma once #include "Module.h" -#include "IStateControl.h" +#include namespace Thunder { diff --git a/Source/plugins/SubSystem.cpp b/Source/common/SubSystem.cpp similarity index 96% rename from Source/plugins/SubSystem.cpp rename to Source/common/SubSystem.cpp index 312a6809c4..4e1e4dd2c9 100644 --- a/Source/plugins/SubSystem.cpp +++ b/Source/common/SubSystem.cpp @@ -18,7 +18,7 @@ */ #include "Module.h" -#include "ISubSystem.h" +#include namespace Thunder { diff --git a/Source/plugins/SubSystem.h b/Source/common/SubSystem.h similarity index 96% rename from Source/plugins/SubSystem.h rename to Source/common/SubSystem.h index abacbecfba..3c0cfb3ea1 100644 --- a/Source/plugins/SubSystem.h +++ b/Source/common/SubSystem.h @@ -20,7 +20,7 @@ #pragma once #include "Module.h" -#include "ISubSystem.h" +#include namespace Thunder { diff --git a/Source/plugins/System.cpp b/Source/common/System.cpp similarity index 100% rename from Source/plugins/System.cpp rename to Source/common/System.cpp diff --git a/Source/plugins/System.h b/Source/common/System.h similarity index 100% rename from Source/plugins/System.h rename to Source/common/System.h diff --git a/Source/plugins/Types.h b/Source/common/Types.h similarity index 99% rename from Source/plugins/Types.h rename to Source/common/Types.h index 07e1b13bb9..286549e6c4 100644 --- a/Source/plugins/Types.h +++ b/Source/common/Types.h @@ -20,8 +20,8 @@ #include "Module.h" -#include "IPlugin.h" -#include "IShell.h" +#include +#include namespace Thunder { namespace PluginHost { diff --git a/Source/plugins/VirtualInput.cpp b/Source/common/VirtualInput.cpp similarity index 100% rename from Source/plugins/VirtualInput.cpp rename to Source/common/VirtualInput.cpp diff --git a/Source/plugins/VirtualInput.h b/Source/common/VirtualInput.h similarity index 99% rename from Source/plugins/VirtualInput.h rename to Source/common/VirtualInput.h index eed8bd3bc8..c22567c414 100644 --- a/Source/plugins/VirtualInput.h +++ b/Source/common/VirtualInput.h @@ -23,7 +23,7 @@ #define __VIRTUAL_INPUT__ #include "Module.h" -#include "IVirtualInput.h" +#include namespace Thunder { namespace PluginHost { diff --git a/Source/common/common.h b/Source/common/common.h new file mode 100644 index 0000000000..e1d119c5f4 --- /dev/null +++ b/Source/common/common.h @@ -0,0 +1,45 @@ +/* + * If not stated otherwise in this file or this component's LICENSE file the + * following copyright and licenses apply: + * + * Copyright 2026 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 + +#ifdef __WINDOWS__ +#pragma comment(lib, "common.lib") +#endif + +#ifndef MODULE_NAME +#error "Please define a MODULE_NAME that describes the binary/library you are building." +#endif + +#include "Module.h" +#include "Config.h" +#include "Channel.h" +#include "Configuration.h" +#include "JSONRPC.h" +#include "Metadata.h" +#include "Request.h" +#include "Service.h" +#include "StateControl.h" +#include "SubSystem.h" +#include "System.h" +#include "Types.h" +#include "VirtualInput.h" + +WPEFRAMEWORK_NESTEDNAMESPACE_COMPATIBILIY(Plugin) +WPEFRAMEWORK_NESTEDNAMESPACE_COMPATIBILIY(PluginHost) \ No newline at end of file diff --git a/Source/common/common.vcxproj b/Source/common/common.vcxproj new file mode 100644 index 0000000000..792d5598d0 --- /dev/null +++ b/Source/common/common.vcxproj @@ -0,0 +1,207 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 15.0 + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} + Win32Proj + common + 10.0 + + + + DynamicLibrary + true + v143 + MultiByte + + + DynamicLibrary + false + v143 + true + MultiByte + + + DynamicLibrary + true + v143 + MultiByte + + + DynamicLibrary + false + v143 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + false + $(SolutionDir)..\artifacts\$(Configuration)\ + $(OutDir)WebBridge\$(TargetName)\ + + + true + $(SolutionDir)..\artifacts\$(Configuration)\ + $(OutDir)WebBridge\$(TargetName)\ + + + true + $(SolutionDir)..\artifacts\$(Configuration)\ + $(OutDir)WebBridge\$(TargetName)\ + + + false + $(SolutionDir)..\artifacts\$(Configuration)\ + $(OutDir)WebBridge\$(TargetName)\ + + + + NotUsing + Level3 + MaxSpeed + true + true + true + __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;NDEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions + true + + + Windows + true + true + true + $(OutDir) + $(IntDir)$(TargetName).pdb + + + + + NotUsing + Level3 + Disabled + true + __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions + true + + + Windows + true + $(OutDir) + $(IntDir)$(TargetName).pdb + + + + + NotUsing + Level3 + Disabled + true + __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;_DEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions + true + + + Windows + true + $(OutDir) + $(IntDir)$(TargetName).pdb + + + + + NotUsing + Level3 + MaxSpeed + true + true + true + __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions + true + + + Windows + true + true + true + $(OutDir) + $(IntDir)$(TargetName).pdb + + + + + + diff --git a/Source/common/common.vcxproj.filters b/Source/common/common.vcxproj.filters new file mode 100644 index 0000000000..e5d725bd5b --- /dev/null +++ b/Source/common/common.vcxproj.filters @@ -0,0 +1,90 @@ + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + {1aa8e1f5-2258-4b86-b44a-5ef08d7534e7} + + + {5f973ca3-b03e-4aa0-b017-08f5203dd479} + + + + + + diff --git a/Source/plugins/CMakeLists.txt b/Source/plugins/CMakeLists.txt index 4ec3513990..f9260a6b99 100644 --- a/Source/plugins/CMakeLists.txt +++ b/Source/plugins/CMakeLists.txt @@ -37,16 +37,7 @@ file(GLOB JSON_DATA_HEADERS "${CMAKE_CURRENT_BINARY_DIR}/json/JsonData_*.h" "${C list(APPEND JSON_CODE_HEADERS "${CMAKE_CURRENT_BINARY_DIR}/json/JStateController.h") add_library(${TARGET} - Channel.cpp - JSONRPC.cpp - Metadata.cpp Module.cpp - Service.cpp - Shell.cpp - StateControl.cpp - SubSystem.cpp - VirtualInput.cpp - System.cpp ${JSON_ENUM_SOURCES} ) @@ -61,26 +52,14 @@ add_library(${TARGET_PROXYSTUBS} SHARED target_compile_definitions(${TARGET_PROXYSTUBS} PRIVATE BUILD_SHARED_LIBS) set(PUBLIC_HEADERS - Channel.h - Config.h - Configuration.h IPlugin.h IShell.h IController.h IStateControl.h IStateController.h - StateControl.h ISubSystem.h IDispatcher.h - SubSystem.h - JSONRPC.h - Metadata.h plugins.h - Request.h - Service.h - System.h - Types.h - VirtualInput.h IVirtualInput.h Module.h ) @@ -128,6 +107,8 @@ target_include_directories( ${TARGET_PROXYSTUBS} $ ) +target_compile_definitions(${TARGET} PRIVATE PLUGINS_EXPORTS) + set_target_properties(${TARGET} PROPERTIES CXX_STANDARD ${CXX_STD} CXX_STANDARD_REQUIRED YES diff --git a/Source/plugins/plugins.h b/Source/plugins/plugins.h index 70f6ac353c..abb94fd14f 100644 --- a/Source/plugins/plugins.h +++ b/Source/plugins/plugins.h @@ -28,29 +28,16 @@ #define CORE_TRACE_NOT_ALLOWED #include "Module.h" -#include "Config.h" -#include "Channel.h" -#include "Configuration.h" #include "IController.h" #include "IPlugin.h" #include "IShell.h" #include "IStateControl.h" #include "ISubSystem.h" #include "IVirtualInput.h" -#include "JSONRPC.h" #include "IStateController.h" -#include "Metadata.h" -#include "Request.h" -#include "Service.h" -#include "StateControl.h" -#include "SubSystem.h" -#include "System.h" -#include "Types.h" -#include "VirtualInput.h" #ifdef __WINDOWS__ #pragma comment(lib, "plugins.lib") #endif -WPEFRAMEWORK_NESTEDNAMESPACE_COMPATIBILIY(Plugin) WPEFRAMEWORK_NESTEDNAMESPACE_COMPATIBILIY(PluginHost) diff --git a/Source/plugins/plugins.vcxproj b/Source/plugins/plugins.vcxproj index 28aeb7634a..b79d265193 100755 --- a/Source/plugins/plugins.vcxproj +++ b/Source/plugins/plugins.vcxproj @@ -19,7 +19,6 @@ - @@ -27,21 +26,10 @@ - - - - - - - - - - - - - - + + + false true false @@ -79,16 +67,9 @@ python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" --case-convention legacy --no-includes --keep-empty -c --namespace Thunder::PluginHost -o "$(ProjectDir)/json" "%(FullPath)" --force - - + - - - - - - @@ -335,4 +316,4 @@ - \ No newline at end of file + diff --git a/Source/plugins/plugins.vcxproj.filters b/Source/plugins/plugins.vcxproj.filters index 3bace3c996..b16751058e 100755 --- a/Source/plugins/plugins.vcxproj.filters +++ b/Source/plugins/plugins.vcxproj.filters @@ -1,36 +1,9 @@  - - Source Files - - - Source Files - - - Source Files - - - Source Files - Source Files - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - Generated Files @@ -54,31 +27,10 @@ - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - + + Header Files + + Interface Files @@ -93,18 +45,9 @@ Interface Files - - Header Files - - - Header Files - - + Interface Files - - Header Files - Interface Files @@ -134,4 +77,4 @@ Interface Files - \ No newline at end of file + From 44c61286427120112f9546f4edc9d24e37b2dcaf Mon Sep 17 00:00:00 2001 From: nxtumwindows Date: Wed, 27 May 2026 10:30:46 +0200 Subject: [PATCH 2/4] working windows build --- Source/common/common.vcxproj | 418 ++++++++++++++++++----------------- 1 file changed, 211 insertions(+), 207 deletions(-) diff --git a/Source/common/common.vcxproj b/Source/common/common.vcxproj index 792d5598d0..c6db052339 100644 --- a/Source/common/common.vcxproj +++ b/Source/common/common.vcxproj @@ -1,207 +1,211 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 15.0 - {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} - Win32Proj - common - 10.0 - - - - DynamicLibrary - true - v143 - MultiByte - - - DynamicLibrary - false - v143 - true - MultiByte - - - DynamicLibrary - true - v143 - MultiByte - - - DynamicLibrary - false - v143 - true - MultiByte - - - - - - - - - - - - - - - - - - - - - false - $(SolutionDir)..\artifacts\$(Configuration)\ - $(OutDir)WebBridge\$(TargetName)\ - - - true - $(SolutionDir)..\artifacts\$(Configuration)\ - $(OutDir)WebBridge\$(TargetName)\ - - - true - $(SolutionDir)..\artifacts\$(Configuration)\ - $(OutDir)WebBridge\$(TargetName)\ - - - false - $(SolutionDir)..\artifacts\$(Configuration)\ - $(OutDir)WebBridge\$(TargetName)\ - - - - NotUsing - Level3 - MaxSpeed - true - true - true - __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;NDEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions - true - - - Windows - true - true - true - $(OutDir) - $(IntDir)$(TargetName).pdb - - - - - NotUsing - Level3 - Disabled - true - __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions - true - - - Windows - true - $(OutDir) - $(IntDir)$(TargetName).pdb - - - - - NotUsing - Level3 - Disabled - true - __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;_DEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions - true - - - Windows - true - $(OutDir) - $(IntDir)$(TargetName).pdb - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions - true - - - Windows - true - true - true - $(OutDir) - $(IntDir)$(TargetName).pdb - - - - - - + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 15.0 + {7A8D8C63-0A8D-4EBA-9C84-8BB0E8F8E001} + Win32Proj + common + 10.0 + + + + DynamicLibrary + true + v143 + MultiByte + + + DynamicLibrary + false + v143 + true + MultiByte + + + DynamicLibrary + true + v143 + MultiByte + + + DynamicLibrary + false + v143 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + false + $(SolutionDir)..\artifacts\$(Configuration)\ + $(OutDir)WebBridge\$(TargetName)\ + + + true + $(SolutionDir)..\artifacts\$(Configuration)\ + $(OutDir)WebBridge\$(TargetName)\ + + + true + $(SolutionDir)..\artifacts\$(Configuration)\ + $(OutDir)WebBridge\$(TargetName)\ + + + false + $(SolutionDir)..\artifacts\$(Configuration)\ + $(OutDir)WebBridge\$(TargetName)\ + + + + NotUsing + Level3 + MaxSpeed + true + true + true + __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;NDEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions + true + + + Windows + true + true + true + $(OutDir) + plugins.lib;%(AdditionalDependencies) + $(IntDir)$(TargetName).pdb + + + + + NotUsing + Level3 + Disabled + true + __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions + true + + + Windows + true + $(OutDir) + plugins.lib;%(AdditionalDependencies) + $(IntDir)$(TargetName).pdb + + + + + NotUsing + Level3 + Disabled + true + __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;_DEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions + true + + + Windows + true + $(OutDir) + plugins.lib;%(AdditionalDependencies) + $(IntDir)$(TargetName).pdb + + + + + NotUsing + Level3 + MaxSpeed + true + true + true + __CORE_MESSAGING__;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;COMMON_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + .;..\plugins;$(FrameworkPath);$(WindowsPath);$(WindowsPath)zlib;$(FrameworkPath)extensions + true + + + Windows + true + true + true + $(OutDir) + plugins.lib;%(AdditionalDependencies) + $(IntDir)$(TargetName).pdb + + + + + + \ No newline at end of file From bb9078e2bee61e22dd50280c6d23dd4421fae3bb Mon Sep 17 00:00:00 2001 From: nxtumUbun Date: Wed, 27 May 2026 01:33:10 -0700 Subject: [PATCH 3/4] trace not allowed --- Source/common/common.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Source/common/common.h b/Source/common/common.h index e1d119c5f4..d075a216b4 100644 --- a/Source/common/common.h +++ b/Source/common/common.h @@ -27,6 +27,10 @@ #error "Please define a MODULE_NAME that describes the binary/library you are building." #endif +// Since this header is included, the code using it is external to Thunder core. +// So therefore it should use the correct Tracing functionality and not TRACE_L# (which are just fancy printfs). +#define CORE_TRACE_NOT_ALLOWED + #include "Module.h" #include "Config.h" #include "Channel.h" @@ -42,4 +46,4 @@ #include "VirtualInput.h" WPEFRAMEWORK_NESTEDNAMESPACE_COMPATIBILIY(Plugin) -WPEFRAMEWORK_NESTEDNAMESPACE_COMPATIBILIY(PluginHost) \ No newline at end of file +WPEFRAMEWORK_NESTEDNAMESPACE_COMPATIBILIY(PluginHost) From 5ff2489d3b196e20e32dd4eab3f93c4de359714d Mon Sep 17 00:00:00 2001 From: nxtumUbun Date: Wed, 27 May 2026 02:40:13 -0700 Subject: [PATCH 4/4] newline --- Source/common/common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/common/common.h b/Source/common/common.h index d075a216b4..1007e59fef 100644 --- a/Source/common/common.h +++ b/Source/common/common.h @@ -46,4 +46,4 @@ #include "VirtualInput.h" WPEFRAMEWORK_NESTEDNAMESPACE_COMPATIBILIY(Plugin) -WPEFRAMEWORK_NESTEDNAMESPACE_COMPATIBILIY(PluginHost) +WPEFRAMEWORK_NESTEDNAMESPACE_COMPATIBILIY(PluginHost) \ No newline at end of file