libpurple/protocols/myspace/persist.h

Thu, 14 Jun 2007 01:53:58 +0000

author
Jeff Connelly <jeff2@soc.pidgin.im>
date
Thu, 14 Jun 2007 01:53:58 +0000
branch
soc.2007.msimprpl
changeset 17968
c29352b95fa6
parent 17960
0c7d41bbf8d7
child 18013
3238cfe8d879
permissions
-rw-r--r--

Add msim_offline_message() for offline message status. Always return TRUE,
though offline messages are not yet supported. Mainly for sending to users
whose status has not been retrieved yet.

17930
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
1 /* MySpaceIM Protocol Plugin, persist commands
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
2 *
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
3 * Copyright (C) 2007, Jeff Connelly <jeff2@homing.pidgin.im>
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
4 *
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
5 * This program is free software; you can redistribute it and/or modify
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
6 * it under the terms of the GNU General Public License as published by
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
7 * the Free Software Foundation; either version 2 of the License, or
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
8 * (at your option) any later version.
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
9 *
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
10 * This program is distributed in the hope that it will be useful,
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
13 * GNU General Public License for more details.
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
14 *
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
16 * along with this program; if not, write to the Free Software
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
18 */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
19
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
20 #ifndef _MYSPACE_PERSIST_H
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
21 #define _MYSPACE_PERSIST_H
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
22
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
23 /** Command codes */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
24 #define MSIM_CMD_GET 1
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
25 #define MSIM_CMD_PUT 2
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
26 #define MSIM_CMD_DELETE 3
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
27
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
28 /** Command bit fields */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
29 #define MSIM_CMD_BIT_CODE 255 /*< Bits specifying command code */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
30 #define MSIM_CMD_BIT_REPLY 256 /**< 1=reply, 0=request */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
31 #define MSIM_CMD_BIT_ACTION 512 /**< 1=action, 0=information */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
32 #define MSIM_CMD_BIT_ERROR 1024 /**< 1=error, 0=normal */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
33
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
34 /** Macros to read cmd bitfield. */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
35 #define MSIM_CMD_GET_CODE(x) (x & MSIM_CMD_BIT_CODE)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
36 #define MSIM_CMD_IS_REPLY(x) (x & MSIM_CMD_BIT_REPLY)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
37 #define MSIM_CMD_IS_REQUEST(x) !(x & MSIM_CMD_BIT_REPLY)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
38 #define MSIM_CMD_IS_ACTION(x) (x & MSIM_CMD_BIT_ACTION)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
39 #define MSIM_CMD_IS_INFO(x) !(x & MSIM_CMD_BIT_ACTION)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
40 #define MSIM_CMD_IS_ERROR(x) (x & MSIM_CMD_BIT_ERROR)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
41 #define MSIM_CMD_IS_NORMAL(x) !(x & MSIM_CMD_BIT_ERROR)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
42
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
43 /** Define a set of _DSN and _LID constants for a persistance request. */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
44 #define MSIM_PERSIST_DSN_LID(name,dsn,lid) \
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
45 const int name##_DSN = dsn; \
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
46 const int name##_LID = lid;
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
47
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
48 /* Can't do this, errors:
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
49 * persist.h:51:3: error: '#' is not followed by a macro parameter
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
50 * In file included from myspace.c:37:
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
51 * persist.h:56: error: expected ')' before numeric constant
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
52 * So instead, I define const ints above.
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
53 #define MSIM_PERSIST_DSN_LID(name,dsn,lid) \
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
54 #define name##_DSN dsn \
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
55 #define name##_LID lid
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
56 #endif
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
57 */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
58
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
59 /** Messages to Get information */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
60 MSIM_PERSIST_DSN_LID(MG_LIST_ALL_CONTACTS, 0, 1)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
61 MSIM_PERSIST_DSN_LID(MG_USER_INFO_BY_ID, 0, 2)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
62 MSIM_PERSIST_DSN_LID(MG_IM_INFO_BY_ID, 1, 17)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
63 MSIM_PERSIST_DSN_LID(MG_LIST_ALL_GROUPS, 2, 6)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
64 MSIM_PERSIST_DSN_LID(MG_MYSPACE_INFO_BY_ID, 4, 3)
17960
0c7d41bbf8d7 Several small changes to work towards a working msim_remove_buddy():
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 17932
diff changeset
65 MSIM_PERSIST_DSN_LID(MG_OWN_MYSPACE_INFO, 4, 5)
17930
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
66 MSIM_PERSIST_DSN_LID(MG_MYSPACE_INFO_BY_STRING, 5, 7)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
67 MSIM_PERSIST_DSN_LID(MG_CHECK_MAIL, 7, 18)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
68 MSIM_PERSIST_DSN_LID(MG_WEB_CHALLENGE, 17, 26)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
69 MSIM_PERSIST_DSN_LID(MG_USER_SONG, 21, 28)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
70 MSIM_PERSIST_DSN_LID(MG_SERVER_INFO, 101, 20)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
71
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
72 /** Messages to Change/send information */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
73 MSIM_PERSIST_DSN_LID(MC_USER_PREFERENCES, 1, 10)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
74 MSIM_PERSIST_DSN_LID(MC_CONTACT_INFO, 0, 9)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
75 MSIM_PERSIST_DSN_LID(MC_INVITE, 16, 25)
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
76
17932
0d1fa8f1bf22 Add delete buddy.
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 17930
diff changeset
77 /** Messages to Delete information */
0d1fa8f1bf22 Add delete buddy.
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 17930
diff changeset
78 MSIM_PERSIST_DSN_LID(MD_DELETE_BUDDY, 0, 8)
0d1fa8f1bf22 Add delete buddy.
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 17930
diff changeset
79
17930
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
80 /** Error codes */
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
81 #define MERR_PARSE 1
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
82 #define MERR_NOT_LOGGED_IN 2
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
83 #define MERR_ANOTHER_LOGIN 6
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
84 #define MERR_BAD_EMAIL 259
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
85 #define MERR_BAD_PASSWORD 260
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
86 #define MERR_BAD_UID_IN_PERSISTR 4352
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
87
d8908611bf64 Use symbolic constants for persist messages.
Jeff Connelly <jeff2@soc.pidgin.im>
parents:
diff changeset
88 #endif /* !_MYSPACE_PERSIST_H */

mercurial