26 lines
577 B
C++
26 lines
577 B
C++
//
|
|
// Created by selim on 09.05.2022.
|
|
//
|
|
|
|
#ifndef AUTOCAT_GNOME_GLIBMAINCONTEXTEXECUTOR_H
|
|
#define AUTOCAT_GNOME_GLIBMAINCONTEXTEXECUTOR_H
|
|
|
|
#include <folly/Executor.h>
|
|
#include <queue>
|
|
#include <mutex>
|
|
|
|
class GLibMainContextExecutor: public folly::Executor {
|
|
private:
|
|
std::queue<folly::Func> _tasks;
|
|
std::mutex _mutex;
|
|
|
|
public:
|
|
static folly::Executor::KeepAlive<GLibMainContextExecutor> instance();
|
|
~GLibMainContextExecutor() override = default;
|
|
void add(folly::Func func) override;
|
|
void runFront();
|
|
};
|
|
|
|
|
|
#endif //AUTOCAT_GNOME_GLIBMAINCONTEXTEXECUTOR_H
|