Loading...
Searching...
No Matches
ProcessMimeSerialization.hpp
1#pragma once
2#include <Process/ProcessFactory.hpp>
3
4#include <score/plugins/SerializableInterface.hpp>
6#include <score/serialization/MimeVisitor.hpp>
7
8namespace score
9{
10namespace mime
11{
12inline constexpr auto processdata()
13{
14 return "application/x-score-processdata";
15}
16inline constexpr auto processpreset()
17{
18 return "application/x-score-processpreset";
19}
20inline constexpr auto layerdata()
21{
22 return "application/x-score-layerdata";
23}
24inline constexpr auto scenariodata()
25{
26 return "application/x-score-scenariodata";
27}
28}
29}
30
31namespace Process
32{
34{
36 QString prettyName;
37 QString customData;
38};
39}
40template <>
41struct MimeReader<Process::ProcessData> : public MimeDataReader
42{
43 using MimeDataReader::MimeDataReader;
44 void serialize(const Process::ProcessData& lst) const
45 {
46 m_mime.setData(score::mime::processdata(), DataStreamReader::marshall(lst));
47 }
48};
49
50template <>
51struct MimeWriter<Process::ProcessData> : public MimeDataWriter
52{
53 using MimeDataWriter::MimeDataWriter;
54 auto deserialize()
55 {
56 return DataStreamWriter::unmarshall<Process::ProcessData>(
57 m_mime.data(score::mime::processdata()));
58 }
59};
Definition UuidKey.hpp:345
Base classes and tools to implement processes and layers.
Definition JSONVisitor.hpp:1115
Base toolkit upon which the software is built.
Definition Application.cpp:83
Definition MimeVisitor.hpp:22
Definition MimeVisitor.hpp:32
Definition MimeVisitor.hpp:7
Definition MimeVisitor.hpp:9
Definition ProcessMimeSerialization.hpp:34