123456789101112131415161718192021222324252627282930313233343536373839 |
- #pragma once
- #include "Thread.h"
- #include <functional>
- 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 );
- };
- }
|