Mercurial > pidgin
annotate libfaim/README.gaim @ 250:c5aa7bf99059
[gaim-migrate @ 260]
Mostly just touch-ups to the README.gaim file, and a couple FIXME's thrown
about in oscar.c
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Mon, 22 May 2000 15:43:11 +0000 |
parents | 810c595258c8 |
children | b1ff272bc495 |
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 | |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
19 And finally, a word of warning. Gaim/Faim is VERY buggy. It'll screw with your |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
20 .gaimrc file. It won't always sign on right. It uses all your CPU. Please, don't |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
21 use this for anything other than laughs right now. Hopefully we'll get it |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
22 working better soon (please help!). |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
23 |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
24 CURRENTLY SUPPORTED FEATURES |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
25 ============================ |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
26 Signing on |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
27 Sending IMs |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
28 Receiving IMs |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
29 Being away/coming back |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
30 Being idle |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
31 Setting your info |
249
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
32 Getting users' info |
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
33 Getting users' away messages (PLEASE do not use oscar/libfaim just because of |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
34 this, gaim with libfaim is still really buggy, none of you will listen |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
35 to me anyway) |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
36 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
|
37 Chat: |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
38 - joining rooms |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
39 - leaving rooms |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
40 - talking |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
41 |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
42 CURRENTLY UNSUPPORTED FEATURES |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
43 ============================== |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
44 Warning users/getting warned |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
45 Chat: |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
46 - whispering |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
47 - refreshing the chatlist in the preferences dialog |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
48 - invitations (both to and from you) |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
49 Getting/setting dir info |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
50 Changing your password |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
51 File transfer/IM images/voice chat/etc. |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
52 |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
53 KNOWN ISSUES |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
54 ============ |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
55 - libfaim apparently has a problem with receiving messages too fast (sort of). |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
56 You can receive more messages in less time with TOC than with libfaim. It's not |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
57 completely libfaim's fault though. |
248
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 - Signing on every once in a while acts really bizarrely for me. Maybe it's just |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
60 me. I think it has something to do with the horrible lack of error checking and |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
61 recovery on gaim's part. |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
62 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
63 - 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
|
64 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
|
65 While you won't ever see that it happens (other than everyone will suddenly have |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
66 the guy-in-the-door icon), you'll hear it. Be warned. (This also happens at |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
67 sign-on, because the list gets built, even if you don't have a list.) |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
68 |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
69 - It doesn't set the current_user in .gaimrc correctly, so the users listed in |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
70 there will get really warped. Don't worry, it's just a problem with the .gaimrc, |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
71 but it's an annoying one. |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
72 |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
73 - Oh, yeah, by the way, it'll eat up all your CPU. (Someone please fix this, |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
74 there's a nice FIXME near the top of oscar.c that says what the problem is.) |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
75 |
237 | 76 HOW TO HELP |
77 =========== | |
78 So here's what you can do in order to help gaim use libfaim. There are basically | |
79 3 steps: | |
80 | |
81 1) In server.c, find an #ifndef USE_OSCAR tag that doesn't have a corresponding | |
82 #else. Find it in a good fun function that you want to implement. Basically | |
83 copy the code from the TOC side for the Oscar side. For example: | |
84 | |
85 void serv_send_im(char *name, char *message, int away) | |
86 { | |
87 char buf[MSG_LEN - 7]; | |
88 | |
89 #ifndef USE_OSCAR | |
90 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), message, ((away) ? " auto" : "")); | |
91 sflap_send(buf, strlen(buf), TYPE_DATA); | |
92 #endif | |
93 if (!away) | |
94 serv_touch_idle(); | |
95 } | |
96 | |
97 becomes: | |
98 | |
99 void serv_send_im(char *name, char *message, int away) | |
100 { | |
101 char buf[MSG_LEN - 7]; | |
102 | |
103 #ifndef USE_OSCAR | |
104 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), | |
105 message, ((away) ? " auto" : "")); | |
106 sflap_send(buf, strlen(buf), TYPE_DATA); | |
107 #else | |
108 oscar_send_im(name, message, away); | |
109 #endif | |
110 if (!away) | |
111 serv_touch_idle(); | |
112 } | |
113 | |
114 2) Edit gaim.h to add the new function (you'll see a list of them in there) | |
115 | |
116 3) Edit oscar.c to implement the new function | |
117 | |
118 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
|
119 structure. These are kept (globally) in oscar.c as gaim_sess and gaim_conn. For |
237 | 120 example, from above: |
121 | |
122 void oscar_send_im(char *name, char *msg, int away) { | |
123 if (away) | |
124 aim_send_im(gaim_sess, gaim_conn, name, AIM_IMFLAGS_AWAY, msg); | |
125 else | |
126 aim_send_im(gaim_sess, gaim_conn, name, 0, msg); | |
127 } | |
128 | |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
129 That should be all that's needed. |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
130 |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
131 There are also FIXME's scattered about oscar.c. Grep around for those, figure |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
132 out what needs to be fixed, do that sort of thing. :) (Fixing the things listed |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
133 in KNOWN ISSUES above, or any other bugs you happen to find, is a very good use |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
134 of your time.) (You didn't hear that from me.) |