gaim/gaim

Parents 1f51679a8a08
Children e0b64500681f
Inline FlapConnection->inside and change some functions to return
void instead of a meaningless int
--- a/src/protocols/oscar/family_bos.c Sun Apr 09 23:37:37 2006 -0400
+++ b/src/protocols/oscar/family_bos.c Sun Apr 09 23:53:05 2006 -0400
@@ -29,9 +29,10 @@
#include <string.h>
/* Subtype 0x0002 - Request BOS rights. */
-int aim_bos_reqrights(OscarData *od, FlapConnection *conn)
+void
+aim_bos_reqrights(OscarData *od, FlapConnection *conn)
{
- return aim_genericreq_n_snacid(od, conn, 0x0009, 0x0002);
+ aim_genericreq_n_snacid(od, conn, 0x0009, 0x0002);
}
/* Subtype 0x0003 - BOS Rights. */
--- a/src/protocols/oscar/family_buddy.c Sun Apr 09 23:37:37 2006 -0400
+++ b/src/protocols/oscar/family_buddy.c Sun Apr 09 23:53:05 2006 -0400
@@ -33,10 +33,10 @@
* Request Buddy List rights.
*
*/
-int
+void
aim_buddylist_reqrights(OscarData *od, FlapConnection *conn)
{
- return aim_genericreq_n_snacid(od, conn, 0x0003, 0x0002);
+ aim_genericreq_n_snacid(od, conn, 0x0003, 0x0002);
}
/*
--- a/src/protocols/oscar/family_chatnav.c Sun Apr 09 23:37:37 2006 -0400
+++ b/src/protocols/oscar/family_chatnav.c Sun Apr 09 23:53:05 2006 -0400
@@ -35,9 +35,9 @@
* conn must be a chatnav connection!
*
*/
-int aim_chatnav_reqrights(OscarData *od, FlapConnection *conn)
+void aim_chatnav_reqrights(OscarData *od, FlapConnection *conn)
{
- return aim_genericreq_n_snacid(od, conn, 0x000d, 0x0002);
+ aim_genericreq_n_snacid(od, conn, 0x000d, 0x0002);
}
/*
--- a/src/protocols/oscar/family_feedbag.c Sun Apr 09 23:37:37 2006 -0400
+++ b/src/protocols/oscar/family_feedbag.c Sun Apr 09 23:53:05 2006 -0400
@@ -1168,7 +1168,9 @@
if (!od || !(conn = flap_connection_findbygroup(od, SNAC_FAMILY_FEEDBAG)))
return -EINVAL;
- return aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_REQRIGHTS);
+ aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_REQRIGHTS);
+
+ return 0;
}
/*
@@ -1223,7 +1225,9 @@
/* Free any current data, just in case */
aim_ssi_freelist(od);
- return aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_REQDATA);
+ aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_REQDATA);
+
+ return 0;
}
/*
--- a/src/protocols/oscar/family_icbm.c Sun Apr 09 23:37:37 2006 -0400
+++ b/src/protocols/oscar/family_icbm.c Sun Apr 09 23:53:05 2006 -0400
@@ -198,7 +198,9 @@
if (!od || !(conn = flap_connection_findbygroup(od, 0x0004)))
return -EINVAL;
- return aim_genericreq_n_snacid(od, conn, 0x0004, 0x0004);
+ aim_genericreq_n_snacid(od, conn, 0x0004, 0x0004);
+
+ return 0;
}
/**
--- a/src/protocols/oscar/family_locate.c Sun Apr 09 23:37:37 2006 -0400
+++ b/src/protocols/oscar/family_locate.c Sun Apr 09 23:53:05 2006 -0400
@@ -998,7 +998,9 @@
if (!od || !(conn = flap_connection_findbygroup(od, SNAC_FAMILY_LOCATE)))
return -EINVAL;
- return aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_LOCATE, SNAC_SUBTYPE_LOCATE_REQRIGHTS);
+ aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_LOCATE, SNAC_SUBTYPE_LOCATE_REQRIGHTS);
+
+ return 0;
}
/*
--- a/src/protocols/oscar/family_oservice.c Sun Apr 09 23:37:37 2006 -0400
+++ b/src/protocols/oscar/family_oservice.c Sun Apr 09 23:53:05 2006 -0400
@@ -28,17 +28,13 @@
#include "cipher.h"
/* Subtype 0x0002 - Client Online */
-int
+void
aim_clientready(OscarData *od, FlapConnection *conn)
{
- aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
struct snacgroup *sg;
FlapFrame *frame;
aim_snacid_t snacid;
- if (!ins)
- return -EINVAL;
-
frame = flap_frame_new(od, 0x02, 1152);
snacid = aim_cachesnac(od, 0x0001, 0x0002, 0x0000, NULL, 0);
@@ -48,7 +44,8 @@
* Send only the tool versions that the server cares about (that it
* marked as supporting in the server ready SNAC).
*/
- for (sg = ins->groups; sg; sg = sg->next) {
+ for (sg = conn->groups; sg; sg = sg->next)
+ {
aim_module_t *mod;
if ((mod = aim__findmodulebygroup(od, sg->group))) {
@@ -61,8 +58,6 @@
}
flap_connection_send(conn, frame);
-
- return 0;
}
/*
@@ -215,10 +210,10 @@
}
/* Subtype 0x0006 - Request Rate Information. */
-int
+void
aim_reqrates(OscarData *od, FlapConnection *conn)
{
- return aim_genericreq_n_snacid(od, conn, 0x0001, 0x0006);
+ aim_genericreq_n_snacid(od, conn, 0x0001, 0x0006);
}
/*
@@ -326,11 +321,9 @@
static int
rateresp(OscarData *od, FlapConnection *conn, aim_module_t *mod, FlapFrame *frame, aim_modsnac_t *snac, ByteStream *bs)
{
- aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
guint16 numclasses, i;
aim_rxcallback_t userfunc;
-
/*
* First are the parameters for each rate class.
*/
@@ -359,7 +352,7 @@
if (mod->version >= 3)
byte_stream_getrawbuf(bs, rc.unknown, sizeof(rc.unknown));
- rc_addclass(&ins->rates, &rc);
+ rc_addclass(&conn->rates, &rc);
}
/*
@@ -373,7 +366,7 @@
classid = byte_stream_get16(bs);
count = byte_stream_get16(bs);
- rc = rc_findclass(&ins->rates, classid);
+ rc = rc_findclass(&conn->rates, classid);
for (j = 0; j < count; j++) {
guint16 group, subtype;
@@ -404,15 +397,13 @@
if ((userfunc = aim_callhandler(od, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNINITDONE)))
userfunc(od, conn, frame);
-
return 1;
}
/* Subtype 0x0008 - Add Rate Parameter */
-int
+void
aim_rates_addparam(OscarData *od, FlapConnection *conn)
{
- aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
FlapFrame *frame;
aim_snacid_t snacid;
struct rateclass *rc;
@@ -422,19 +413,16 @@
snacid = aim_cachesnac(od, 0x0001, 0x0008, 0x0000, NULL, 0);
aim_putsnac(&frame->data, 0x0001, 0x0008, 0x0000, snacid);
- for (rc = ins->rates; rc; rc = rc->next)
+ for (rc = conn->rates; rc; rc = rc->next)
byte_stream_put16(&frame->data, rc->classid);
flap_connection_send(conn, frame);
-
- return 0;
}
/* Subtype 0x0009 - Delete Rate Parameter */
-int
+void
aim_rates_delparam(OscarData *od, FlapConnection *conn)
{
- aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
FlapFrame *frame;
aim_snacid_t snacid;
struct rateclass *rc;
@@ -444,12 +432,10 @@
snacid = aim_cachesnac(od, 0x0001, 0x0009, 0x0000, NULL, 0);
aim_putsnac(&frame->data, 0x0001, 0x0009, 0x0000, snacid);
- for (rc = ins->rates; rc; rc = rc->next)
+ for (rc = conn->rates; rc; rc = rc->next)
byte_stream_put16(&frame->data, rc->classid);
flap_connection_send(conn, frame);
-
- return 0;
}
/* Subtype 0x000a - Rate Change */
@@ -515,12 +501,11 @@
* libfaim can cause.
*
*/
-int
+void
aim_sendpauseack(OscarData *od, FlapConnection *conn)
{
FlapFrame *frame;
aim_snacid_t snacid;
- aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
struct snacgroup *sg;
frame = flap_frame_new(od, 0x02, 1024);
@@ -533,12 +518,10 @@
* Host Online / Server Ready said this host supports. And
* we want them all back after the migration.
*/
- for (sg = ins->groups; sg; sg = sg->next)
+ for (sg = conn->groups; sg; sg = sg->next)
byte_stream_put16(&frame->data, sg->group);
flap_connection_send(conn, frame);
-
- return 0;
}
/* Subtype 0x000d - Service Resume */
@@ -555,10 +538,10 @@
}
/* Subtype 0x000e - Request self-info */
-int
+void
aim_reqpersonalinfo(OscarData *od, FlapConnection *conn)
{
- return aim_genericreq_n_snacid(od, conn, 0x0001, 0x000e);
+ aim_genericreq_n_snacid(od, conn, 0x0001, 0x000e);
}
/* Subtype 0x000f - Self User Info */
@@ -760,17 +743,13 @@
* the rate information based on what version of group 1 we advertise here.
*
*/
-int
+void
aim_setversions(OscarData *od, FlapConnection *conn)
{
- aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
struct snacgroup *sg;
FlapFrame *frame;
aim_snacid_t snacid;
- if (!ins)
- return -EINVAL;
-
frame = flap_frame_new(od, 0x02, 1152);
snacid = aim_cachesnac(od, 0x0001, 0x0017, 0x0000, NULL, 0);
@@ -780,7 +759,7 @@
* Send only the versions that the server cares about (that it
* marked as supporting in the server ready SNAC).
*/
- for (sg = ins->groups; sg; sg = sg->next) {
+ for (sg = conn->groups; sg; sg = sg->next) {
aim_module_t *mod;
if ((mod = aim__findmodulebygroup(od, sg->group))) {
@@ -791,8 +770,6 @@
}
flap_connection_send(conn, frame);
-
- return 0;
}
/* Subtype 0x0018 - Host versions */
--- a/src/protocols/oscar/flap_connection.c Sun Apr 09 23:37:37 2006 -0400
+++ b/src/protocols/oscar/flap_connection.c Sun Apr 09 23:53:05 2006 -0400
@@ -119,7 +119,6 @@
conn = g_new0(FlapConnection, 1);
conn->od = od;
conn->buffer_outgoing = gaim_circ_buffer_new(0);
- conn->inside = g_new0(aim_conn_inside_t, 1);
conn->fd = -1;
conn->subtype = -1;
conn->type = type;
@@ -152,16 +151,7 @@
conn->internal = src->internal;
conn->lastactivity = src->lastactivity;
- if (src->inside != NULL)
- {
- /*
- * XXX should clone this section as well, but since currently
- * this function only gets called for some of that rendezvous
- * crap, and not on SNAC connections, its probably okay for
- * now.
- *
- */
- }
+ /* TODO: Clone groups and rates */
return conn;
}
@@ -253,15 +243,8 @@
if (conn->type == SNAC_FAMILY_CHAT)
flap_connection_destroy_chat(od, conn);
- if (conn->inside != NULL)
- {
- aim_conn_inside_t *inside = (aim_conn_inside_t *)conn->inside;
-
- flap_connection_destroy_snacgroups(inside->groups);
- flap_connection_destroy_rates(inside->rates);
-
- free(inside);
- }
+ flap_connection_destroy_snacgroups(conn->groups);
+ flap_connection_destroy_rates(conn->rates);
od->oscar_connections = g_list_remove(od->oscar_connections, conn);
g_free(conn);
@@ -375,7 +358,6 @@
void
flap_connection_addgroup(FlapConnection *conn, guint16 group)
{
- aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
struct snacgroup *sg;
sg = g_new0(struct snacgroup, 1);
@@ -384,8 +366,8 @@
"of type 0x%04hx\n", group, conn->type);
sg->group = group;
- sg->next = ins->groups;
- ins->groups = sg;
+ sg->next = conn->groups;
+ conn->groups = sg;
}
/**
@@ -402,13 +384,11 @@
for (cur = od->oscar_connections; cur != NULL; cur = cur->next)
{
FlapConnection *conn;
- aim_conn_inside_t *ins;
struct snacgroup *sg;
conn = cur->data;
- ins = (aim_conn_inside_t *)conn->inside;
- for (sg = ins->groups; sg != NULL; sg = sg->next)
+ for (sg = conn->groups; sg != NULL; sg = sg->next)
{
if (sg->group == group)
return conn;
--- a/src/protocols/oscar/misc.c Sun Apr 09 23:37:37 2006 -0400
+++ b/src/protocols/oscar/misc.c Sun Apr 09 23:53:05 2006 -0400
@@ -19,11 +19,8 @@
*/
/*
- * misc.c
- *
* Random stuff. Basically just a few functions for sending
* simple SNACs, and then the generic error handler.
- *
*/
#include "oscar.h"
@@ -54,7 +51,7 @@
return 0;
}
-int
+void
aim_genericreq_n_snacid(OscarData *od, FlapConnection *conn, guint16 family, guint16 subtype)
{
FlapFrame *frame;
@@ -66,8 +63,6 @@
aim_putsnac(&frame->data, family, subtype, 0x0000, snacid);
flap_connection_send(conn, frame);
-
- return 0;
}
int
--- a/src/protocols/oscar/oscar.h Sun Apr 09 23:37:37 2006 -0400
+++ b/src/protocols/oscar/oscar.h Sun Apr 09 23:53:05 2006 -0400
@@ -376,8 +376,10 @@
guint16 subtype;
flap_seqnum_t seqnum;
guint32 status;
+ struct snacgroup *groups;
+ struct rateclass *rates;
+
void *internal; /* internal conn-specific libfaim data */
- void *inside; /* only accessible from inside libfaim */
};
struct _IcbmCookie
@@ -549,7 +551,7 @@
} chat;
};
-int aim_clientready(OscarData *od, FlapConnection *conn);
+void aim_clientready(OscarData *od, FlapConnection *conn);
int aim_request_login(OscarData *od, FlapConnection *conn, const char *sn);
int aim_send_login(OscarData *, FlapConnection *, const char *, const char *, ClientInfo *, const char *key);
/* 0x000b */ int aim_auth_securid_send(OscarData *od, const char *securid);
@@ -596,14 +598,13 @@
#define AIM_WARN_ANON 0x01
-int aim_sendpauseack(OscarData *od, FlapConnection *conn);
int aim_nop(OscarData *, FlapConnection *);
int aim_bos_changevisibility(OscarData *, FlapConnection *, int, const char *);
int aim_bos_setgroupperm(OscarData *, FlapConnection *, guint32 mask);
int aim_bos_setprivacyflags(OscarData *, FlapConnection *, guint32);
-int aim_reqpersonalinfo(OscarData *, FlapConnection *);
+void aim_reqpersonalinfo(OscarData *, FlapConnection *);
int aim_reqservice(OscarData *, guint16);
-int aim_bos_reqrights(OscarData *, FlapConnection *);
+void aim_bos_reqrights(OscarData *, FlapConnection *);
int aim_setextstatus(OscarData *od, guint32 status);
#define AIM_CLIENTTYPE_UNKNOWN 0x0000
@@ -1008,7 +1009,7 @@
/* 0x0003 - family_buddy.c */
-/* 0x0002 */ int aim_buddylist_reqrights(OscarData *, FlapConnection *);
+/* 0x0002 */ void aim_buddylist_reqrights(OscarData *, FlapConnection *);
/* 0x0004 */ int aim_buddylist_set(OscarData *, FlapConnection *, const char *);
/* 0x0004 */ int aim_buddylist_addbuddy(OscarData *, FlapConnection *, const char *);
/* 0x0005 */ int aim_buddylist_removebuddy(OscarData *, FlapConnection *, const char *);
@@ -1047,7 +1048,7 @@
char *aim_chat_getname(FlapConnection *conn);
FlapConnection *aim_chat_getconn(OscarData *, const char *name);
-int aim_chatnav_reqrights(OscarData *od, FlapConnection *conn);
+void aim_chatnav_reqrights(OscarData *od, FlapConnection *conn);
int aim_chatnav_createroom(OscarData *od, FlapConnection *conn, const char *name, guint16 exchange);
int aim_chat_leaveroom(OscarData *od, const char *name);
@@ -1459,7 +1460,7 @@
int email_modfirst(OscarData *od, aim_module_t *mod);
int aim_genericreq_n(OscarData *, FlapConnection *conn, guint16 family, guint16 subtype);
-int aim_genericreq_n_snacid(OscarData *, FlapConnection *conn, guint16 family, guint16 subtype);
+void aim_genericreq_n_snacid(OscarData *, FlapConnection *conn, guint16 family, guint16 subtype);
int aim_genericreq_l(OscarData *, FlapConnection *conn, guint16 family, guint16 subtype, guint32 *);
int aim_genericreq_s(OscarData *, FlapConnection *conn, guint16 family, guint16 subtype, guint16 *);
@@ -1548,18 +1549,6 @@
struct rateclass *next;
};
-/*
- * This is inside every connection. But it is a void * to anything
- * outside of libfaim. It should remain that way. It's called data
- * abstraction. Maybe you've heard of it. (Probably not if you're a
- * libfaim user.)
- *
- */
-typedef struct aim_conn_inside_s {
- struct snacgroup *groups;
- struct rateclass *rates;
-} aim_conn_inside_t;
-
int aim_cachecookie(OscarData *od, IcbmCookie *cookie);
IcbmCookie *aim_uncachecookie(OscarData *od, guint8 *cookie, int type);
IcbmCookie *aim_mkcookie(guint8 *, int, void *);
@@ -1573,10 +1562,11 @@
void flap_connection_destroy_chat(OscarData *od, FlapConnection *conn);
/* These are all handled internally now. */
-int aim_setversions(OscarData *od, FlapConnection *conn);
-int aim_reqrates(OscarData *, FlapConnection *);
-int aim_rates_addparam(OscarData *, FlapConnection *);
-int aim_rates_delparam(OscarData *, FlapConnection *);
+void aim_setversions(OscarData *od, FlapConnection *conn);
+void aim_reqrates(OscarData *, FlapConnection *);
+void aim_rates_addparam(OscarData *, FlapConnection *);
+void aim_rates_delparam(OscarData *, FlapConnection *);
+void aim_sendpauseack(OscarData *od, FlapConnection *conn);