$MODULE_NAME = "Prefs Functions Test"; # All the information Purple gets about our nifty plugin name => "Perl: $MODULE_NAME", summary => "Test plugin for the Perl interpreter.", description => "Implements a set of test proccedures to ensure all " . "functions that work in the C API still work in the " . "Perl plugin interface. As XSUBs are added, this " . "*should* be updated to test the changes. " . "Furthermore, this will function as the tutorial perl " . author => "John H. Kelm <johnhkelm\@gmail.com>", url => "http://sourceforge.net/users/johnhkelm/", unload => "plugin_unload", # These names must already exist my $GROUP = "UIUC Buddies"; my $USERNAME = "johnhkelm2"; # We will create these on load then destroy them on unload my $TEST_GROUP = "perlTestGroup"; my $TEST_NAME = "perlTestName"; my $TEST_ALIAS = "perlTestAlias"; my $PROTOCOL_ID = "prpl-aim"; $frame = Purple::PluginPref::Frame->new(); $ppref = Purple::PluginPref->new_with_label("boolean"); $ppref = Purple::PluginPref->new_with_name_and_label( "/plugins/core/perl_test/bool", "Boolean Preference"); $ppref = Purple::PluginPref->new_with_name_and_label( "/plugins/core/perl_test/choice", "Choice Preference"); $ppref->add_choice("ch0", "ch0-val"); $ppref->add_choice("ch1", "ch1-val"); $ppref = Purple::PluginPref->new_with_name_and_label( "/plugins/core/perl_test/text", "Text Box Preference"); $ppref->set_max_length(16); my ($pref, $type, $value, $data) = @_; print "pref changed: [$pref]($type)=$value data=$data\n"; # This is the sub defined in %PLUGIN_INFO to be called when the plugin is loaded # Note: The plugin has a reference to itself on top of the argument stack. ######### TEST CODE HERE ########## Purple::Prefs::add_none("/plugins/core/perl_test"); Purple::Prefs::add_bool("/plugins/core/perl_test/bool", 1); Purple::Prefs::add_string("/plugins/core/perl_test/choice", "ch1"); Purple::Prefs::add_string("/plugins/core/perl_test/text", "Foobar"); Purple::Prefs::connect_callback($plugin, "/plugins/core/perl_test", \&pref_cb, "none"); Purple::Prefs::connect_callback($plugin, "/plugins/core/perl_test/bool", \&pref_cb, "bool"); Purple::Prefs::connect_callback($plugin, "/plugins/core/perl_test/choice", \&pref_cb, "choice"); Purple::Prefs::connect_callback($plugin, "/plugins/core/perl_test/text", \&pref_cb, "text"); print "\n\n" . "#" x 80 . "\n\n"; ######### TEST CODE HERE ########## print "\n\n" . "#" x 80 . "\n\n";