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

Comparing trunk/Zoe.cpp (file contents):
Revision 5 by douglas, 2004-07-09T15:04:18-07:00 vs.
Revision 8 by douglas, 2004-07-09T18:13:27-07:00

# Line 9 | Line 9
9  
10   int main(int argc, char* argv[])
11   {
12 <        //
12 >        Zoe::program = argv[0];
13 >
14 >        for (int index(1); index < argc; ++index)
15 >        {
16 >                ext::String arg(argv[index]);
17 >                Matcher matcher;
18 >
19 >                if (arg == matcher("^-config=(.*)$"))
20 >                {
21 >                        Zoe::config = matcher[1];
22 >                }
23 >                else if (arg == "-D")
24 >                {
25 >                        if (!Zoe::debug) Zoe::debug = true;
26 >                }
27 >                else
28 >                {
29 >                        cerr << "Usage: " << Zoe::program << " [-config=config] [-D]\n";
30 >                }
31 >        }
32 >
33 >        Zoe zoe;
34  
35          return 0;
36   }
37 +
38 + Zoe::Zoe() : rss("zoe.rss")
39 + {
40 +        configure();
41 +
42 +        // This is just to figure out Jay's XML output, seems to have worked!
43 +        xml::TextWriter rss(api::Cout.GetStream());
44 +        xml::ScopeElement root(rss, "rss");
45 +
46 +        rss.SetAttribute("version", "2.0");
47 +
48 +        xml::ScopeElement channel(rss, "channel");
49 +
50 +        rss.OpenElement("title");
51 +        rss.OutputText("Zoe's Away Messages");
52 +        rss.CloseElement();
53 +        rss.OpenElement("link");
54 +        rss.OutputText("http://computers.douglasthrift.net/zoe.xml");
55 +        rss.CloseElement();
56 + }
57 +
58 + bool Zoe::debug(false);
59 + ext::String Zoe::program, Zoe::config("zoe.xml");
60 +
61 + void Zoe::configure()
62 + {
63 +        ext::Handle<xml::Document> document(xml::Parse(config));
64 +        ext::Handle<xml::Node> zoe(*document/"zoe");
65 +
66 +        login = *zoe/"login";
67 +        password = *zoe/"password";
68 +
69 +        if (!(*zoe/"rss").IsEmpty()) rss = *zoe/"rss";
70 + }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines