forked from quickshell/quickshell
io/ipchandler: add IpcHandler and qs msg
Also reworks the whole ipc system to use serialized variants.
This commit is contained in:
parent
3690812919
commit
5e2fb14551
14 changed files with 1428 additions and 27 deletions
39
src/io/ipccomm.hpp
Normal file
39
src/io/ipccomm.hpp
Normal file
|
@ -0,0 +1,39 @@
|
|||
#pragma once
|
||||
|
||||
#include <qcontainerfwd.h>
|
||||
#include <qflags.h>
|
||||
|
||||
#include "../core/ipc.hpp"
|
||||
|
||||
namespace qs::io::ipc::comm {
|
||||
|
||||
struct QueryMetadataCommand {
|
||||
QString target;
|
||||
QString function;
|
||||
|
||||
void exec(qs::ipc::IpcServerConnection* conn) const;
|
||||
};
|
||||
|
||||
DEFINE_SIMPLE_DATASTREAM_OPS(QueryMetadataCommand, data.target, data.function);
|
||||
|
||||
struct StringCallCommand {
|
||||
QString target;
|
||||
QString function;
|
||||
QVector<QString> arguments;
|
||||
|
||||
void exec(qs::ipc::IpcServerConnection* conn) const;
|
||||
};
|
||||
|
||||
DEFINE_SIMPLE_DATASTREAM_OPS(StringCallCommand, data.target, data.function, data.arguments);
|
||||
|
||||
void handleMsg(qs::ipc::IpcServerConnection* conn);
|
||||
int queryMetadata(qs::ipc::IpcClient* client, const QString& target, const QString& function);
|
||||
|
||||
int callFunction(
|
||||
qs::ipc::IpcClient* client,
|
||||
const QString& target,
|
||||
const QString& function,
|
||||
const QVector<QString>& arguments
|
||||
);
|
||||
|
||||
} // namespace qs::io::ipc::comm
|
Loading…
Add table
Add a link
Reference in a new issue