#pragma once #include #include "Thread.h" namespace Framework { class AsynchronCall : private Thread { private: std::function f; bool* finished; void thread() override; void threadEnd() override; public: //! Konstruktor //! \param f Die Funktion die asynchron aufgerufen werden soll //! Muss mit new aufgerufen werden. Das Objekt löscht sich selbst DLLEXPORT AsynchronCall(std::function f); //! Konstruktor //! \param name Der Name des Threads //! \param f Die Funktion die asynchron aufgerufen werden soll //! Muss mit new aufgerufen werden. Das Objekt löscht sich selbst DLLEXPORT AsynchronCall(const char* name, std::function f); //! Konstruktor //! \param f Die Funktion die asynchron aufgerufen werden soll //! \param finished Wird auf 1 gesetzt wenn der Aufruf abgearbeitet //! wurde //! Muss mit new aufgerufen werden. Das Objekt löscht sich selbst DLLEXPORT AsynchronCall(std::function f, bool* finished); //! Konstruktor //! \param name Der Name des Threads //! \param f Die Funktion die asynchron aufgerufen werden soll //! \param finished Wird auf 1 gesetzt wenn der Aufruf abgearbeitet //! wurde //! Muss mit new aufgerufen werden. Das Objekt löscht sich selbst DLLEXPORT AsynchronCall( const char* name, std::function f, bool* finished); }; } // namespace Framework