plugins/perl/perl-common.h

Mon, 16 Apr 2007 00:43:53 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Mon, 16 Apr 2007 00:43:53 +0000
changeset 13071
b98e72d4089a
parent 12988
2a53945982f5
permissions
-rw-r--r--

Commit a proper copy of this binary file. The old one was corrupted,
probably due to missing SVN attributes.

This was retrieved from the following URL, though we may have it in CVS:
http://dev.openwengo.com/trac/openwengo/trac.cgi/browser/vendors/gaim/trunk/doc/oscar/On_Sending_Files_via_OSCAR.odt?rev=4273

6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 #ifndef _GAIM_PERL_COMMON_H_
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 #define _GAIM_PERL_COMMON_H_
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3
6816
b14a3043ed09 [gaim-migrate @ 7356]
Herman Bloggs <herman@bluedigits.com>
parents: 6566
diff changeset
4 #include <glib.h>
b14a3043ed09 [gaim-migrate @ 7356]
Herman Bloggs <herman@bluedigits.com>
parents: 6566
diff changeset
5 #ifdef _WIN32
b14a3043ed09 [gaim-migrate @ 7356]
Herman Bloggs <herman@bluedigits.com>
parents: 6566
diff changeset
6 #undef pipe
b14a3043ed09 [gaim-migrate @ 7356]
Herman Bloggs <herman@bluedigits.com>
parents: 6566
diff changeset
7 #endif
6520
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
8 #include <XSUB.h>
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
9 #include <EXTERN.h>
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
10 #include <perl.h>
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
11
12872
b3d38f1b9bd7 [gaim-migrate @ 15224]
Etan Reisner <deryni@pidgin.im>
parents: 12871
diff changeset
12 #include "plugin.h"
6566
61eb35202526 [gaim-migrate @ 7088]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
13 #include "value.h"
61eb35202526 [gaim-migrate @ 7088]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
14
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 #define is_hvref(o) \
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 ((o) && SvROK(o) && SvRV(o) && (SvTYPE(SvRV(o)) == SVt_PVHV))
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 #define hvref(o) \
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 (is_hvref(o) ? (HV *)SvRV(o) : NULL);
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20
12419
745d9e5460ea [gaim-migrate @ 14726]
Richard Laager <rlaager@pidgin.im>
parents: 11170
diff changeset
21 #define GAIM_PERL_BOOT_PROTO(x) \
12497
a17568773be3 [gaim-migrate @ 14809]
Richard Laager <rlaager@pidgin.im>
parents: 12419
diff changeset
22 void boot_Gaim__##x(pTHX_ CV *cv);
12419
745d9e5460ea [gaim-migrate @ 14726]
Richard Laager <rlaager@pidgin.im>
parents: 11170
diff changeset
23
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 #define GAIM_PERL_BOOT(x) \
12419
745d9e5460ea [gaim-migrate @ 14726]
Richard Laager <rlaager@pidgin.im>
parents: 11170
diff changeset
25 gaim_perl_callXS(boot_Gaim__##x, cv, mark)
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26
12872
b3d38f1b9bd7 [gaim-migrate @ 15224]
Etan Reisner <deryni@pidgin.im>
parents: 12871
diff changeset
27 typedef struct
b3d38f1b9bd7 [gaim-migrate @ 15224]
Etan Reisner <deryni@pidgin.im>
parents: 12871
diff changeset
28 {
b3d38f1b9bd7 [gaim-migrate @ 15224]
Etan Reisner <deryni@pidgin.im>
parents: 12871
diff changeset
29 GaimPlugin *plugin;
b3d38f1b9bd7 [gaim-migrate @ 15224]
Etan Reisner <deryni@pidgin.im>
parents: 12871
diff changeset
30 char *package;
b3d38f1b9bd7 [gaim-migrate @ 15224]
Etan Reisner <deryni@pidgin.im>
parents: 12871
diff changeset
31 char *load_sub;
b3d38f1b9bd7 [gaim-migrate @ 15224]
Etan Reisner <deryni@pidgin.im>
parents: 12871
diff changeset
32 char *unload_sub;
b3d38f1b9bd7 [gaim-migrate @ 15224]
Etan Reisner <deryni@pidgin.im>
parents: 12871
diff changeset
33 char *prefs_sub;
b3d38f1b9bd7 [gaim-migrate @ 15224]
Etan Reisner <deryni@pidgin.im>
parents: 12871
diff changeset
34 char *gtk_prefs_sub;
12988
2a53945982f5 [gaim-migrate @ 15341]
Etan Reisner <deryni@pidgin.im>
parents: 12872
diff changeset
35 char *plugin_action_sub;
12872
b3d38f1b9bd7 [gaim-migrate @ 15224]
Etan Reisner <deryni@pidgin.im>
parents: 12871
diff changeset
36 } GaimPerlScript;
b3d38f1b9bd7 [gaim-migrate @ 15224]
Etan Reisner <deryni@pidgin.im>
parents: 12871
diff changeset
37
11170
d8941580d87f [gaim-migrate @ 13271]
John H. Kelm <johnkelm@gmail.com>
parents: 6921
diff changeset
38 void gaim_perl_normalize_script_name(char *name);
d8941580d87f [gaim-migrate @ 13271]
John H. Kelm <johnkelm@gmail.com>
parents: 6921
diff changeset
39
6566
61eb35202526 [gaim-migrate @ 7088]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
40 SV *newSVGChar(const char *str);
61eb35202526 [gaim-migrate @ 7088]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
41
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42 void gaim_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark);
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43 void gaim_perl_bless_plain(const char *stash, void *object);
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 SV *gaim_perl_bless_object(void *object, const char *stash);
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 gboolean gaim_perl_is_ref_object(SV *o);
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 void *gaim_perl_ref_object(SV *o);
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47
6520
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
48 int execute_perl(const char *function, int argc, char **args);
5386692555c9 [gaim-migrate @ 7037]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
49
6566
61eb35202526 [gaim-migrate @ 7088]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
50 #if 0
61eb35202526 [gaim-migrate @ 7088]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
51 gboolean gaim_perl_value_from_sv(GaimValue *value, SV *sv);
61eb35202526 [gaim-migrate @ 7088]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
52 SV *gaim_perl_sv_from_value(const GaimValue *value);
61eb35202526 [gaim-migrate @ 7088]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
53 #endif
61eb35202526 [gaim-migrate @ 7088]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
54
6920
4f4931b005cb [gaim-migrate @ 7467]
Christian Hammond <chipx86@chipx86.com>
parents: 6816
diff changeset
55 void *gaim_perl_data_from_sv(GaimValue *value, SV *sv);
4f4931b005cb [gaim-migrate @ 7467]
Christian Hammond <chipx86@chipx86.com>
parents: 6816
diff changeset
56 SV *gaim_perl_sv_from_vargs(const GaimValue *value, va_list *args,
12871
3584d93ae63c [gaim-migrate @ 15223]
Etan Reisner <deryni@pidgin.im>
parents: 12497
diff changeset
57 void ***copy_arg);
6566
61eb35202526 [gaim-migrate @ 7088]
Christian Hammond <chipx86@chipx86.com>
parents: 6531
diff changeset
58
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59 #endif /* _GAIM_PERL_COMMON_H_ */

mercurial