// Zoe AIM Away Message RSS Feed Generator // // Seth King and Douglas Thrift // // $Id$ #ifndef _Zoe_hpp_ #define _Zoe_hpp_ #include using std::cin; using std::cout; using std::cerr; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include struct Database { ext::String driver, host, user, password, db; }; #include "Buddy.hpp" class Zoe { private: ext::String login, password; Database database; std::set buddies; void configure(); void initialize(); public: Zoe(); enum Generator { all, agent, url, version }; static bool debug, collector, publisher, color; static ext::String program, config; static void usage(); static ext::String generator(Generator generator = all); }; enum Color { reset, bright, dim, underscore = 4, blink, reverse = 7, hidden, black = 30, red, green, yellow, blue, magenta, cyan, white, _black = 40, _red, _green, _yellow, _blue, _magenta, _cyan, _white }; inline std::ostream& operator<<(std::ostream& sout, Color color) { return Zoe::color ? sout << "\033[" << unsigned(color) << 'm' : sout; } #endif // _Zoe_hpp_