WIP: Added last activity request and response

This commit is contained in:
James Booth
2015-09-29 00:01:38 +01:00
parent a12624ea75
commit 26d160cae8
11 changed files with 211 additions and 2 deletions

View File

@@ -695,6 +695,23 @@ static struct cmd_t command_defs[] =
"/disco info myfriend@server.com/laptop")
},
{ "/lastactivity",
cmd_lastactivity, parse_args, 0, 1, NULL,
CMD_TAGS(
CMD_TAG_PRESENCE)
CMD_SYN(
"/lastactivity [<jid>]")
CMD_DESC(
"Send a last activity query to the supplied JID, omitting the JID will send the query to your server.")
CMD_ARGS(
{ "<jid>", "The JID of the entity to which the query will be sent." })
CMD_EXAMPLES(
"/lastactivity",
"/lastactivity alice@securechat.org",
"/lastactivity alice@securechat.org/laptop",
"/lastactivity someserver.com")
},
{ "/nick",
cmd_nick, parse_args_with_freetext, 1, 1, NULL,
CMD_TAGS(

View File

@@ -3261,6 +3261,31 @@ cmd_disco(ProfWin *window, const char * const command, gchar **args)
return TRUE;
}
gboolean
cmd_lastactivity(ProfWin *window, const char * const command, gchar **args)
{
jabber_conn_status_t conn_status = jabber_get_connection_status();
if (conn_status != JABBER_CONNECTED) {
cons_show("You are not currenlty connected.");
return TRUE;
}
if (args[0] == NULL) {
Jid *jidp = jid_create(jabber_get_fulljid());
GString *jid = g_string_new(jidp->domainpart);
iq_last_activity_request(jid->str);
g_string_free(jid, TRUE);
jid_destroy(jidp);
} else {
iq_last_activity_request(args[0]);
}
return TRUE;
}
gboolean
cmd_nick(ProfWin *window, const char * const command, gchar **args)
{

View File

@@ -85,6 +85,7 @@ gboolean cmd_connect(ProfWin *window, const char * const command, gchar **args);
gboolean cmd_tls(ProfWin *window, const char * const command, gchar **args);
gboolean cmd_decline(ProfWin *window, const char * const command, gchar **args);
gboolean cmd_disco(ProfWin *window, const char * const command, gchar **args);
gboolean cmd_lastactivity(ProfWin *window, const char * const command, gchar **args);
gboolean cmd_disconnect(ProfWin *window, const char * const command, gchar **args);
gboolean cmd_dnd(ProfWin *window, const char * const command, gchar **args);
gboolean cmd_flash(ProfWin *window, const char * const command, gchar **args);