From 427d37e3a9491554f92f6f5ff946daa2b40665bb Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Sun, 17 May 2009 21:08:39 -0300 Subject: [PATCH] Create command to publish tune. Only publish artist for now. --- status.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/status.c b/status.c index f4c0d5f..ada4d0a 100644 --- a/status.c +++ b/status.c @@ -134,6 +134,37 @@ pushmood (iksparser *parser, char *node, char *line) iks_delete (iq); } +iks * +createtune (char *line) +{ + iks *tune; + tune = iks_new ("tune"); + iks_insert_attrib (tune, "xmlns", "http://jabber.org/protocol/tune"); + iks_insert_cdata (iks_insert (tune, "artist"), line, 0); + return tune; +} + +void +pushtune (iksparser *parser, char *node, char *line) +{ + iks *iq; + iks *query; + iks *publish; + iks *item; + iks *tune; + iq = createiq ("set", pbservice, "pubsub", + "http://jabber.org/protocol/pubsub", &query); + publish = iks_insert (query, "publish"); + iks_insert_attrib (publish, "node", node); + item = iks_insert (publish, "item"); + tune = createtune (line); + iks_insert_node (item, tune); + printf ("debug: %s\n", iks_string (iks_stack (iq), iq)); + iks_send (parser, iq); + iks_delete (iq); +} + + void process_mood (iksparser *parser, char *cmdline) { @@ -157,6 +188,12 @@ process_mood (iksparser *parser, char *cmdline) node = "http://jabber.org/protocol/mood"; pushmood (parser, node, cmdline); } + else if (!strcmp (cmd, "tune")) + { + char *node; + node = "http://jabber.org/protocol/tune"; + pushtune (parser, node, cmdline); + } free (orig_cmdline); } -- 2.20.1