blob: 0ef6e0871882b3c6ab8f5866a0242f0e9995b617 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#pragma once
#include <QLocalServer>
#include <QLocalSocket>
#include <QtCore>
#include "utils.hpp"
class InstanceManager : public QObject {
Q_OBJECT
public:
InstanceManager();
~InstanceManager() override;
void write_open_urls_to_socket(const QStringList &urls);
void write_lua_expr_to_socket(const QString &lua_expr);
void send_message();
DEFINE_GETTER(is_server, is_server_mode)
signals:
void lua_eval_requested(const QString &lua_expr);
void urls_open_requested(const QStringList &urls);
private slots:
void handle_new_connection();
protected:
bool try_server_connection();
void server_init();
private:
QLocalServer *server = nullptr;
QLocalSocket *socket = nullptr;
bool is_server_mode = false;
// TODO: On windows, \\.\pipe\null-browser
const char *socket_path = "/tmp/null-browser-socket.sock";
};
|