|
NAME$class\::Const - Perl Interface for $class Constants SYNOPSISCONSTANTSEOF my $groups = $data{$class};
for my $group (sort keys %$groups) {
print $fh <<"EOF";
":$group"use $class\::Const -compile qw(:$group); The ":$group" group is for XXX constants. EOF for my $const (sort @{ $groups->{$group} }) {
print $fh "=head3 C<$class\::$const>\n\n\n";
}
}
print $fh "=cut\n";
}
}
sub generate_constants_lookup_doc {
foreach my $class (sort keys %$Apache2::ConstantsTable) {
my $groups = $Apache2::ConstantsTable->{$class};
my $constants = [sort map { @$_ } values %$groups];
constants_lookup_code_doc($constants, $class, $data);
}
}
sub generate_constants_group_lookup_doc {
foreach my $class (sort keys %$Apache2::ConstantsTable) {
my $groups = $Apache2::ConstantsTable->{$class};
constants_group_lookup_code_doc($class, $groups, $data);
}
}
sub constants_group_lookup_code_doc {
while (my ($group, $constants) = each %$groups) {
$data->{$class}{$group} = [
map {
my @ifdef = constants_ifdef($_);
s/^($constant_prefixes)_?//o;
$seen_const{$class}{$_}++;
$_;
} @$constants
];
}
}
sub constants_lookup_code_doc {
my (%switch, %alias);
%alias = %shortcuts;
my $postfix = lc $class;
my $package = $class . '::';
my $package_len = length $package;
my $func = canon_func(qw(constants lookup), $postfix);
for (@$constants) {
if (s/^($constant_prefixes)(_)?//o) {
$alias{$_} = join $2 || "", $1, $_;
}
else {
$alias{$_} ||= $_;
}
next unless /^([A-Z])/;
push @{ $switch{$1} }, $_;
}
for my $key (sort keys %switch) {
my $names = $switch{$key};
for my $name (@$names) {
my @ifdef = constants_ifdef($alias{$name});
push @{ $data->{$class}{other} }, $name
unless $seen_const{$class}{$name}
}
}
}
sub generate_exports {
# src/modules/perl/*.c files needed to build APR/APR::* outside #
of mod_perl.so sub src_apr_ext {
1; __END__ NAMEModPerl::Code - Generate mod_perl glue code SYNOPSISuse ModPerl::Code (); my $code = ModPerl::Code->new; $code->generate; DESCRIPTIONThis module provides functionality for generating mod_perl glue code. Reason this code is generated rather than written by hand include: AUTHORDoug MacEachern
|