# base class for all the import plugins

package BasPlug;


sub new {
    my ($class) = @_;

    return bless {}, $class;
}

# return 1 if this class might recurse using $pluginfo
sub is_recursive {
    my $self = shift (@_);

    die "BasPlug::is_recursive function must be implemented in sub classes\n";
}

# return number of files processed, undef if can't process
# Note that $base_dir might be "" and that $file might 
# include directories
sub read {
    my $self = shift (@_);
    my ($pluginfo, $base_dir, $file, $metadata, $processor, $maxdocs) = @_;

    die "BasPlug::read function must be implemented in sub classes\n";

    return undef; # will never get here
}


1;
