mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Make MetadataList.messages private
This commit is contained in:
@@ -92,6 +92,10 @@ namespace loot {
|
||||
return pluginList;
|
||||
}
|
||||
|
||||
std::list<Message> MetadataList::Messages() const {
|
||||
return messages;
|
||||
}
|
||||
|
||||
// Merges multiple matching regex entries if any are found.
|
||||
PluginMetadata MetadataList::FindPlugin(const PluginMetadata& plugin) const {
|
||||
PluginMetadata match(plugin.Name());
|
||||
@@ -132,6 +136,10 @@ namespace loot {
|
||||
}
|
||||
}
|
||||
|
||||
void MetadataList::AppendMessage(const Message& message) {
|
||||
messages.push_back(message);
|
||||
}
|
||||
|
||||
void MetadataList::EvalAllConditions(Game& game, const unsigned int language) {
|
||||
unordered_set<PluginMetadata> replacementSet;
|
||||
for (auto &plugin : plugins) {
|
||||
|
||||
@@ -53,6 +53,7 @@ namespace loot {
|
||||
void clear();
|
||||
|
||||
std::list<PluginMetadata> Plugins() const;
|
||||
std::list<Message> Messages() const;
|
||||
|
||||
// Merges multiple matching regex entries if any are found.
|
||||
PluginMetadata FindPlugin(const PluginMetadata& plugin) const;
|
||||
@@ -62,13 +63,15 @@ namespace loot {
|
||||
// be required for other plugins.
|
||||
void ErasePlugin(const PluginMetadata& plugin);
|
||||
|
||||
void AppendMessage(const Message& message);
|
||||
|
||||
// Eval plugin conditions.
|
||||
void EvalAllConditions(Game& game, const unsigned int language);
|
||||
|
||||
std::list<Message> messages;
|
||||
protected:
|
||||
std::unordered_set<PluginMetadata> plugins;
|
||||
std::list<PluginMetadata> regexPlugins;
|
||||
std::list<Message> messages;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
+9
-7
@@ -797,12 +797,14 @@ namespace loot {
|
||||
//Evaluate any conditions in the global messages.
|
||||
BOOST_LOG_TRIVIAL(debug) << "Evaluating global message conditions.";
|
||||
list<Message> messages = parsingErrors;
|
||||
auto metadataListMessages = _lootState.CurrentGame().masterlist.Messages();
|
||||
messages.insert(end(messages),
|
||||
begin(metadataListMessages),
|
||||
end(metadataListMessages));
|
||||
metadataListMessages = _lootState.CurrentGame().userlist.Messages();
|
||||
messages.insert(messages.end(),
|
||||
_lootState.CurrentGame().masterlist.messages.begin(),
|
||||
_lootState.CurrentGame().masterlist.messages.end());
|
||||
messages.insert(messages.end(),
|
||||
_lootState.CurrentGame().userlist.messages.begin(),
|
||||
_lootState.CurrentGame().userlist.messages.end());
|
||||
begin(metadataListMessages),
|
||||
end(metadataListMessages));
|
||||
try {
|
||||
list<Message>::iterator it = messages.begin();
|
||||
while (it != messages.end()) {
|
||||
@@ -855,7 +857,7 @@ namespace loot {
|
||||
// There was a parsing error, but roll-back was successful, so the process
|
||||
|
||||
// should still complete.
|
||||
_lootState.CurrentGame().masterlist.messages.push_back(Message(Message::error, e.what()));
|
||||
_lootState.CurrentGame().masterlist.AppendMessage(Message(Message::error, e.what()));
|
||||
wasChanged = true;
|
||||
}
|
||||
else {
|
||||
@@ -915,7 +917,7 @@ namespace loot {
|
||||
|
||||
//Evaluate any conditions in the global messages.
|
||||
BOOST_LOG_TRIVIAL(debug) << "Evaluating global message conditions.";
|
||||
list<Message> messages = _lootState.CurrentGame().masterlist.messages;
|
||||
list<Message> messages = _lootState.CurrentGame().masterlist.Messages();
|
||||
try {
|
||||
list<Message>::iterator it = messages.begin();
|
||||
while (it != messages.end()) {
|
||||
|
||||
@@ -73,7 +73,7 @@ TEST_F(MetadataList, Load) {
|
||||
EXPECT_NO_THROW(ml.Load(metadataPath));
|
||||
EXPECT_EQ(std::list<loot::Message>({
|
||||
loot::Message(loot::Message::say, "A global message."),
|
||||
}), ml.messages);
|
||||
}), ml.Messages());
|
||||
|
||||
// Non-regex plugins can be outputted in any order, and regex entries can
|
||||
// match each other, so convert the list to a set of strings for
|
||||
@@ -92,14 +92,14 @@ TEST_F(MetadataList, Load) {
|
||||
}), names);
|
||||
|
||||
EXPECT_ANY_THROW(ml.Load("NotAPlugin.esm"));
|
||||
EXPECT_TRUE(ml.messages.empty());
|
||||
EXPECT_TRUE(ml.Messages().empty());
|
||||
EXPECT_TRUE(ml.Plugins().empty());
|
||||
|
||||
// Fill the list again.
|
||||
ASSERT_NO_THROW(ml.Load(metadataPath));
|
||||
|
||||
EXPECT_ANY_THROW(ml.Load("Blank.missing.esm"));
|
||||
EXPECT_TRUE(ml.messages.empty());
|
||||
EXPECT_TRUE(ml.Messages().empty());
|
||||
EXPECT_TRUE(ml.Plugins().empty());
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ TEST_F(MetadataList, Save) {
|
||||
|
||||
EXPECT_EQ(std::list<loot::Message>({
|
||||
loot::Message(loot::Message::say, "A global message."),
|
||||
}), ml.messages);
|
||||
}), ml.Messages());
|
||||
|
||||
// Non-regex plugins can be outputted in any order, and regex entries can
|
||||
// match each other, so convert the list to a set of strings for
|
||||
@@ -142,11 +142,11 @@ TEST_F(MetadataList, Save) {
|
||||
TEST_F(MetadataList, clear) {
|
||||
loot::MetadataList ml;
|
||||
ASSERT_NO_THROW(ml.Load(metadataPath));
|
||||
ASSERT_FALSE(ml.messages.empty());
|
||||
ASSERT_FALSE(ml.Messages().empty());
|
||||
ASSERT_FALSE(ml.Plugins().empty());
|
||||
|
||||
ml.clear();
|
||||
EXPECT_TRUE(ml.messages.empty());
|
||||
EXPECT_TRUE(ml.Messages().empty());
|
||||
EXPECT_TRUE(ml.Plugins().empty());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user