gozer 2004/08/12 22:45:50
Modified: src/docs/2.0/api/Apache CmdParms.pod Command.pod
Log:
Apache::CmdParms is completed.
Awaiting review by Stas please...
Revision Changes Path
1.6 +109 -181 modperl-docs/src/docs/2.0/api/Apache/CmdParms.pod
Index: CmdParms.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/Apache/CmdParms.pod,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- CmdParms.pod 10 Aug 2004 03:15:52 -0000 1.5
+++ CmdParms.pod 13 Aug 2004 05:45:49 -0000 1.6
@@ -1,6 +1,6 @@
=head1 NAME
-Apache::CmdParms - Perl API for XXX
+Apache::CmdParms - Perl API for Apache command parameters object
@@ -8,15 +8,50 @@
=head1 Synopsis
use Apache::CmdParms ();
+ use Apache::Const -compile => qw(NOT_IN_LOCATION);
+
+ sub MyDirective {
+ my ($self, $parms, $args) = @_;
+
+ # this command's command object
+ $cmd = $parms->cmd;
+
+ # check the current command's context
+ $error = $parms->check_cmd_context(Apache::NOT_IN_LOCATION);
+
+ # this command's context
+ $context = $parms->context;
+
+ # this command's directive object
+ $directive = $parms->directive;
+
+ # the extra information passed thru cmd_data in @APACHE_MODULE_COMMANDS
+ $info = $parms->info;
+
+ # which methods are <Limit>ed ?
+ $limit = $parms->limited;
+
+ # which allow-override bits are set
+ $override = $parms->override;
+
+ # the path this command is being invoked in
+ $path = $parms->path;
+
+ # this command's pool
+ $p = $parms->pool;
+
+ # this command's configuration time pool
+ $p = $parms->temp_pool;
+ }
-META: to be completed
=head1 Description
-META: to be completed
+C<Apache::CmdParms> provides the Perl API for Apache command
+parameters object.
@@ -27,110 +62,68 @@
-Comments for Philippe:
-
- should the elements of ap_params_t elements be writable? see the
- comments in the API section of the Command.pod and Directive.pod. if
- unsure, make things read-only. we can always enable them back later.
-
-
-
=head2 C<cmd>
-META: Autogenerated - needs to be reviewed/completed
-
-configuration command
+This module's command information
- $obj->cmd($newval);
+ $cmd = $parms->cmd();
=over 4
-=item obj: C<$obj>
+=item parms: C<$parms>
( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-=item arg1: C<$newval>
+=item ret: C<$cmd>
( C<L<Apache::Command object|docs::2.0::api::Apache::Command>> )
-=item ret: no return value
-
-=item since: 1.99_12
-
-=back
-
-
-
-
-
-=head2 C<config_file>
-
-META: Autogenerated - needs to be reviewed/completed
-
-Config file structure.
-
- $obj->config_file($newval);
-
-=over 4
-
-=item obj: C<$obj>
-( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-
-=item arg1: C<$newval>
-( C<L<Apache::ConfigFile object|docs::2.0::api::Apache::ConfigFile>> )
-
-=item ret: no return value
-
=item since: 1.99_12
-
=back
-=head2 C<context>
-META: Autogenerated - needs to be reviewed/completed
+=head2 C<check_cmd_context>
-per_dir_config vector passed to handle_command
+Check the current command against a context bitmask of forbidden contexts.
- $obj->context($newval);
+ $error = $parms->check_cmd_context(Apache::NOT_IN_LOCATION);
=over 4
-=item obj: C<$obj>
+=item parms: C<$parms>
( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-=item arg1: C<$newval>
-( C<L<Apache::ConfVector object|docs::2.0::api::Apache::ConfVector>> )
+=item ret: C<$error>
-=item ret: no return value
+If the context is forbidden, this method returns a textual description
+of why it was forbidden. If the context is permitted, this method returns
+C<undef>.
-=item since: 1.99_12
+=item since: 1.99_16
=back
-
=head2 C<directive>
-META: Autogenerated - needs to be reviewed/completed
-
-the directive specifying this command
+This command's directive object in the configuration tree
- $obj->directive($newval);
+ $directive = $parms->directive;
=over 4
-=item obj: C<$obj>
+=item parms: C<$parms>
( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-=item arg1: C<$newval>
+=item ret: C<$newval>
( C<L<Apache::Directive object|docs::2.0::api::Apache::Directive>> )
-=item ret: no return value
+The current directive node in the configuration tree
=item since: 1.99_12
@@ -141,47 +134,21 @@
-=head2 C<err_directive>
-
-META: Autogenerated - needs to be reviewed/completed
-
-directive with syntax error
-
- $obj->err_directive($newval);
-
-=over 4
-
-=item obj: C<$obj>
-( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-
-=item arg1: C<$newval>
-( C<L<Apache::Directive object|docs::2.0::api::Apache::Directive>> )
-
-=item ret: no return value
-
-=item since: 1.99_12
-
-=back
-
-
-
=head2 C<info>
-META: Autogenerated - needs to be reviewed/completed
-
-Argument to command from cmd_table
+The extra information passed thru C<cmd_data> in
+C<L<@APACHE_MODULE_COMMANDS|docs::2.0::user::config::custom/C_cmd_data_>>
- $obj->info($newval);
+ $info = $parms->info;
=over 4
-=item obj: C<$obj>
+=item parms: C<$parms>
( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-=item arg1: C<$newval>
-(XXX)
+=item ret: C<$info> (string)
-=item ret: no return value
+The string passed in C<cmd_data>
=item since: 1.99_12
@@ -194,21 +161,16 @@
=head2 C<limited>
-META: Autogenerated - needs to be reviewed/completed
+Which methods are currently E<lt>LimitE<gt>ed
-Which methods are E<lt>LimitE<gt>ed
-
- $obj->limited($newval);
+ $limit = $parms->limited;
=over 4
-=item obj: C<$obj>
+=item parms: C<$parms>
( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-=item arg1: C<$newval>
-(number)
-
-=item ret: no return value
+=item ret: C<$limit> (integer)
=item since: 1.99_12
@@ -218,48 +180,18 @@
-=head2 C<limited_xmethods>
-
-META: Autogenerated - needs to be reviewed/completed
-
-methods which are limited
-
- $obj->limited_xmethods($newval);
-
-=over 4
-
-=item obj: C<$obj>
-( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-
-=item arg1: C<$newval>
-(C<L<APR::ArrayHeader|docs::2.0::api::APR::ArrayHeader>>)
-
-=item ret: no return value
-
-=item since: 1.99_12
-
-=back
-
-
-
-
=head2 C<override>
-META: Autogenerated - needs to be reviewed/completed
-
Which allow-override bits are set
- $obj->override($newval);
+ $override = $parms->override;
=over 4
-=item obj: C<$obj>
+=item parms: C<$parms>
( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-=item arg1: C<$newval>
-(integer)
-
-=item ret: no return value
+=item ret: C<$override> (integer)
=item since: 1.99_12
@@ -271,26 +203,20 @@
=head2 C<path>
-META: Autogenerated - needs to be reviewed/completed
+The current pathname/location/match of the block this command is in
-If configuring for a directory, pathname of that directory. NOPE!
-That's what it meant previous to the existance of E<lt>FilesE<gt>,
-E<lt>LocationE<gt> and regex matching. Now the only usefulness that
-can be derived from this field is whether a command is being called in
-a server context (path == NULL) or being called in a dir context (path
-!= NULL).
-
- $obj->path($newval);
+ $path = $parms->path;
=over 4
-=item obj: C<$obj>
+=item parms: C<$parms>
( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-=item arg1: C<$newval>
-(string)
+=item ret: C<$path> (string)
-=item ret: no return value
+If configuring for a block like E<lt>LocationE<gt>, E<lt>LocationMatchE<gt>,
+E<lt>DirectoryE<gt>, etc, the pathname part of that directive. Otherwise,
+C<undef> is returned.
=item since: 1.99_12
@@ -300,22 +226,18 @@
=head2 C<pool>
-META: Autogenerated - needs to be reviewed/completed
-
-Pool to allocate new storage in
+Pool associated with this command
- $obj->pool($newval);
+ $p = $parms->pool;
=over 4
-=item obj: C<$obj>
+=item parms: C<$parms>
( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-=item arg1: C<$newval>
+=item ret: C<$p>
(C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
-=item ret: no return value
-
=item since: 1.99_12
=back
@@ -327,20 +249,16 @@
=head2 C<server>
-META: Autogenerated - needs to be reviewed/completed
+The server this command is appearing in
-server_rec being configured for
-
- $obj->server($s);
+ $s = $parms->server;
=over 4
-=item obj: C<$obj>
+=item parms: C<$parms>
( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-=item arg1: C<$s> (C<L<Apache::Server|docs::2.0::api::Apache::ServerRec>>)
-
-=item ret: no return value
+=item ret: C<$s> (C<L<Apache::Server|docs::2.0::api::Apache::ServerRec>>)
=item since: 1.99_12
@@ -353,21 +271,17 @@
=head2 C<temp_pool>
-META: Autogenerated - needs to be reviewed/completed
-
Pool for scratch memory; persists during configuration, but
wiped before the first request is served...
- $obj->temp_pool($p);
+ $p = $parms->temp_pool;
=over 4
-=item obj: C<$obj>
+=item parms: C<$parms>
( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-=item arg1: C<$p> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
-
-=item ret: no return value
+=item ret: C<$p> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
=item since: 1.99_12
@@ -377,23 +291,37 @@
-=head2 C<xlimited>
+=head1 Unsupported API
+
+C<Apache::CmdParms> also provides auto-generated Perl interface for
+a few other methods which aren't tested at the moment and therefore
+their API is a subject to change. These methods will be finalized
+later as a need arises. If you want to rely on any of the following
+methods please contact the L<the mod_perl development mailing
+list|maillist::dev> so we can help each other take the steps necessary
+to shift the method to an officially supported API.
+
+
-META: Autogenerated - needs to be reviewed/completed
-methods which are xlimited
- $obj->xlimited($newval);
+
+=head2 C<context>
+
+Get context containing pointers to modules' per-dir
+config structures.
+
+ $context = $parms->context;
=over 4
-=item obj: C<$obj>
+=item parms: C<$parms>
( C<L<Apache::CmdParms object|docs::2.0::api::Apache::CmdParms>> )
-=item arg1: C<$newval>
-(C<L<Apache::MethodList|docs::2.0::api::Apache::MethodList>>)
+=item ret: C<$newval>
+( C<L<Apache::ConfVector object|docs::2.0::api::Apache::ConfVector>> )
-=item ret: no return value
+Returns the commands' per-dir config structures
=item since: 1.99_12
1.7 +0 -29 modperl-docs/src/docs/2.0/api/Apache/Command.pod
Index: Command.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/Apache/Command.pod,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Command.pod 11 Aug 2004 18:15:06 -0000 1.6
+++ Command.pod 13 Aug 2004 05:45:50 -0000 1.7
@@ -56,35 +56,6 @@
-=head2 C<check_cmd_context>
-
-META: This probably belongs in Apache::CmdParams
-
- $ret = $cmd->check_cmd_context($forbidden);
-
-=over 4
-
-=item obj: C<$cmd>
-(C<L<Apache::CmdParms|docs::2.0::api::Apache::CmdParms>>)
-
-The command to check
-
-=item arg1: C<$forbidden> (XXX)
-
-Where the command is forbidden.
-
-=item ret: C<$ret> ( string )
-
-Error string on error, C<undef> on success
-
-=item since: 1.99_12
-
-=back
-
-
-
-
-
=head2 C<errmsg>
'usage' message for that command, in case of syntax errors
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]