Mercurial > pidgin
comparison src/protocols/oscar/aim.h @ 3595:1e60a05c7482
[gaim-migrate @ 3697]
This adds le non-direct connect typing notification for oscar.
How it works, in a nutshell:
-AIM servers append a flag telling remote clients you support typing
notification
-You tell the AIM servers you support typing notification when you sign
on (by changing the "flags" passed to aim_seticbmparam())
-Clients send little typing notification messages to other clients, but
only when they know that the other client supports it (so after you've
received an IM from the other person)
I also fixed a compile warning or two dealing with SSI stuff.
Things to look out for:
-ICQ states doing weird things
-Typing notification works with MacAIM clients (iChat and the official
one)
-Typing notification doesn't try to send stuff to clients that don't
support (I have no idea how you're supposed to look out for this. It
should be ok)
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 06 Oct 2002 03:08:47 +0000 |
parents | 7a3f16a375a5 |
children | 9682c0e022c6 |
comparison
equal
deleted
inserted
replaced
3594:17e6dd05666a | 3595:1e60a05c7482 |
---|---|
162 0x0004, \ | 162 0x0004, \ |
163 0x0004, \ | 163 0x0004, \ |
164 0x0001, \ | 164 0x0001, \ |
165 0x0000, \ | 165 0x0000, \ |
166 0x07da, \ | 166 0x07da, \ |
167 "us", \ | |
168 "en", \ | |
169 } | |
170 | |
171 #define CLIENTINFO_AIM_5_0_2938 { \ | |
172 "AOL Instant Messenger, version 5.0.2938/WIN32", \ | |
173 0x0109, \ | |
174 0x0005, \ | |
175 0x0000, \ | |
176 0x0000, \ | |
177 0x0b7a, \ | |
167 "us", \ | 178 "us", \ |
168 "en", \ | 179 "en", \ |
169 } | 180 } |
170 | 181 |
171 #define CLIENTINFO_ICQ_4_65_3281 { \ | 182 #define CLIENTINFO_ICQ_4_65_3281 { \ |
713 #define AIM_IMFLAGS_CUSTOMFEATURES 0x0080 /* features field present */ | 724 #define AIM_IMFLAGS_CUSTOMFEATURES 0x0080 /* features field present */ |
714 #define AIM_IMFLAGS_EXTDATA 0x0100 | 725 #define AIM_IMFLAGS_EXTDATA 0x0100 |
715 #define AIM_IMFLAGS_CUSTOMCHARSET 0x0200 /* charset fields set */ | 726 #define AIM_IMFLAGS_CUSTOMCHARSET 0x0200 /* charset fields set */ |
716 #define AIM_IMFLAGS_MULTIPART 0x0400 /* ->mpmsg section valid */ | 727 #define AIM_IMFLAGS_MULTIPART 0x0400 /* ->mpmsg section valid */ |
717 #define AIM_IMFLAGS_OFFLINE 0x0800 /* send to offline user */ | 728 #define AIM_IMFLAGS_OFFLINE 0x0800 /* send to offline user */ |
729 #define AIM_IMFLAGS_TYPINGNOT 0x1000 /* typing notification */ | |
718 | 730 |
719 /* | 731 /* |
720 * Multipart message structures. | 732 * Multipart message structures. |
721 */ | 733 */ |
722 typedef struct aim_mpmsg_section_s { | 734 typedef struct aim_mpmsg_section_s { |
882 | 894 |
883 faim_export int aim_send_im_ch2_geticqmessage(aim_session_t *sess, const char *sn, int type); | 895 faim_export int aim_send_im_ch2_geticqmessage(aim_session_t *sess, const char *sn, int type); |
884 faim_export aim_conn_t *aim_sendfile_initiate(aim_session_t *, const char *destsn, const char *filename, fu16_t numfiles, fu32_t totsize); | 896 faim_export aim_conn_t *aim_sendfile_initiate(aim_session_t *, const char *destsn, const char *filename, fu16_t numfiles, fu32_t totsize); |
885 faim_export int aim_send_im_ch4(aim_session_t *sess, char *sn, fu16_t type, fu8_t *message); | 897 faim_export int aim_send_im_ch4(aim_session_t *sess, char *sn, fu16_t type, fu8_t *message); |
886 | 898 |
899 faim_export int aim_mtn_send(aim_session_t *sess, fu16_t type1, char *sn, fu16_t type2); | |
900 | |
887 faim_export aim_conn_t *aim_getfile_initiate(aim_session_t *sess, aim_conn_t *conn, const char *destsn); | 901 faim_export aim_conn_t *aim_getfile_initiate(aim_session_t *sess, aim_conn_t *conn, const char *destsn); |
888 faim_export int aim_oft_getfile_request(aim_session_t *sess, aim_conn_t *conn, const char *name, int size); | 902 faim_export int aim_oft_getfile_request(aim_session_t *sess, aim_conn_t *conn, const char *name, int size); |
889 faim_export int aim_oft_getfile_ack(aim_session_t *sess, aim_conn_t *conn); | 903 faim_export int aim_oft_getfile_ack(aim_session_t *sess, aim_conn_t *conn); |
890 faim_export int aim_oft_getfile_end(aim_session_t *sess, aim_conn_t *conn); | 904 faim_export int aim_oft_getfile_end(aim_session_t *sess, aim_conn_t *conn); |
891 | 905 |
1070 faim_export int aim_ssi_getpermdeny(struct aim_ssi_item *list); | 1084 faim_export int aim_ssi_getpermdeny(struct aim_ssi_item *list); |
1071 faim_export fu32_t aim_ssi_getpresence(struct aim_ssi_item *list); | 1085 faim_export fu32_t aim_ssi_getpresence(struct aim_ssi_item *list); |
1072 faim_export int aim_ssi_cleanlist(aim_session_t *sess, aim_conn_t *conn); | 1086 faim_export int aim_ssi_cleanlist(aim_session_t *sess, aim_conn_t *conn); |
1073 faim_export int aim_ssi_addbuddies(aim_session_t *sess, aim_conn_t *conn, const char *gn, const char **sn, unsigned int num); | 1087 faim_export int aim_ssi_addbuddies(aim_session_t *sess, aim_conn_t *conn, const char *gn, const char **sn, unsigned int num); |
1074 faim_export int aim_ssi_addmastergroup(aim_session_t *sess, aim_conn_t *conn); | 1088 faim_export int aim_ssi_addmastergroup(aim_session_t *sess, aim_conn_t *conn); |
1075 faim_export int aim_ssi_addgroups(aim_session_t *sess, aim_conn_t *conn, char **gn, unsigned int num); | 1089 faim_export int aim_ssi_addgroups(aim_session_t *sess, aim_conn_t *conn, const char **gn, unsigned int num); |
1076 faim_export int aim_ssi_addpord(aim_session_t *sess, aim_conn_t *conn, const char **sn, unsigned int num, fu16_t type); | 1090 faim_export int aim_ssi_addpord(aim_session_t *sess, aim_conn_t *conn, const char **sn, unsigned int num, fu16_t type); |
1077 faim_export int aim_ssi_movebuddy(aim_session_t *sess, aim_conn_t *conn, char *oldgn, char *newgn, char *sn); | 1091 faim_export int aim_ssi_movebuddy(aim_session_t *sess, aim_conn_t *conn, char *oldgn, char *newgn, char *sn); |
1078 faim_export int aim_ssi_rename_group(aim_session_t *sess, aim_conn_t *conn, char *oldgn, char *newgn); | 1092 faim_export int aim_ssi_rename_group(aim_session_t *sess, aim_conn_t *conn, char *oldgn, char *newgn); |
1079 faim_export int aim_ssi_delbuddies(aim_session_t *sess, aim_conn_t *conn, char *gn, char **sn, unsigned int num); | 1093 faim_export int aim_ssi_delbuddies(aim_session_t *sess, aim_conn_t *conn, char *gn, char **sn, unsigned int num); |
1080 faim_export int aim_ssi_delmastergroup(aim_session_t *sess, aim_conn_t *conn); | 1094 faim_export int aim_ssi_delmastergroup(aim_session_t *sess, aim_conn_t *conn); |