GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MODPERL::CODE (3)

.ds Aq ’

NAME

$class\::Const - Perl Interface for $class Constants

CONTENTS

SYNOPSIS

CONSTANTS

EOF



        my $groups = $data{$class};
        for my $group (sort keys %$groups) {
            print $fh <<"EOF";



CW:$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 {
my ($data) = @_;



    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 {
my ($data) = @_;



    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 {
my ($class, $groups, $data) = @_;
my @tags;
my @code;



    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 ($constants, $class, $data) = @_;



    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 {
my ($self, $c_fh) = @_;
require ModPerl::WrapXS;
ModPerl::WrapXS->generate_exports($c_fh); }

# src/modules/perl/*.c files needed to build APR/APR::* outside # of mod_perl.so sub src_apr_ext {
return map { modperl_$_ } (qw(error bucket),
map { common_$_ } qw(util log)); }

1; __END__

NAME

ModPerl::Code - Generate mod_perl glue code

SYNOPSIS



  use ModPerl::Code ();
  my $code = ModPerl::Code->new;
  $code->generate;



DESCRIPTION

This module provides functionality for generating mod_perl glue code. Reason this code is generated rather than written by hand include:
consistency
thin and clean glue code
enable/disable features (without #ifdefs)
adapt to changes in Apache
experiment with different approaches to gluing

AUTHOR

Doug MacEachern
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 MODPERL::CODE (3) 2015-06-18

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.