-#(sub for modules)
-sub register_handlers {
- my $self = shift;
- my %new_handlers = @_;
- foreach my $key ( keys %new_handlers ) {
- warn "WARNING: redefining sub $key" if exists $handler{$key};
- #warn "registering $key";
- $handler{$key} = $new_handlers{$key};
+=item load_clientapi_modules
+
+=cut
+
+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 $@;
+ }