Mercurial > pidgin.yaz
annotate libfaim/README.gaim @ 247:f6e8ea29b24f
[gaim-migrate @ 257]
OSCAR:
getting a user's info now displays in the dialog window as opposed
to the debug window
you can add people to your permit/deny list (but be warned - you
will get a lot of noise if you do)
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sat, 20 May 2000 23:00:20 +0000 |
parents | 6ced2f1c8b24 |
children | cfc73b8501a7 |
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 | |
7 right now, I haven't even gotten it to sign on, but theoretically it can receive | |
8 IMs. | |
9 | |
10 I'm going to try to make as few modifications as possible to the libfaim code. | |
11 The only two modifications I'll probably ever make to it are 1) to make my life | |
12 easier (like putting all the .h files in the same directory as the .c files) or | |
13 2) to fix a compilation error that I happen to be able to fix very easily (like | |
14 with a typo or something). That means that what you're getting when you enable | |
15 oscar is basically faimtest (the very instructional program included with the | |
16 libfaim source on sourceforge) with the Gaim GTK front-end. I'll put any changes | |
17 I make into a file, but so far, I haven't made any changes other than moving the | |
18 .h files down a directory. | |
19 | |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
20 CURRENTLY SUPPORTED FEATURES |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
21 ============================ |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
22 Signing on |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
23 Sending IMs |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
24 Receiving IMs |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
25 Being away/coming back |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
26 Being idle |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
27 Setting your info |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
28 Getting other users' info |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
29 Telling the server who's on your permit/deny lists (buggy) |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
30 |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
31 CURRENTLY UNSUPPORTED FEATURES |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
32 ============================== |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
33 Warning users (libfaim's problem) |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
34 Chat (gaim's problem) |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
35 Getting users' away messages (libfaim's problem? doesn't work with TOC either) |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
36 Getting/setting dir info (libfaim's problem?) |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
37 Changing your password (gaim's problem?) |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
38 File transfer/IM images/voice chat/etc. (gaim's problem?) |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
39 |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
40 (If I assigned problems incorrectly, sorry.) |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
41 |
237 | 42 HOW TO HELP |
43 =========== | |
44 So here's what you can do in order to help gaim use libfaim. There are basically | |
45 3 steps: | |
46 | |
47 1) In server.c, find an #ifndef USE_OSCAR tag that doesn't have a corresponding | |
48 #else. Find it in a good fun function that you want to implement. Basically | |
49 copy the code from the TOC side for the Oscar side. For example: | |
50 | |
51 void serv_send_im(char *name, char *message, int away) | |
52 { | |
53 char buf[MSG_LEN - 7]; | |
54 | |
55 #ifndef USE_OSCAR | |
56 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), message, ((away) ? " auto" : "")); | |
57 sflap_send(buf, strlen(buf), TYPE_DATA); | |
58 #endif | |
59 if (!away) | |
60 serv_touch_idle(); | |
61 } | |
62 | |
63 becomes: | |
64 | |
65 void serv_send_im(char *name, char *message, int away) | |
66 { | |
67 char buf[MSG_LEN - 7]; | |
68 | |
69 #ifndef USE_OSCAR | |
70 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), | |
71 message, ((away) ? " auto" : "")); | |
72 sflap_send(buf, strlen(buf), TYPE_DATA); | |
73 #else | |
74 oscar_send_im(name, message, away); | |
75 #endif | |
76 if (!away) | |
77 serv_touch_idle(); | |
78 } | |
79 | |
80 2) Edit gaim.h to add the new function (you'll see a list of them in there) | |
81 | |
82 3) Edit oscar.c to implement the new function | |
83 | |
84 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
|
85 structure. These are kept (globally) in oscar.c as gaim_sess and gaim_conn. For |
237 | 86 example, from above: |
87 | |
88 void oscar_send_im(char *name, char *msg, int away) { | |
89 if (away) | |
90 aim_send_im(gaim_sess, gaim_conn, name, AIM_IMFLAGS_AWAY, msg); | |
91 else | |
92 aim_send_im(gaim_sess, gaim_conn, name, 0, msg); | |
93 } | |
94 | |
95 That should be all that's needed. And that's that. Happy hacking. |