You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2007/03/25 15:04:54 UTC
svn commit: r522258 - in /spamassassin/trunk: lib/Mail/SpamAssassin.pm
lib/Mail/SpamAssassin/PluginHandler.pm t/data/testplugin.pm t/plugin_file.t
Author: jm
Date: Sun Mar 25 06:04:54 2007
New Revision: 522258
URL: http://svn.apache.org/viewvc?view=rev&rev=522258
Log:
add new public API: Mail::SA::get_loaded_plugins_list(), to allow callers to get a list of the currently-loaded plugin objects
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin.pm
spamassassin/trunk/lib/Mail/SpamAssassin/PluginHandler.pm
spamassassin/trunk/t/data/testplugin.pm
spamassassin/trunk/t/plugin_file.t
Modified: spamassassin/trunk/lib/Mail/SpamAssassin.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin.pm?view=diff&rev=522258&r1=522257&r2=522258
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin.pm Sun Mar 25 06:04:54 2007
@@ -95,7 +95,7 @@
};
$VERSION = "3.002000"; # update after release (same format as perl $])
-# $IS_DEVEL_BUILD = 1; # change for release versions
+$IS_DEVEL_BUILD = 1; # change for release versions
# Used during the prerelease/release-candidate part of the official release
# process. If you hacked up your SA, you should add a version_tag to your .cf
@@ -1898,6 +1898,23 @@
dbg ("config: copying current conf to backup");
}
return $self->{conf}->clone($source, $dest);
+}
+
+###########################################################################
+
+=item @plugins = $f->get_loaded_plugins_list ( )
+
+Return the list of plugins currently loaded by this SpamAssassin object's
+configuration; each entry in the list is an object of type
+C<Mail::SpamAssassin::Plugin>.
+
+(This API was added in SpamAssassin 3.2.0.)
+
+=cut
+
+sub get_loaded_plugins_list {
+ my ($self) = @_;
+ return $self->{plugins}->get_loaded_plugins_list();
}
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/PluginHandler.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/PluginHandler.pm?view=diff&rev=522258&r1=522257&r2=522258
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PluginHandler.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PluginHandler.pm Sun Mar 25 06:04:54 2007
@@ -220,6 +220,13 @@
###########################################################################
+sub get_loaded_plugins_list {
+ my ($self) = @_;
+ return @{$self->{plugins}};
+}
+
+###########################################################################
+
sub finish {
my $self = shift;
delete $self->{cbs};
Modified: spamassassin/trunk/t/data/testplugin.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/data/testplugin.pm?view=diff&rev=522258&r1=522257&r2=522258
==============================================================================
--- spamassassin/trunk/t/data/testplugin.pm (original)
+++ spamassassin/trunk/t/data/testplugin.pm Sun Mar 25 06:04:54 2007
@@ -40,6 +40,10 @@
my ($self, $permsgstatus) = @_;
print "myTestPlugin eval test called: $self\n";
+ print "test: plugins loaded: ".
+ join(" ", sort $self->{main}->get_loaded_plugins_list()).
+ "\n";
+
my $file = $ENV{'SPAMD_PLUGIN_COUNTER_FILE'};
if ($file) {
open (IN, "<$file") or warn;
Modified: spamassassin/trunk/t/plugin_file.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/plugin_file.t?view=diff&rev=522258&r1=522257&r2=522258
==============================================================================
--- spamassassin/trunk/t/plugin_file.t (original)
+++ spamassassin/trunk/t/plugin_file.t Sun Mar 25 06:04:54 2007
@@ -2,7 +2,7 @@
use lib '.'; use lib 't';
use SATest; sa_t_init("plugin_file");
-use Test; BEGIN { plan tests => 7 };
+use Test; BEGIN { plan tests => 9 };
# ---------------------------------------------------------------------------
@@ -13,6 +13,9 @@
q{ registered myTestPlugin }, 'registered',
q{ myTestPlugin eval test called }, 'test_called',
q{ myTestPlugin finishing }, 'plugin_finished',
+
+q{ test: plugins loaded: Mail::SpamAssassin::Plugin::AWL=HASH }, 'plugins_loaded',
+q{ myTestPlugin=HASH }, 'plugins_loaded2',
);