Files
rpcs3/rpcs3/headless_application.h
Megamouse be509deda0 Move emu callbacks to own file
Reduces some System.h includes
2026-09-15 22:01:55 +02:00

38 lines
824 B
C++

#pragma once
#include <QCoreApplication>
#include "main_application.h"
#include "util/atomic.hpp"
#include <functional>
/** Headless RPCS3 Application Class
* The main point of this class is to do application initialization and initialize callbacks.
*/
class headless_application : public QCoreApplication, public main_application
{
Q_OBJECT
public:
headless_application(int& argc, char** argv);
/** Call this method before calling app.exec */
void Init() override;
private:
void create_callbacks() override;
void InitializeConnects() const;
QThread* get_thread() override
{
return thread();
}
Q_SIGNALS:
void RequestCallFromMainThread(std::function<void()> func, atomic_t<u32>* wake_up);
private Q_SLOTS:
static void CallFromMainThread(const std::function<void()>& func, atomic_t<u32>* wake_up);
};