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',
 
 );