ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/zoe/trunk/Collector.cpp
(Generate patch)

Comparing trunk/Collector.cpp (file contents):
Revision 35 by douglas, 2004-07-21T20:43:31-07:00 vs.
Revision 37 by douglas, 2004-07-22T16:00:52-07:00

# Line 30 | Line 30 | Collector::Collector(const ext::String&
30  
31   int Collector::collect()
32   {
33 <        cerr << bright << green << "Collector::collect()\n" << reset;
33 >        cerr << bright << green << "Started collector daemon.\n" << reset;
34  
35          net::Oscar::Session session;
36          net::Oscar::AuthTool auth(session);
# Line 89 | Line 89 | void Collector::status(const net::Oscar:
89          {
90                  ext::Handle<dbi::Connection> db(dbi::Connect(database.driver, database.host, database.user, database.password,
91                          database.db));
92 <                ext::Handle<dbi::ResultSet> previous(db->Execute("SELECT message FROM messages WHERE stamp=(SELECT MAX(stamp) "
93 <                        "FROM messages WHERE id='" + lexical_cast<ext::String>(buddy.getId()) + "') AND id='"
92 >                ext::Handle<dbi::ResultSet> previous(db->Execute("SELECT message FROM messages "
93 >                        "WHERE stamp=(SELECT MAX(stamp) FROM messages WHERE id='"
94 >                        + lexical_cast<ext::String>(buddy.getId()) + "') AND id='"
95                          + lexical_cast<ext::String>(buddy.getId()) + "'"));
96  
97 <                if (previous->MoveNext()) if (ext::String(message) == previous->GetString("message")) return;
97 >                if (previous->MoveNext())
98 >                {
99 >                        if (ext::String(message) == previous->GetString("message")) return;
100 >                }
101 >
102 >                db->Execute("INSERT INTO messages (stamp, message, id) VALUES ('"
103 >                        + ext::String(message.getStamp()) + "', '" + db->Escape(message)
104 >                        + "', '" + lexical_cast<ext::String>(buddy.getId()) + "')");
105  
106 <                cerr << bright << red << "Collector::status(" << blue << buddy << red << ", " << reset << message << bright << red
107 <                        << ")\n" << reset;
100 <
101 <                db->Execute("INSERT INTO messages (stamp, message, id) VALUES ('" + ext::String(message.getStamp()) + "', '"
102 <                        + db->Escape(message) + "', '" + lexical_cast<ext::String>(buddy.getId()) + "')");
106 >                cerr << bright << red << "Collected away message from " << blue << buddy
107 >                        << red << ".\n" << reset;
108          }
109   }
110  
111   void Collector::receive(const ext::String& buddy, const ext::String& message)
112   {
113 <        cerr << bright << red << "Collector::receive(" << blue << Buddy(buddy) << red << ", " << reset << message << bright
114 <                << red << ")\n" << reset;
113 >        if (Zoe::debug) cerr << "buddy = " << Buddy(buddy) << "\nmessage = "
114 >                << message << '\n';
115  
116          if (buddies.find(buddy) != buddies.end())
117          {
118 <                Stamp stamp;
118 >                Buddy buddy_(*buddies.find(buddy));
119                  
120                  sleep(1);
121  
122 <                icbm->Simple(buddy, ext::String(stamp) + " " + lexical_cast<ext::String>(std::time(NULL)) + " "
123 <                        + lexical_cast<ext::String>(api::GetWallTimerSeconds()));
122 >                icbm->Simple(buddy, ext::String(buddy_) + " = {\n   rss = "
123 >                        + buddy_.getRss() + "\n   atom = " + buddy_.getAtom() + "\n}");
124          }
125          else
126          {
127                  sleep(1);
128  
129 <                icbm->Simple(buddy, "<font face=\"Tahoma\" size=2>Mommy told me not to talk to strangers.</font> O:-)");
129 >                icbm->Simple(buddy, "<font face=\"Tahoma\" size=2>Mommy told me not to "
130 >                        "talk to strangers.</font> O:-)");
131          }
132   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines