#pragma once #include "Thread.h" #include namespace Framework { class AsynchronCall : private Thread { private: std::function< void() > 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< void() > 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< void() > 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< void() > 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< void() > f, bool* finished ); }; }