22 |
|
|
23 |
|
// publish |
24 |
|
|
25 |
< |
Buddy buddy(*buddies.find(ext::String("douglaswth"))); |
26 |
< |
std::vector<AwayMessage> messages; |
25 |
> |
update(); |
26 |
> |
} |
27 |
> |
|
28 |
> |
void Publisher::update() |
29 |
> |
{ |
30 |
> |
Stamp stamp; |
31 |
> |
ext::Handle<dbi::Connection> db(dbi::Connect(database.driver, database.host, |
32 |
> |
database.user, database.password, database.db)); |
33 |
> |
|
34 |
> |
db->Execute("DELETE FROM messages WHERE stamp<'" + ext::String(stamp - 30) + |
35 |
> |
"'"); |
36 |
> |
|
37 |
> |
for (std::set<Buddy>::const_iterator buddy(buddies.begin()); buddy != |
38 |
> |
buddies.end(); ++buddy) |
39 |
> |
{ |
40 |
> |
ext::Handle<dbi::ResultSet> messages(db->Execute(ext::String("SELECT s") |
41 |
> |
+ "tamp, message FROM messages WHERE id='" + |
42 |
> |
lexical_cast<ext::String>(buddy->getId()) + "'")); |
43 |
> |
std::vector<AwayMessage> messages_; |
44 |
|
|
45 |
< |
messages.push_back(AwayMessage("<font size=3>Ice Cream!</font> :-D", |
46 |
< |
ext::String("Sat, 17 Jul 2004 20:45:32 GMT"))); |
47 |
< |
messages.push_back(AwayMessage(ext::String("<font size=3>Apparently, I hav") |
31 |
< |
+ "e left my computer, isn't that strange?</font> :-P", ext::String('S') |
32 |
< |
+ "at, 17 Jul 2004 21:39:13 GMT")); |
45 |
> |
while (messages->MoveNext()) |
46 |
> |
messages_.push_back(AwayMessage(messages->GetString("message"), |
47 |
> |
messages->GetString("stamp"))); |
48 |
|
|
49 |
< |
Rss rss(buddy, messages); |
49 |
> |
Rss rss(*buddy, messages_, stamp); |
50 |
> |
} |
51 |
|
} |