00001 /* $Id: moros.h jjs $ */ 00002 /* 00003 Copyright (C) 2007 by Jurjen Stellingwerff <jurjen@stwerff.xs4all.nl> 00004 Part of the Moros Project http://moros.sourceforge.net/ 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License. 00008 This program is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY. 00010 00011 See the COPYING file for more details. 00012 */ 00013 00014 #ifndef MOROS_H 00015 #define MOROS_H 00016 00017 #include <string> 00018 #include <map> 00019 #include "list_games.h" 00020 #include "../general/communicate.h" 00021 #include "login.h" 00022 #include "cache.h" 00023 00024 #define AUTH_PORT 12001 00025 #define DATA_PORT 12002 00026 00059 00060 00061 class moros { 00062 public: 00063 moros(); 00064 ~moros(); 00065 void config(); 00066 std::string config_file; 00067 std::map<std::string, std::string> users; 00068 std::string user; 00069 std::string url; 00070 std::string central; 00071 communicate comm; 00072 channel *cent_ch; 00073 list_games *game_list; 00074 cache img_cache; 00075 bool comm_poll(); 00076 bool login_central; 00077 bool login_chat; 00078 bool login_game; 00079 std::string current_game; 00080 void config_handler(channel *ch); 00081 void login_handler(channel *ch); 00082 void data_handler(channel *ch); 00083 bool update_games(); 00084 login *login_win; 00085 void ip_addr(std::string host); 00086 void main_loop(Gtk::Main kit); 00087 }; 00088 00089 extern moros *game_data; 00090 00091 extern Glib::RefPtr<Gnome::Glade::Xml> refXml; 00092 00093 #endif // MOROS_H