Vuo
2.4.4
Loading...
Searching...
No Matches
compiler
VuoModuleCacheManifest.cc
Go to the documentation of this file.
1
10
#include "
VuoModuleCacheManifest.hh
"
11
#include "
VuoFileUtilities.hh
"
12
#include "
VuoStringUtilities.hh
"
13
17
VuoModuleCacheManifest::VuoModuleCacheManifest
(
void
)
18
{
19
}
20
24
void
VuoModuleCacheManifest::addModule
(
const
string
&moduleKey,
bool
isOverridden)
25
{
26
(isOverridden ? overriddenDependencies : dependencies).insert(moduleKey);
27
}
28
32
void
VuoModuleCacheManifest::addDependency
(
const
string
&dependency)
33
{
34
dependencies.insert(dependency);
35
}
36
40
void
VuoModuleCacheManifest::addContentsOf
(
const
VuoModuleCacheManifest
&other)
41
{
42
dependencies.insert(other.dependencies.begin(), other.dependencies.end());
43
overriddenDependencies.insert(other.overriddenDependencies.begin(), other.overriddenDependencies.end());
44
}
45
49
bool
VuoModuleCacheManifest::hasSameContentsAs
(
const
VuoModuleCacheManifest
&other)
const
50
{
51
return
dependencies == other.dependencies && overriddenDependencies == other.overriddenDependencies;
52
}
53
57
void
VuoModuleCacheManifest::readFromFile
(
const
string
&manifestFilePath)
58
{
59
string
contents =
VuoFileUtilities::readFileToString
(manifestFilePath);
60
vector<string> lines =
VuoStringUtilities::split
(contents,
'\n'
);
61
62
for
(
const
string
&line : lines)
63
{
64
vector<string> parts =
VuoStringUtilities::split
(line,
' '
);
65
if
(parts.size() == 1)
66
dependencies.insert(parts[0]);
67
else
if
(parts.size() == 2 && parts[1] ==
"o"
)
68
overriddenDependencies.insert(parts[0]);
69
}
70
}
71
75
void
VuoModuleCacheManifest::writeToFile
(
const
string
&manifestFilePath)
const
76
{
77
vector<string> lines;
78
79
for
(
const
string
&dep : overriddenDependencies)
80
lines.push_back(dep +
" o"
);
81
82
lines.insert(lines.end(), dependencies.begin(), dependencies.end());
83
84
string
contents =
VuoStringUtilities::join
(lines,
'\n'
);
85
VuoFileUtilities::writeStringToFile
(contents, manifestFilePath);
86
}
87
91
bool
VuoModuleCacheManifest::contains
(
const
string
&content)
const
92
{
93
return
dependencies.find(content) != dependencies.end() || overriddenDependencies.find(content) != overriddenDependencies.end();
94
}
95
99
set<string>
VuoModuleCacheManifest::getContents
(
void
)
const
100
{
101
set<string> contents;
102
103
contents.insert(dependencies.begin(), dependencies.end());
104
contents.insert(overriddenDependencies.begin(), overriddenDependencies.end());
105
106
return
contents;
107
}
Generated on Thu Nov 9 2023 16:59:29 for Vuo by
1.9.8