diff options
author | Sadrul Habib Chowdhury <sadrul@pidgin.im> | 2008-05-13 02:24:17 +0000 |
---|---|---|
committer | Sadrul Habib Chowdhury <sadrul@pidgin.im> | 2008-05-13 02:24:17 +0000 |
commit | c4a400d6c4fdc49fd010a40a8b10c5ec8fc73b38 (patch) | |
tree | 0d5a8c9de0111d4295ecf55d9c24a090563bcbb2 | |
parent | e27ad8420528ef05185b6d417a48928f0de14ecf (diff) | |
download | pidgin-c4a400d6c4fdc49fd010a40a8b10c5ec8fc73b38.tar.gz |
Expose smiley API to perl plugins.
-rw-r--r-- | libpurple/plugins/perl/Makefile.am | 1 | ||||
-rw-r--r-- | libpurple/plugins/perl/common/MANIFEST | 1 | ||||
-rw-r--r-- | libpurple/plugins/perl/common/Makefile.mingw | 3 | ||||
-rw-r--r-- | libpurple/plugins/perl/common/Purple.xs | 2 | ||||
-rw-r--r-- | libpurple/plugins/perl/common/Smiley.xs | 81 | ||||
-rw-r--r-- | libpurple/plugins/perl/common/module.h | 4 | ||||
-rw-r--r-- | libpurple/plugins/perl/common/typemap | 1 |
7 files changed, 92 insertions, 1 deletions
diff --git a/libpurple/plugins/perl/Makefile.am b/libpurple/plugins/perl/Makefile.am index 73388ffb87..e17292380d 100644 --- a/libpurple/plugins/perl/Makefile.am +++ b/libpurple/plugins/perl/Makefile.am @@ -67,6 +67,7 @@ common_sources = \ common/SavedStatuses.xs \ common/Server.xs \ common/Signal.xs \ + common/Smiley.xs \ common/Sound.xs \ common/Status.xs \ common/Stringref.xs \ diff --git a/libpurple/plugins/perl/common/MANIFEST b/libpurple/plugins/perl/common/MANIFEST index 7c310c092c..75e701224a 100644 --- a/libpurple/plugins/perl/common/MANIFEST +++ b/libpurple/plugins/perl/common/MANIFEST @@ -28,6 +28,7 @@ SSLConn.xs SavedStatuses.xs Server.xs Signal.xs +Smiley.xs Sound.xs Status.xs Stringref.xs diff --git a/libpurple/plugins/perl/common/Makefile.mingw b/libpurple/plugins/perl/common/Makefile.mingw index f85e89ba1f..1a4b8150e7 100644 --- a/libpurple/plugins/perl/common/Makefile.mingw +++ b/libpurple/plugins/perl/common/Makefile.mingw @@ -61,8 +61,9 @@ XS_FILES = Account.xs \ Roomlist.xs \ SSLConn.xs \ SavedStatuses.xs \ - Signal.xs \ Server.xs \ + Signal.xs \ + Smiley.xs \ Sound.xs \ Status.xs \ Stringref.xs \ diff --git a/libpurple/plugins/perl/common/Purple.xs b/libpurple/plugins/perl/common/Purple.xs index 58d00958ba..6e39ec300f 100644 --- a/libpurple/plugins/perl/common/Purple.xs +++ b/libpurple/plugins/perl/common/Purple.xs @@ -30,6 +30,7 @@ PURPLE_PERL_BOOT_PROTO(SSL); PURPLE_PERL_BOOT_PROTO(SavedStatus); PURPLE_PERL_BOOT_PROTO(Serv); PURPLE_PERL_BOOT_PROTO(Signal); +PURPLE_PERL_BOOT_PROTO(Smiley); PURPLE_PERL_BOOT_PROTO(Sound); PURPLE_PERL_BOOT_PROTO(Status); PURPLE_PERL_BOOT_PROTO(Stringref); @@ -68,6 +69,7 @@ BOOT: PURPLE_PERL_BOOT(SavedStatus); PURPLE_PERL_BOOT(Serv); PURPLE_PERL_BOOT(Signal); + PURPLE_PERL_BOOT(Smiley); PURPLE_PERL_BOOT(Sound); PURPLE_PERL_BOOT(Status); PURPLE_PERL_BOOT(Stringref); diff --git a/libpurple/plugins/perl/common/Smiley.xs b/libpurple/plugins/perl/common/Smiley.xs new file mode 100644 index 0000000000..560fd2d29d --- /dev/null +++ b/libpurple/plugins/perl/common/Smiley.xs @@ -0,0 +1,81 @@ +#include "module.h" + +MODULE = Purple::Smiley PACKAGE = Purple::Smiley PREFIX = purple_smiley_ +PROTOTYPES: ENABLE + +Purple::Smiley +purple_smiley_new(img, shortcut) + Purple::StoredImage img + const char * shortcut + +Purple::Smiley +purple_smiley_new_from_file(shortcut, filepath) + const char * shortcut + const char * filepath + +void +purple_smiley_delete(smiley) + Purple::Smiley smiley + +gboolean +purple_smiley_set_shortcut(smiley, shortcut) + Purple::Smiley smiley + const char * shortcut + +void +purple_smiley_set_data(smiley, data, data_len, keepfilename) + Purple::Smiley smiley + guchar * data + size_t data_len + gboolean keepfilename + +const char * +purple_smiley_get_shortcut(smiley) + Purple::Smiley smiley + +const char * +purple_smiley_get_checksum(smiley) + Purple::Smiley smiley + +Purple::StoredImage +purple_smiley_get_stored_image(smiley) + Purple::Smiley smiley + +gconstpointer +purple_smiley_get_data(smiley, len) + Purple::Smiley smiley + size_t * len + +const char * +purple_smiley_get_extension(smiley) + Purple::Smiley smiley + + +gchar_own * +purple_smiley_get_full_path(smiley) + Purple::Smiley smiley + + +MODULE = Purple::Smiley PACKAGE = Purple::Smileys PREFIX = purple_smileys_ +PROTOTYPES: ENABLE + +void +purple_smileys_get_all() +PREINIT: + GList *l; +PPCODE: + for (l = purple_smileys_get_all(); l != NULL; l = g_list_delete_link(l, l)) { + XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Smiley"))); + } + +Purple::Smiley +purple_smileys_find_by_shortcut(shortcut) + const char * shortcut + +Purple::Smiley +purple_smileys_find_by_checksum(checksum) + const char * checksum + +const char * +purple_smileys_get_storing_dir() + diff --git a/libpurple/plugins/perl/common/module.h b/libpurple/plugins/perl/common/module.h index a05c59e2c7..b7b2c5568a 100644 --- a/libpurple/plugins/perl/common/module.h +++ b/libpurple/plugins/perl/common/module.h @@ -51,6 +51,7 @@ typedef struct group *Purple__Group; #include "savedstatuses.h" #include "server.h" #include "signals.h" +#include "smiley.h" #include "sound.h" #include "sslconn.h" #include "status.h" @@ -240,6 +241,9 @@ typedef PurpleRoomlistUiOps * Purple__Roomlist__UiOps; typedef PurpleSavedStatus * Purple__SavedStatus; typedef PurpleSavedStatusSub * Purple__SavedStatus__Sub; +/* smiley.h */ +typedef PurpleSmiley * Purple__Smiley; + /* sound.h */ typedef PurpleSoundEventID Purple__SoundEventID; typedef PurpleSoundUiOps * Purple__Sound__UiOps; diff --git a/libpurple/plugins/perl/common/typemap b/libpurple/plugins/perl/common/typemap index 83af8f0551..5e9ebfb306 100644 --- a/libpurple/plugins/perl/common/typemap +++ b/libpurple/plugins/perl/common/typemap @@ -151,6 +151,7 @@ Purple::Ssl::Ops T_PurpleObj Purple::Presence T_PurpleObj Purple::PresenceContext T_IV +Purple::Smiley T_PurpleObj Purple::Status T_PurpleObj Purple::StatusAttr T_PurpleObj Purple::StatusPrimitive T_IV |