#pragma once #include "dll_export.h" #include #include #include #include namespace satdump { /* Some functionalities need to take over the entire window */ class Application { protected: const std::string app_id; virtual void drawUI(); public: Application(std::string id); ~Application(); void drawWindow(); void draw(); public: static std::string getID(); static std::shared_ptr getInstance(); }; SATDUMP_DLL2 extern std::map()>> application_registry; // Event where applications are registered, so plugins can load theirs struct RegisterApplicationsEvent { std::map()>> &application_registry; }; void registerApplications(); };