Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
ipc_message.h
1// SPDX-FileCopyrightText: © 2024 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#pragma once
5
6#include <QByteArray>
7#include <QDataStream>
8
9constexpr const char * IPC_SOCKET_NAME = "ZrythmEngineSocket";
10
11enum class MessageType
12{
13 SetVolume,
14 Play,
15 Stop,
16 GetStatus,
17 StatusUpdate
18};
19
21{
22 MessageType type_;
23 QByteArray data_;
24};
25
26inline QDataStream &
27operator<< (QDataStream &out, const IPCMessage &message)
28{
29 out << static_cast<qint32> (message.type_) << message.data_;
30 return out;
31}
32
33inline QDataStream &
34operator>> (QDataStream &in, IPCMessage &message)
35{
36 qint32 type = 0;
37 in >> type >> message.data_;
38 message.type_ = static_cast<MessageType> (type);
39 return in;
40}