ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/zoe/trunk/Buddy.cpp
Revision: 63
Committed: 2004-09-17T16:35:17-07:00 (20 years, 9 months ago) by douglas
File size: 1535 byte(s)
Log Message:
Applied Jay's patch, and unapplied its ext::String ordering part.

File Contents

# User Rev Content
1 douglas 12 // Zoe AIM Away Message RSS Feed Generator
2     //
3     // Seth King and Douglas Thrift
4     //
5     // $Id$
6    
7     #include "Zoe.hpp"
8 douglas 46
9     ext::String Buddy::getRssLink() const
10     {
11 douglas 63 ext::String link(this->link);
12 douglas 46
13 douglas 63 return ext::String(link.Begin(), link.FindLast('/')) + "/" + rss;
14 douglas 46 }
15    
16     ext::String Buddy::getAtomLink() const
17     {
18 douglas 63 ext::String link(this->link);
19 douglas 46
20 douglas 63 return ext::String(link.Begin(), link.FindLast('/')) + "/" + atom;
21 douglas 46 }
22 douglas 49
23     ext::String Buddy::getDisplay(const Database& database) const
24     {
25 douglas 59 ext::Handle<dbi::Driver> driver(dbi::GetDriver(database.driver));
26     ext::Handle<dbi::Connection> db(driver->Connect(database.host,
27 douglas 49 database.user, database.password, database.db));
28     ext::Handle<dbi::ResultSet> display(db->Execute("SELECT display "
29     "FROM displays WHERE id='" + lexical_cast<ext::String>(id) + "'"));
30    
31     if (display->MoveNext()) return display->GetString("display");
32     else return login;
33     }
34    
35     void Buddy::setDisplay(const ext::String& display, const Database& database) const
36     {
37 douglas 59 ext::Handle<dbi::Driver> driver(dbi::GetDriver(database.driver));
38     ext::Handle<dbi::Connection> db(driver->Connect(database.host,
39 douglas 49 database.user, database.password, database.db));
40     ext::Handle<dbi::ResultSet> update(db->Execute("SELECT * FROM displays "
41     "WHERE id = '" + lexical_cast<ext::String>(id) + "'"));
42    
43     if (update->MoveNext()) db->Execute("UPDATE displays SET display='"
44     + display + "' WHERE id='" + lexical_cast<ext::String>(id) + "'");
45     else db->Execute("INSERT INTO displays (display, id) VALUES ('" + display
46     + "', '" + lexical_cast<ext::String>(id) + "')");
47     }

Properties

Name Value
svn:eol-style native
svn:keywords Id