X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Ff2fchat.git;a=blobdiff_plain;f=f2fchat.c;h=05e6a5b42885946075b0877a5ff8edb14176cd18;hp=711811c1f3fe50a9699275074b49ac10940c2d78;hb=HEAD;hpb=7bd08019546f408c793e1c0391fcf5d547a4e085 diff --git a/f2fchat.c b/f2fchat.c index 711811c..05e6a5b 100644 --- a/f2fchat.c +++ b/f2fchat.c @@ -16,7 +16,42 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include "friend.h" +#include +#include +#include "menu.h" + +static GMainLoop *uloop; + +static void quit(gchar **args, GSocketAddress *address) +{ + g_main_loop_quit(uloop); +} + +static struct menu_item quit_menu = { "quit", quit }; + +static void add_quit_cmd(GMainLoop *loop) +{ + uloop = loop; + menu_add(&quit_menu); +} + int main(int argc, char **argv) { + struct cache *cache; + GMainLoop *loop; + g_type_init(); + if (sock_init()) { + fprintf(stderr, "Error creating socket.\n"); + return 1; + } + friend_init(); + create_cache(&cache); + load_cache(cache, "friends.cache"); + loop = g_main_loop_new(g_main_context_default(), TRUE); + add_quit_cmd(loop); + g_main_loop_run(loop); + store_cache(cache, "friends.cache"); + destroy_cache(cache); return 0; }