Mercurial > pidgin.yaz
annotate libfaim/README.gaim @ 248:cfc73b8501a7
[gaim-migrate @ 258]
Oscar chat is there now. Adam will be happy, that's the only thing he asked
me specifically about.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sun, 21 May 2000 11:58:18 +0000 |
parents | f6e8ea29b24f |
children | 810c595258c8 |
rev | line source |
---|---|
237 | 1 Hello, your good friend EW here with a nice little notice that I'm sure will |
2 affect the ten of you who actually read this. | |
3 | |
4 I'm going to start trying to get gaim to use Oscar through libfaim. As far as I | |
5 can tell, the only thing it used to be able to do is sign on and receive IMs. I | |
6 updated libfaim to what's currently in the libfaim CVS on sourceforge. As of | |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
7 right now, I've been able to implement most of the features libfaim offers. |
237 | 8 |
9 I'm going to try to make as few modifications as possible to the libfaim code. | |
10 The only two modifications I'll probably ever make to it are 1) to make my life | |
11 easier (like putting all the .h files in the same directory as the .c files) or | |
12 2) to fix a compilation error that I happen to be able to fix very easily (like | |
13 with a typo or something). That means that what you're getting when you enable | |
14 oscar is basically faimtest (the very instructional program included with the | |
15 libfaim source on sourceforge) with the Gaim GTK front-end. I'll put any changes | |
16 I make into a file, but so far, I haven't made any changes other than moving the | |
17 .h files down a directory. | |
18 | |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
19 CURRENTLY SUPPORTED FEATURES |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
20 ============================ |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
21 Signing on |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
22 Sending IMs |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
23 Receiving IMs |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
24 Being away/coming back |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
25 Being idle |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
26 Setting your info |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
27 Getting other users' info |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
28 Telling the server who's on your permit/deny lists (buggy) |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
29 Chat: |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
30 - joining rooms |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
31 - leaving rooms |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
32 - talking |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
33 |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
34 CURRENTLY UNSUPPORTED FEATURES |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
35 ============================== |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
36 Warning users/getting warned |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
37 Chat: |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
38 - whispering |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
39 - refreshing the chatlist in the preferences dialog |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
40 - invitations (both to and from you) |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
41 Getting users' away messages |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
42 Getting/setting dir info |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
43 Changing your password |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
44 File transfer/IM images/voice chat/etc. |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
45 |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
46 KNOWN ISSUES |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
47 ============ |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
48 - libfaim apparently has a problem with receiving messages to fast (sort of). If |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
49 someone sends you a message "too fast", the server says "slow down" basically, |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
50 and lets you know that a message was dropped. The time interval between messages |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
51 seems to be much longer with libfaim than with TOC (i.e. you can receive more |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
52 messages in less time with TOC than with libfaim). The outgoing limit seems to |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
53 be about the same. So if all your friends are slow typists, this shouldn't be a |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
54 problem. |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
55 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
56 - Signing on every once in a while acts really bizarrely for me. Maybe it's just |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
57 me. |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
58 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
59 - Adding or removing people to your permit/deny lists causes the server to tell |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
60 you everyone on your buddy list signed off and then immediately signed in again. |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
61 While you won't ever see that it happens (other than everyone will suddenly have |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
62 the guy-in-the-door icon), you'll hear it. Be warned. |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
63 |
237 | 64 HOW TO HELP |
65 =========== | |
66 So here's what you can do in order to help gaim use libfaim. There are basically | |
67 3 steps: | |
68 | |
69 1) In server.c, find an #ifndef USE_OSCAR tag that doesn't have a corresponding | |
70 #else. Find it in a good fun function that you want to implement. Basically | |
71 copy the code from the TOC side for the Oscar side. For example: | |
72 | |
73 void serv_send_im(char *name, char *message, int away) | |
74 { | |
75 char buf[MSG_LEN - 7]; | |
76 | |
77 #ifndef USE_OSCAR | |
78 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), message, ((away) ? " auto" : "")); | |
79 sflap_send(buf, strlen(buf), TYPE_DATA); | |
80 #endif | |
81 if (!away) | |
82 serv_touch_idle(); | |
83 } | |
84 | |
85 becomes: | |
86 | |
87 void serv_send_im(char *name, char *message, int away) | |
88 { | |
89 char buf[MSG_LEN - 7]; | |
90 | |
91 #ifndef USE_OSCAR | |
92 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), | |
93 message, ((away) ? " auto" : "")); | |
94 sflap_send(buf, strlen(buf), TYPE_DATA); | |
95 #else | |
96 oscar_send_im(name, message, away); | |
97 #endif | |
98 if (!away) | |
99 serv_touch_idle(); | |
100 } | |
101 | |
102 2) Edit gaim.h to add the new function (you'll see a list of them in there) | |
103 | |
104 3) Edit oscar.c to implement the new function | |
105 | |
106 Most of the functions you're going to need to call use a session and connection | |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
107 structure. These are kept (globally) in oscar.c as gaim_sess and gaim_conn. For |
237 | 108 example, from above: |
109 | |
110 void oscar_send_im(char *name, char *msg, int away) { | |
111 if (away) | |
112 aim_send_im(gaim_sess, gaim_conn, name, AIM_IMFLAGS_AWAY, msg); | |
113 else | |
114 aim_send_im(gaim_sess, gaim_conn, name, 0, msg); | |
115 } | |
116 | |
117 That should be all that's needed. And that's that. Happy hacking. |