4 use vars qw(%handler $domain $DEBUG);
11 foreach my $INC ( @INC ) {
12 my $glob = "$INC/FS/ClientAPI/*.pm";
13 warn "FS::ClientAPI: searching $glob" if $DEBUG;
14 foreach my $file ( glob($glob) ) {
15 $file =~ /\/(\w+)\.pm$/ or do {
16 warn "unrecognized ClientAPI file: $file";
20 warn "using FS::ClientAPI::$mod" if $DEBUG;
21 eval "use FS::ClientAPI::$mod;";
22 die "error using FS::ClientAPI::$mod: $@" if $@;
27 sub register_handlers {
29 my %new_handlers = @_;
30 foreach my $key ( keys %new_handlers ) {
31 warn "WARNING: redefining sub $key" if exists $handler{$key};
32 #warn "registering $key";
33 $handler{$key} = $new_handlers{$key};
40 my ( $self, $name ) = ( shift, shift );
41 my $sub = $handler{$name}
42 or die "unknown FS::ClientAPI sub $name (known: ". join(" ", keys %handler );
43 #or die "unknown FS::ClientAPI sub $name";