• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ossia / score / 36873490647

01 Oct 2026 02:04PM UTC coverage: 47.45% (-0.1%) from 47.56%
36873490647

push

github

jcelerier
addons: add trackingprotocols addon

152629 of 321661 relevant lines covered (47.45%)

145881.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

85.71
/src/plugins/score-lib-process/Process/ProcessModelSerialization.cpp
1
// This is an open source non-commercial project. Dear PVS-Studio, please check
2
// it. PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
3
#include <Process/Process.hpp>
4
#include <Process/ProcessFactory.hpp>
5
#include <Process/ProcessList.hpp>
6
#include <Process/ProcessMimeSerialization.hpp>
7
#include <Process/TimeValue.hpp>
8
#include <Process/TimeValueSerialization.hpp>
9

10
#include <score/model/ModelMetadata.hpp>
11
#include <score/plugins/InterfaceList.hpp>
12
#include <score/plugins/StringFactoryKey.hpp>
13
#include <score/plugins/StringFactoryKeySerialization.hpp>
14
#include <score/serialization/DataStreamVisitor.hpp>
15
#include <score/serialization/JSONValueVisitor.hpp>
16
#include <score/serialization/JSONVisitor.hpp>
17

18
template <>
19
SCORE_LIB_PROCESS_EXPORT void DataStreamReader::read(const Process::ProcessData& process)
×
20
{
21
  m_stream << process.key << process.prettyName << process.customData;
×
22
}
×
23

24
// We only load the members of the process here.
25
template <>
26
SCORE_LIB_PROCESS_EXPORT void DataStreamWriter::write(Process::ProcessData& process)
×
27
{
28
  m_stream >> process.key >> process.prettyName >> process.customData;
×
29
}
×
30

31
template <>
32
SCORE_LIB_PROCESS_EXPORT void
33
DataStreamReader::read(const Process::ProcessModel& process)
2,363 ✔
34
{
35
  m_stream << process.m_duration << process.m_slotHeight << process.m_startOffset
2,363 ✔
36
           << process.m_loopDuration << process.m_position << process.m_size
2,363 ✔
37
           << process.m_loops << process.m_foldMode << process.m_scriptEditorPlacement
2,363 ✔
38
           << process.m_processUIPlacement << process.m_scriptable;
2,363 ✔
39
}
2,363 ✔
40

41
// We only load the members of the process here.
42
template <>
43
SCORE_LIB_PROCESS_EXPORT void DataStreamWriter::write(Process::ProcessModel& process)
499 ✔
44
{
45
  m_stream >> process.m_duration >> process.m_slotHeight >> process.m_startOffset
499 ✔
46
      >> process.m_loopDuration >> process.m_position >> process.m_size
499 ✔
47
      >> process.m_loops >> process.m_foldMode >> process.m_scriptEditorPlacement
499 ✔
48
      >> process.m_processUIPlacement >> process.m_scriptable;
499 ✔
49
}
499 ✔
50

51
template <>
52
SCORE_LIB_PROCESS_EXPORT void JSONReader::read(const Process::ProcessModel& process)
1,049 ✔
53
{
54
  obj[strings.Duration] = process.duration();
1,049 ✔
55
  obj[strings.Height] = process.getSlotHeight();
1,049 ✔
56
  obj["StartOffset"] = process.startOffset();
1,049 ✔
57
  obj["LoopDuration"] = process.loopDuration();
1,049 ✔
58
  obj["Pos"] = process.m_position;
1,049 ✔
59
  obj["Size"] = process.m_size;
1,049 ✔
60
  obj["Loops"] = process.loops();
1,049 ✔
61
  if(process.m_scriptable)
1,049 ✔
62
    obj["Scriptable"] = true;
23 ✔
63
  obj["FoldMode"] = process.foldMode();
1,049 ✔
64
  if(!process.m_scriptEditorPlacement.isEmpty())
1,049 ✔
65
    obj["ScriptEditorPlacement"] = process.m_scriptEditorPlacement;
1 ✔
66
  if(!process.m_processUIPlacement.isEmpty())
1,049 ✔
67
    obj["ProcessUIPlacement"] = process.m_processUIPlacement;
1 ✔
68
}
1,049 ✔
69

70
template <>
71
SCORE_LIB_PROCESS_EXPORT void JSONWriter::write(Process::ProcessModel& process)
584 ✔
72
{
73
  process.m_duration <<= obj[strings.Duration];
584 ✔
74

75
  if(auto it = obj.tryGet(strings.Height))
584 ✔
76
    process.m_slotHeight = it->toDouble();
584 ✔
77
  else
78
    process.m_slotHeight = 300;
×
79

80
  assign_with_default(process.m_startOffset, obj.tryGet("StartOffset"), TimeVal::zero());
584 ✔
81
  assign_with_default(
584 ✔
82
      process.m_loopDuration, obj.tryGet("LoopDuration"), TimeVal::fromMsecs(1000));
83
  assign_with_default(process.m_loops, obj.tryGet("Loops"), false);
584 ✔
84
  assign_with_default(process.m_scriptable, obj.tryGet("Scriptable"), false);
584 ✔
85
  assign_with_default(process.m_position, obj.tryGet("Pos"), QPointF{});
584 ✔
86
  assign_with_default(process.m_size, obj.tryGet("Size"), QSize(200, 200));
584 ✔
87

88
  // Absent from every document written before fold state was stored: those must
89
  // keep getting the heuristic, which is what Auto means.
90
  assign_with_default(
584 ✔
91
      process.m_foldMode, obj.tryGet("FoldMode"), Process::FoldMode::Auto);
92
  assign_with_default(
584 ✔
93
      process.m_scriptEditorPlacement, obj.tryGet("ScriptEditorPlacement"), QString{});
94
  assign_with_default(
584 ✔
95
      process.m_processUIPlacement, obj.tryGet("ProcessUIPlacement"), QString{});
96
}
584 ✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc