# $Source: /Users/clajac/cvsroot//Scripting/Scripting/Expose/Function.pm,v $
# $Author: clajac $
# $Date: 2003/07/19 21:02:18 $
# $Revision: 1.5 $
package Scripting::Expose::Function;
use strict;
sub new {
my ($pkg) = @_;
$pkg = ref $pkg || $pkg;
my $self = bless {
entries => {},
}, $pkg;
return $self;
}
sub has_function {
my ($self, $name);
return exists $self->{entries}->{$name};
}
sub add_function {
my ($self, $name, $code, $secure) = @_;
if ($secure eq 'arguments') {
$code = sub {
$code->(@_, Scripting::Security->secure);
};
}
$self->{entries}->{$name} = $code;
}
sub functions {
my $self = shift;
return %{$self->{entries}};
}
1;