libpurple/protocols/jabber/usertune.h

Thu, 20 Mar 2008 02:59:50 +0000

author
Etan Reisner <deryni@pidgin.im>
date
Thu, 20 Mar 2008 02:59:50 +0000
changeset 22664
d2e81c1408ae
parent 17800
39a0f9ed0e26
child 26703
17f9a4bef2a3
permissions
-rw-r--r--

If the default value of a list-single or list-multi data forms field is NULL
(<value/> or <value></value>) don't stick NULL in the selected list (this will
crash in the g_list_find_custom call later).

17791
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
1 /*
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
2 * purple - Jabber Protocol Plugin
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
3 *
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
4 * Copyright (C) 2007, Andreas Monitzer <andy@monitzer.com>
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
5 *
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
9 * (at your option) any later version.
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
10 *
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful,
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
14 * GNU General Public License for more details.
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
15 *
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
19 *
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
20 */
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
21
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
22 #ifndef _PURPLE_JABBER_USERTUNE_H_
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
23 #define _PURPLE_JABBER_USERTUNE_H_
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
24
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
25 #include "jabber.h"
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
26
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
27 /* Implementation of XEP-0118 */
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
28
17800
39a0f9ed0e26 Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents: 17791
diff changeset
29 typedef struct _PurpleJabberTuneInfo PurpleJabberTuneInfo;
39a0f9ed0e26 Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents: 17791
diff changeset
30 struct _PurpleJabberTuneInfo {
39a0f9ed0e26 Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents: 17791
diff changeset
31 char *artist;
39a0f9ed0e26 Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents: 17791
diff changeset
32 char *title;
39a0f9ed0e26 Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents: 17791
diff changeset
33 char *album;
39a0f9ed0e26 Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents: 17791
diff changeset
34 char *track; /* either the index of the track in the album or the URL for a stream */
39a0f9ed0e26 Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents: 17791
diff changeset
35 int time; /* in seconds, -1 for unknown */
39a0f9ed0e26 Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents: 17791
diff changeset
36 char *url;
39a0f9ed0e26 Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents: 17791
diff changeset
37 };
39a0f9ed0e26 Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents: 17791
diff changeset
38
17791
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
39 void jabber_tune_init(void);
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
40
17800
39a0f9ed0e26 Replaced a clean and simple API with a very weird hack due to vivid request on #pidgin by multiple devs. This avoids the change in PurplePluginProtocolInfo, but requires complicated change tracking in every prpl. The others prpl should add this change tracking, too (since otherwise the status gets changed even though nothing they care about changed), but that's not up to me.
Andreas Monitzer <am@adiumx.com>
parents: 17791
diff changeset
41 void jabber_tune_set(PurpleConnection *gc, const PurpleJabberTuneInfo *tuneinfo);
17791
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
42
b947d72db9db Implemented user tune, currently untested.
Andreas Monitzer <am@adiumx.com>
parents:
diff changeset
43 #endif /* _PURPLE_JABBER_USERTUNE_H_ */

mercurial