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