introduce the plugin definition
This commit is contained in:
		
							
								
								
									
										42
									
								
								src/ArrivalMANagerMain.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								src/ArrivalMANagerMain.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | |||||||
|  | /* | ||||||
|  |  * Author: | ||||||
|  |  *   Sven Czarnian <devel@svcz.de> | ||||||
|  |  * Brief: | ||||||
|  |  *   Implements the entry functions for EuroScope | ||||||
|  |  * Copyright: | ||||||
|  |  *   2020-2021 Sven Czarnian | ||||||
|  |  * License: | ||||||
|  |  *   GNU General Public License v3 (GPLv3) | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "stdafx.h" | ||||||
|  |  | ||||||
|  | #include "PlugIn.h" | ||||||
|  |  | ||||||
|  | using namespace arrivalmanager; | ||||||
|  |  | ||||||
|  | BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved) { | ||||||
|  |     (void)module; | ||||||
|  |     (void)reserved; | ||||||
|  |  | ||||||
|  |     switch (reason) { | ||||||
|  |     case DLL_PROCESS_ATTACH: | ||||||
|  |     case DLL_PROCESS_DETACH: | ||||||
|  |     default: | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return TRUE; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static PlugIn* __plugin = nullptr; | ||||||
|  |  | ||||||
|  | void __declspec(dllexport) EuroScopePlugInInit(EuroScopePlugIn::CPlugIn** ppPlugInInstance) { | ||||||
|  |     *ppPlugInInstance = __plugin = new PlugIn(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void __declspec(dllexport) EuroScopePlugInExit() { | ||||||
|  |     if (nullptr != __plugin) | ||||||
|  |         delete __plugin; | ||||||
|  |     __plugin = nullptr; | ||||||
|  | } | ||||||
							
								
								
									
										27
									
								
								src/PlugIn.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/PlugIn.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | |||||||
|  | /* | ||||||
|  |  * Author: | ||||||
|  |  *   Sven Czarnian <devel@svcz.de> | ||||||
|  |  * Brief: | ||||||
|  |  *   Implements the EuroScope plug-in definition | ||||||
|  |  * Copyright: | ||||||
|  |  *   2021 Sven Czarnian | ||||||
|  |  * License: | ||||||
|  |  *   GNU General Public License v3 (GPLv3) | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "stdafx.h" | ||||||
|  |  | ||||||
|  | #include "PlugIn.h" | ||||||
|  |  | ||||||
|  | EXTERN_C IMAGE_DOS_HEADER __ImageBase; | ||||||
|  |  | ||||||
|  | using namespace arrivalmanager; | ||||||
|  |  | ||||||
|  | PlugIn::PlugIn() : | ||||||
|  |         EuroScopePlugIn::CPlugIn(EuroScopePlugIn::COMPATIBILITY_CODE, | ||||||
|  |                                  PLUGIN_NAME, | ||||||
|  |                                  PLUGIN_VERSION, | ||||||
|  |                                  PLUGIN_DEVELOPER, | ||||||
|  |                                  PLUGIN_COPYRIGHT) { } | ||||||
|  |  | ||||||
|  | PlugIn::~PlugIn() noexcept { } | ||||||
							
								
								
									
										49
									
								
								src/PlugIn.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								src/PlugIn.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,49 @@ | |||||||
|  | /* | ||||||
|  |  * @brief Defines the EuroScope plug-in | ||||||
|  |  * @file src/PlugIn.h | ||||||
|  |  * @author Sven Czarnian <devel@svcz.de> | ||||||
|  |  * @copyright Copyright 2021 Sven Czarnian | ||||||
|  |  * @license This project is published under the GNU General Public License v3 (GPLv3) | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include <functional> | ||||||
|  |  | ||||||
|  | #pragma warning(push, 0) | ||||||
|  | #include <EuroScopePlugIn.h> | ||||||
|  | #pragma warning(pop) | ||||||
|  |  | ||||||
|  | namespace arrivalmanager { | ||||||
|  |     /** | ||||||
|  |      * @brief Defines the EuroScope plug-in | ||||||
|  |      * @ingroup euroscope | ||||||
|  |      */ | ||||||
|  |     class PlugIn : public EuroScopePlugIn::CPlugIn { | ||||||
|  |     public: | ||||||
|  |         /** | ||||||
|  |          * @brief Defines the different internal and external tag functions | ||||||
|  |          */ | ||||||
|  |         enum class TagItemFunction { | ||||||
|  |         }; | ||||||
|  |  | ||||||
|  |     private: | ||||||
|  |         enum class TagItemElement { | ||||||
|  |         }; | ||||||
|  |  | ||||||
|  |     public: | ||||||
|  |         /** | ||||||
|  |          * @brief Creates a new plug-in | ||||||
|  |          */ | ||||||
|  |         PlugIn(); | ||||||
|  |         /** | ||||||
|  |          * @brief Destroys all internal strcutures | ||||||
|  |          */ | ||||||
|  |         ~PlugIn() noexcept; | ||||||
|  |  | ||||||
|  |         PlugIn(const PlugIn&) = delete; | ||||||
|  |         PlugIn(PlugIn&&) = delete; | ||||||
|  |         PlugIn& operator=(const PlugIn&) = delete; | ||||||
|  |         PlugIn& operator=(PlugIn&&) = delete; | ||||||
|  |     }; | ||||||
|  | } | ||||||
							
								
								
									
										12
									
								
								src/stdafx.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								src/stdafx.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | /* | ||||||
|  |  * Author: | ||||||
|  |  *   Sven Czarnian <devel@svcz.de> | ||||||
|  |  * Brief: | ||||||
|  |  *   Implements the version checker | ||||||
|  |  * Copyright: | ||||||
|  |  *   2020-2021 Sven Czarnian | ||||||
|  |  * License: | ||||||
|  |  *   GNU General Public License v3 (GPLv3) | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "stdafx.h" | ||||||
							
								
								
									
										25
									
								
								src/stdafx.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/stdafx.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | /* | ||||||
|  |  * @brief Defines the include header for all euroscope files | ||||||
|  |  * @file euroscope/stdafx.h | ||||||
|  |  * @author Sven Czarnian <devel@svcz.de> | ||||||
|  |  * @copyright Copyright 2020-2021 Sven Czarnian | ||||||
|  |  * @license This project is published under the GNU General Public License v3 (GPLv3) | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include <algorithm> | ||||||
|  |  | ||||||
|  | #include "res/targetver.h" | ||||||
|  |  | ||||||
|  | #include <Windows.h> | ||||||
|  | using std::min; | ||||||
|  | using std::max; | ||||||
|  |  | ||||||
|  | #include <version.h> | ||||||
|  |  | ||||||
|  | #pragma warning(disable: 4458) | ||||||
|  | #pragma warning(push, 0) | ||||||
|  | #include <gdiplus.h> | ||||||
|  | #pragma warning(pop) | ||||||
|  | #pragma warning(default: 4458) | ||||||
		Reference in New Issue
	
	Block a user