|
From: Markus R. <god...@us...> - 2009-11-12 12:49:24
|
Module: performous
Branch: master
Commit: b4c3e59b029e5aec08b9e1bd0fffd5d47ad6b174
Author: Markus Raab <un...@ma...>
Date: Tue Nov 10 11:45:19 2009 +0100
reading/writing players database
---
game/database.cc | 22 +++++++++++++++-------
game/players.cc | 3 ++-
2 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/game/database.cc b/game/database.cc
index c3b1422..510807a 100644
--- a/game/database.cc
+++ b/game/database.cc
@@ -8,12 +8,17 @@ Database::Database(fs::path filename) :
m_filename(filename)
{
try { load(); }
- catch(...) { std::cerr << "Could not load " << file() << ", will create" << std::endl; }
+ catch(std::exception const& e) {
+ std::cerr << "Could not load " << file() << ": " << e.what() << std::endl;
+ std::cerr << "will try to create" << std::endl;
+ }
}
Database::~Database() {
try { save(); }
- catch (...) { std::cerr << "Could not save players to " << file() << std::endl; }
+ catch (std::exception const& e) {
+ std::cerr << "Could not save " << file() << ": " << e.what() << std::endl;
+ }
}
void Database::load() {
@@ -31,7 +36,11 @@ void Database::save() {
m_players.save(players);
- create_directory(m_filename.parent_path());
+ if (!exists(m_filename.parent_path()) && !m_filename.parent_path().empty())
+ {
+ std::cout << "Will create directory: " << m_filename.parent_path() << std::endl;
+ create_directory(m_filename.parent_path());
+ }
doc.write_to_file_formatted(m_filename.string(), "UTF-8");
}
@@ -39,9 +48,8 @@ std::string Database::file() {
return m_filename.string();
}
-/*
-
// Test program for Database
int main()
-{}
-*/
+{
+ Database ("database.xml");
+}
diff --git a/game/players.cc b/game/players.cc
index 175624e..5935dc2 100644
--- a/game/players.cc
+++ b/game/players.cc
@@ -22,7 +22,6 @@ Players::~Players()
{ }
void Players::load(xmlpp::NodeSet n) {
-
for (xmlpp::NodeSet::const_iterator it = n.begin(); it != n.end(); ++it)
{
xmlpp::Element& element = dynamic_cast<xmlpp::Element&>(**it);
@@ -64,6 +63,7 @@ void Players::addPlayer (std::string const& name, std::string const& picture) {
if (pi.picture != "") // no picture, so don't search path
{
+ /* TODO: add again
ConfigItem::StringList const& sl = config["system/path_pictures"].sl();
typedef std::set<fs::path> dirs;
dirs d;
@@ -76,6 +76,7 @@ void Players::addPlayer (std::string const& name, std::string const& picture) {
if (pi.path != "") std::cout << "Found " << pi.picture << " in " << pi.path << std::endl;
else std::cout << "Not found " << pi.picture << std::endl;
+ */
}
|