plugins/perl/common/Conversation_IM.xs

Fri, 11 Jun 2004 00:16:36 +0000

author
Justin Wood
date
Fri, 11 Jun 2004 00:16:36 +0000
changeset 9262
3aa857850c6f
parent 7120
83dba78f8518
permissions
-rw-r--r--

[gaim-migrate @ 10061]
Patch by Justin Wood. He says:

"User icon would set wrong status There is a small window, that if you set
a user icon, you'll set the wrong status for the next update.

Thought this over, and it shouldn't have any nasty side effects.. but there
are potential problems, if a status change message is lost. Things should
be ok though, that said"

committer: Christian Hammond <chipx86@chipx86.com>

6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 #include "module.h"
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
3 MODULE = Gaim::Conversation::IM PACKAGE = Gaim::Conversation::IM PREFIX = gaim_conv_im_
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 PROTOTYPES: ENABLE
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 Gaim::Conversation::IM
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 new(account, name)
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 Gaim::Account account
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 const char *name
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 CODE:
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
11 RETVAL = GAIM_CONV_IM(gaim_conversation_new(GAIM_CONV_IM, account, name));
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 OUTPUT:
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 RETVAL
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 void
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 DESTROY(im)
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 Gaim::Conversation::IM im
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 CODE:
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
19 gaim_conversation_destroy(gaim_conv_im_get_conversation(im));
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 Gaim::Conversation
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
23 gaim_conv_im_get_conversation(im)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 Gaim::Conversation::IM im
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 void
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
27 gaim_conv_im_write(im, who, message, flags)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28 Gaim::Conversation::IM im
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29 const char *who
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30 const char *message
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31 int flags
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32 CODE:
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
33 gaim_conv_im_write(im, who, message, flags, time(NULL));
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 void
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
36 gaim_conv_im_send(im, message)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 Gaim::Conversation::IM im
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38 const char *message
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 MODULE = Gaim::Conversation::IM PACKAGE = Gaim PREFIX = gaim_
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42 PROTOTYPES: ENABLE
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 void
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 ims()
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 PREINIT:
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 GList *l;
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48 PPCODE:
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
49 for (l = gaim_get_ims(); l != NULL; l = l->next)
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 {
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6982
diff changeset
51 XPUSHs(sv_2mortal(gaim_perl_bless_object(GAIM_CONV_IM(l->data),
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 "Gaim::Conversation")));
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 }

mercurial