From: <rl...@us...> - 2006-11-19 19:58:52
|
Revision: 17784 http://svn.sourceforge.net/gaim/?rev=17784&view=rev Author: rlaager Date: 2006-11-19 11:58:45 -0800 (Sun, 19 Nov 2006) Log Message: ----------- SF Patch #1571670 from zdeqb "Perl bindings for the functions in core.h and some bindings for the functions in privacy.h." I made the following changes: 1. I chose to export gaim_get_core() as Gaim::get_core instead of Gaim::Core::get_core. 2. I don't see any reason to require Perl code to pass bogus values just because C requires them. So, I changed Gaim::Core::quit_cb to NOT take an argument, and to pass NULL to gaim_core_quit_cb(). 3. I fixed a typo. 4. I cleaned up some spacing issues. I noticed that Core.c didn't get created from Core.xs until I re-ran configure. Maybe there's no way to avoid this? Modified Paths: -------------- trunk/libgaim/plugins/perl/Makefile.am trunk/libgaim/plugins/perl/common/Gaim.xs trunk/libgaim/plugins/perl/common/Privacy.xs trunk/libgaim/plugins/perl/common/module.h trunk/libgaim/plugins/perl/common/typemap Added Paths: ----------- trunk/libgaim/plugins/perl/common/Core.xs Modified: trunk/libgaim/plugins/perl/Makefile.am =================================================================== --- trunk/libgaim/plugins/perl/Makefile.am 2006-11-19 19:14:48 UTC (rev 17783) +++ trunk/libgaim/plugins/perl/Makefile.am 2006-11-19 19:58:45 UTC (rev 17784) @@ -50,6 +50,7 @@ common/BuddyList.xs \ common/Cipher.xs \ common/Cmds.xs \ + common/Core.xs \ common/Connection.xs \ common/Conversation.xs \ common/Debug.xs \ Added: trunk/libgaim/plugins/perl/common/Core.xs =================================================================== --- trunk/libgaim/plugins/perl/common/Core.xs (rev 0) +++ trunk/libgaim/plugins/perl/common/Core.xs 2006-11-19 19:58:45 UTC (rev 17784) @@ -0,0 +1,28 @@ +#include "module.h" + +MODULE = Gaim::Core PACKAGE = Gaim::Core PREFIX = gaim_core_ +PROTOTYPES: ENABLE + +gboolean +gaim_core_quit_cb() +PPCODE: + /* The argument to gaim_core_quit_cb is not used, + * so there's little point in requiring it on the + * Perl side. */ + RETVAL = gaim_core_quit_cb(NULL); + ST(0) = boolSV(RETVAL); + sv_2mortal(ST(0)); + +const char * +gaim_core_get_version() + +const char * +gaim_core_get_ui() + +void +gaim_core_set_ui_ops(ops) + Gaim::Core::UiOps ops + +Gaim::Core::UiOps +gaim_core_get_ui_ops() + Property changes on: trunk/libgaim/plugins/perl/common/Core.xs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Modified: trunk/libgaim/plugins/perl/common/Gaim.xs =================================================================== --- trunk/libgaim/plugins/perl/common/Gaim.xs 2006-11-19 19:14:48 UTC (rev 17783) +++ trunk/libgaim/plugins/perl/common/Gaim.xs 2006-11-19 19:58:45 UTC (rev 17784) @@ -11,6 +11,7 @@ GAIM_PERL_BOOT_PROTO(Cmd); GAIM_PERL_BOOT_PROTO(Connection); GAIM_PERL_BOOT_PROTO(Conversation); +GAIM_PERL_BOOT_PROTO(Core); GAIM_PERL_BOOT_PROTO(Debug); GAIM_PERL_BOOT_PROTO(Xfer); GAIM_PERL_BOOT_PROTO(ImgStore); @@ -50,6 +51,7 @@ GAIM_PERL_BOOT(Cmd); GAIM_PERL_BOOT(Connection); GAIM_PERL_BOOT(Conversation); + GAIM_PERL_BOOT(Core); GAIM_PERL_BOOT(Debug); GAIM_PERL_BOOT(Xfer); GAIM_PERL_BOOT(ImgStore); @@ -88,3 +90,10 @@ deinit() CODE: gaim_perl_timeout_clear(); + + +MODULE = Gaim PACKAGE = Gaim PREFIX = gaim_ +PROTOTYPES: ENABLE + +Gaim::Core +gaim_get_core() Modified: trunk/libgaim/plugins/perl/common/Privacy.xs =================================================================== --- trunk/libgaim/plugins/perl/common/Privacy.xs 2006-11-19 19:14:48 UTC (rev 17783) +++ trunk/libgaim/plugins/perl/common/Privacy.xs 2006-11-19 19:58:45 UTC (rev 17784) @@ -12,3 +12,32 @@ void gaim_privacy_set_ui_ops(ops) Gaim::Privacy::UiOps ops + +gboolean +gaim_privacy_permit_add(account, name, local_only) + Gaim::Account account + const char * name + gboolean local_only + +gboolean +gaim_privacy_permit_remove(account, name, local_only) + Gaim::Account account + const char * name + gboolean local_only + +gboolean +gaim_privacy_deny_add(account, name, local_only) + Gaim::Account account + const char * name + gboolean local_only + +gboolean +gaim_privacy_deny_remove(account, name, local_only) + Gaim::Account account + const char * name + gboolean local_only + +gboolean +gaim_privacy_check(account, who) + Gaim::Account account + const char * who Modified: trunk/libgaim/plugins/perl/common/module.h =================================================================== --- trunk/libgaim/plugins/perl/common/module.h 2006-11-19 19:14:48 UTC (rev 17783) +++ trunk/libgaim/plugins/perl/common/module.h 2006-11-19 19:58:45 UTC (rev 17784) @@ -24,6 +24,7 @@ #include "cmds.h" #include "connection.h" #include "conversation.h" +#include "core.h" #include "debug.h" #include "desktopitem.h" #include "eventloop.h" @@ -108,6 +109,11 @@ typedef GaimConvChat * Gaim__Conversation__Chat; typedef GaimConvChatBuddy * Gaim__Conversation__ChatBuddy; +/* core.h */ + +typedef GaimCore * Gaim__Core; +typedef GaimCoreUiOps * Gaim__Core__UiOps; + /* debug.h */ typedef GaimDebugLevel Gaim__DebugLevel; Modified: trunk/libgaim/plugins/perl/common/typemap =================================================================== --- trunk/libgaim/plugins/perl/common/typemap 2006-11-19 19:14:48 UTC (rev 17783) +++ trunk/libgaim/plugins/perl/common/typemap 2006-11-19 19:58:45 UTC (rev 17784) @@ -68,6 +68,8 @@ Gaim::Conversation::ChatBuddy T_GaimObj Gaim::Conversation::IM T_GaimObj Gaim::Conversation::UiOps T_GaimObj +Gaim::Core T_GaimObj +Gaim::Core::UiOps T_GaimObj Gaim::Desktop::Item T_GaimObj Gaim::DesktopItemType T_IV This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |