00001 #include "main.h"
00002
00003 void
00004 show_status()
00005 {
00006 char retstr[255];
00007 char tmpstr[50];
00008 time_t curtime;
00009 xode x, y;
00010
00011 x = xode_new("status");
00012 y = xode_insert_tag(x, "user");
00013 xode_insert_cdata(y, jab_c->user->user, strlen(jab_c->user->user) + 1);
00014 y = xode_insert_tag(x, "server");
00015 xode_insert_cdata(y, jab_c->user->server, strlen(jab_c->user->server) + 1);
00016 y = xode_insert_tag(x, "resource");
00017 xode_insert_cdata(y, jab_c->user->resource, strlen(jab_c->user->resource) + 1);
00018 y = xode_insert_tag(x, "version");
00019 xode_insert_cdata(y, VERSION, strlen(VERSION) + 1);
00020 y = xode_insert_tag(x, "machinetype");
00021 xode_insert_cdata(y, MACHINE_TYPE, strlen(MACHINE_TYPE) + 1);
00022
00023 curtime = time(NULL);
00024 strftime(tmpstr, 50, "%A %B %e, %Y %I:%M %p", localtime(&curtime));
00025 y = xode_insert_tag(x, "localtime");
00026 xode_insert_cdata(y, tmpstr, strlen(tmpstr) + 1);
00027
00028 strftime(tmpstr, 50, "%A %B %e, %Y %I:%M %p", localtime(&jab_connect_time));
00029 y = xode_insert_tag(x, "connecttime");
00030 xode_insert_cdata(y, tmpstr, strlen(tmpstr) + 1);
00031
00032 y = xode_insert_tag(x, "connectstate");
00033 xode_insert_cdata(y, jab_contype_to_ascii(jab_c->state),
00034 strlen(jab_contype_to_ascii(jab_c->state)) + 1);
00035
00036 list_agents(x);
00037
00038 y = xode_insert_tag(x, "bugreport");
00039 xode_insert_cdata(y, PACKAGE_BUGREPORT, strlen(PACKAGE_BUGREPORT) + 1);
00040
00041 jwg_servsend(jwg_c, x);
00042 xode_free(x);
00043 }