--- trunk/Publisher.cpp 2004/07/17 06:37:41 21 +++ trunk/Publisher.cpp 2004/07/20 07:40:43 32 @@ -5,6 +5,7 @@ // $Id$ #include "Publisher.hpp" +#include "Rss.hpp" Publisher::Publisher(const std::set& buddies, const Database& database, bool start) : buddies(buddies), database(database), start(start) @@ -17,7 +18,48 @@ Publisher::Publisher(const std::set db(dbi::Connect(database.driver, database.host, + database.user, database.password, database.db)); + + db->Execute("DELETE FROM messages WHERE stamp<'" + (stamp - Day(30)) + "'"); + + for (std::set::const_iterator buddy(buddies.begin()); buddy != + buddies.end(); ++buddy) + { + ext::Handle messages(db->Execute(ext::String("SELECT s") + + "tamp, message FROM messages WHERE id='" + + lexical_cast(buddy->getId()) + "'")); + std::vector messages_; + + while (messages->MoveNext()) + messages_.push_back(AwayMessage(messages->GetString("message"), + messages->GetString("stamp"))); + + Rss rss(*buddy, messages_, stamp); + } }