X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FClientAPI.pm;h=1677fcc5d0d26ca063525e274663f3496f372dad;hb=d7eafc9c9aae2bf47ea19a56cc5bb1380c5874e4;hp=902f58b31ba410708f6766564705864ac49b3b33;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0;p=freeside.git diff --git a/FS/FS/ClientAPI.pm b/FS/FS/ClientAPI.pm index 902f58b31..1677fcc5d 100644 --- a/FS/FS/ClientAPI.pm +++ b/FS/FS/ClientAPI.pm @@ -1,29 +1,34 @@ package FS::ClientAPI; use strict; -use vars qw(%handler $domain $DEBUG); +use base 'Exporter'; +use vars qw( @EXPORT_OK %handler $domain $DEBUG ); + +@EXPORT_OK = qw( load_clientapi_modules ); $DEBUG = 0; %handler = (); -#find modules -foreach my $INC ( @INC ) { - my $glob = "$INC/FS/ClientAPI/*.pm"; - warn "FS::ClientAPI: searching $glob" if $DEBUG; - foreach my $file ( glob($glob) ) { - $file =~ /\/(\w+)\.pm$/ or do { - warn "unrecognized ClientAPI file: $file"; - next - }; - my $mod = $1; - warn "using FS::ClientAPI::$mod" if $DEBUG; - eval "use FS::ClientAPI::$mod;"; - die "error using FS::ClientAPI::$mod: $@" if $@; +sub load_clientapi_modules { + + #find modules + foreach my $INC ( @INC ) { + my $glob = "$INC/FS/ClientAPI/*.pm"; + warn "FS::ClientAPI: searching $glob" if $DEBUG; + foreach my $file ( glob($glob) ) { + $file =~ /\/(\w+)\.pm$/ or do { + warn "unrecognized ClientAPI file: $file"; + next + }; + my $mod = $1; + warn "using FS::ClientAPI::$mod" if $DEBUG; + eval "use FS::ClientAPI::$mod;"; + die "error using FS::ClientAPI::$mod: $@" if $@; + } } -} -#--- +} sub dispatch { my ( $self, $name ) = ( shift, shift );