diff --git a/src/ArrivalMANagerMain.cpp b/src/ArrivalMANagerMain.cpp new file mode 100644 index 0000000..859cc49 --- /dev/null +++ b/src/ArrivalMANagerMain.cpp @@ -0,0 +1,42 @@ +/* + * Author: + * Sven Czarnian + * 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; +} diff --git a/src/PlugIn.cpp b/src/PlugIn.cpp new file mode 100644 index 0000000..aacd360 --- /dev/null +++ b/src/PlugIn.cpp @@ -0,0 +1,27 @@ +/* + * Author: + * Sven Czarnian + * 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 { } diff --git a/src/PlugIn.h b/src/PlugIn.h new file mode 100644 index 0000000..21aeeb4 --- /dev/null +++ b/src/PlugIn.h @@ -0,0 +1,49 @@ +/* + * @brief Defines the EuroScope plug-in + * @file src/PlugIn.h + * @author Sven Czarnian + * @copyright Copyright 2021 Sven Czarnian + * @license This project is published under the GNU General Public License v3 (GPLv3) + */ + +#pragma once + +#include + +#pragma warning(push, 0) +#include +#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; + }; +} diff --git a/src/stdafx.cpp b/src/stdafx.cpp new file mode 100644 index 0000000..0fd89dd --- /dev/null +++ b/src/stdafx.cpp @@ -0,0 +1,12 @@ +/* + * Author: + * Sven Czarnian + * Brief: + * Implements the version checker + * Copyright: + * 2020-2021 Sven Czarnian + * License: + * GNU General Public License v3 (GPLv3) + */ + +#include "stdafx.h" diff --git a/src/stdafx.h b/src/stdafx.h new file mode 100644 index 0000000..a550379 --- /dev/null +++ b/src/stdafx.h @@ -0,0 +1,25 @@ +/* + * @brief Defines the include header for all euroscope files + * @file euroscope/stdafx.h + * @author Sven Czarnian + * @copyright Copyright 2020-2021 Sven Czarnian + * @license This project is published under the GNU General Public License v3 (GPLv3) + */ + +#pragma once + +#include + +#include "res/targetver.h" + +#include +using std::min; +using std::max; + +#include + +#pragma warning(disable: 4458) +#pragma warning(push, 0) +#include +#pragma warning(pop) +#pragma warning(default: 4458)