diff options
author | Etan Reisner <deryni@pidgin.im> | 2007-05-20 05:48:56 +0000 |
---|---|---|
committer | Etan Reisner <deryni@pidgin.im> | 2007-05-20 05:48:56 +0000 |
commit | 45f94347bcbd688f595b5c05830e007d67a694c7 (patch) | |
tree | befc691eca52d23635b765328b4a95724de0ac03 | |
parent | dd5c803572a2fc772daf275e766ac4c3c8a49083 (diff) | |
download | pidgin-45f94347bcbd688f595b5c05830e007d67a694c7.tar.gz |
Warmenhove a patch from Steven Danna to add bindings to all the savedstatus.h
functions for perl.
Closes #774
-rw-r--r-- | COPYRIGHT | 1 | ||||
-rw-r--r-- | libpurple/plugins/perl/common/SavedStatuses.xs | 124 | ||||
-rw-r--r-- | libpurple/plugins/perl/common/module.h | 2 | ||||
-rw-r--r-- | libpurple/plugins/perl/common/typemap | 4 |
4 files changed, 116 insertions, 15 deletions
@@ -87,6 +87,7 @@ Adam Cowell Palmer Cox Jeramey Crawford Michael Culbertson +Steven Danna Martijn Dekker Vinicius Depizzol Philip Derrin diff --git a/libpurple/plugins/perl/common/SavedStatuses.xs b/libpurple/plugins/perl/common/SavedStatuses.xs index 6df794270c..09ae918740 100644 --- a/libpurple/plugins/perl/common/SavedStatuses.xs +++ b/libpurple/plugins/perl/common/SavedStatuses.xs @@ -1,40 +1,128 @@ #include "module.h" +/* I can't get this to work, both with and without the const on the return + * type I get errors from gcc. One way about ignoring types in a cast, and the + * other about assigning to read-only variables. +const Purple::StatusType +purple_savedstatus_substatus_get_type(substatus) + const Purple::SavedStatus::Sub substatus +*/ + MODULE = Purple::SavedStatus PACKAGE = Purple::SavedStatus PREFIX = purple_savedstatus_ PROTOTYPES: ENABLE +Purple::SavedStatus +purple_savedstatus_new(title, type) + const char *title + Purple::StatusPrimitive type + +void +purple_savedstatus_set_title(status, title) + Purple::SavedStatus status + const char *title + +void +purple_savedstatus_set_type(status, type) + Purple::SavedStatus status + Purple::StatusPrimitive type + +void +purple_savedstatus_set_message(status, message) + Purple::SavedStatus status + const char *message + +void +purple_savedstatus_set_substatus(status, account, type, message) + Purple::SavedStatus status + Purple::Account account + Purple::StatusType type + const char *message + +void +purple_savedstatus_unset_substatus(status, account) + Purple::SavedStatus status + Purple::Account account + gboolean purple_savedstatus_delete(title) const char *title Purple::SavedStatus +purple_savedstatus_get_current() + +Purple::SavedStatus +purple_savedstatus_get_default() + +Purple::SavedStatus +purple_savedstatus_get_idleaway() + +gboolean +purple_savedstatus_is_idleaway() + +void +purple_savedstatus_set_idleaway(idleaway) + gboolean idleaway + +Purple::SavedStatus +purple_savedstatus_get_startup() + +Purple::SavedStatus purple_savedstatus_find(title) const char *title -const char * -purple_savedstatus_get_message(saved_status) - Purple::SavedStatus saved_status +Purple::SavedStatus +purple_savedstatus_find_by_creation_time(creation_time) + time_t creation_time + +Purple::SavedStatus +purple_savedstatus_find_transient_by_type_and_message(type, message) + Purple::StatusPrimitive type + const char *message + +gboolean +purple_savedstatus_is_transient(saved_status) + const Purple::SavedStatus saved_status const char * purple_savedstatus_get_title(saved_status) - Purple::SavedStatus saved_status + const Purple::SavedStatus saved_status Purple::StatusPrimitive purple_savedstatus_get_type(saved_status) + const Purple::SavedStatus saved_status + +const char * +purple_savedstatus_get_message(saved_status) + const Purple::SavedStatus saved_status + +time_t +purple_savedstatus_get_creation_time(saved_status) + const Purple::SavedStatus saved_status + +gboolean +purple_savedstatus_has_substatuses(saved_status) + const Purple::SavedStatus saved_status + +Purple::SavedStatus::Sub +purple_savedstatus_get_substatus(saved_status, account) Purple::SavedStatus saved_status + Purple::Account account -Purple::SavedStatus -purple_savedstatus_new(title, type) - const char *title - Purple::StatusPrimitive type +void +purple_savedstatus_activate(saved_status) + Purple::SavedStatus saved_status void -purple_savedstatus_set_message(status, message) - Purple::SavedStatus status - const char *message +purple_savedstatus_activate_for_account(saved_status, account) + const Purple::SavedStatus saved_status + Purple::Account account -Purple::SavedStatus -purple_savedstatus_get_current() +MODULE = Purple::SavedStatus::Sub PACKAGE = Purple::SavedStatus::Sub PREFIX = purple_savedstatus_substatus_ +PROTOTYPES: ENABLE + +const char * +purple_savedstatus_substatus_get_message(substatus) + const Purple::SavedStatus::Sub substatus MODULE = Purple::SavedStatus PACKAGE = Purple::SavedStatuses PREFIX = purple_savedstatuses_ PROTOTYPES: ENABLE @@ -48,6 +136,16 @@ PPCODE: XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::SavedStatus"))); } +void +purple_savedstatuses_get_popular(how_many) + unsigned int how_many +PREINIT: + const GList *l; +PPCODE: + for (l = purple_savedstatuses_get_popular(how_many); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::SavedStatus"))); + } + Purple::Handle purple_savedstatuses_get_handle() diff --git a/libpurple/plugins/perl/common/module.h b/libpurple/plugins/perl/common/module.h index d399802c44..f4d38d7ec3 100644 --- a/libpurple/plugins/perl/common/module.h +++ b/libpurple/plugins/perl/common/module.h @@ -236,7 +236,7 @@ typedef PurpleRoomlistUiOps * Purple__Roomlist__UiOps; /* savedstatuses.h */ typedef PurpleSavedStatus * Purple__SavedStatus; -typedef PurpleSavedStatusSub * Purple__SavedStatusSub; +typedef PurpleSavedStatusSub * Purple__SavedStatus__Sub; /* sound.h */ typedef PurpleSoundEventID Purple__SoundEventID; diff --git a/libpurple/plugins/perl/common/typemap b/libpurple/plugins/perl/common/typemap index 6c7d82b91c..859cabc3a3 100644 --- a/libpurple/plugins/perl/common/typemap +++ b/libpurple/plugins/perl/common/typemap @@ -137,7 +137,9 @@ Purple::RoomlistFieldType T_IV Purple::RoomlistRoomType T_IV Purple::SavedStatus T_PurpleObj -Purple::SavedStatusSub T_PurpleObj +const Purple::SavedStatus T_PurpleObj +Purple::SavedStatus::Sub T_PurpleObj +const Purple::SavedStatus::Sub T_PurpleObj Purple::SoundEventID T_IV Purple::Sound::UiOps T_PurpleObj |