package ExtUtils::XSBuilder::PODTemplate; # -------------------------------------------------------------------------- sub new { my $class = shift ; my $self = {} ; bless $self, $class ; return $self ; } # -------------------------------------------------------------------------- sub since_default { undef } ; # -------------------------------------------------------------------------- sub gen_pod_head { my ($self, $module) = @_ ; qq{ =head1 NAME $module =head1 FUNCTIONS } ; } # -------------------------------------------------------------------------- sub gen_pod_func { my ($self, $objclass, $obj, $method, $args, $retclass, $ret, $comment, $since) = @_ ; my $argnames = join (',', map { $_ -> {name} } @{$args}[($objclass?1:0)..$#$args]) ; my $rettext = $retclass?'$ret = ':'' ; my $objtext = $objclass?"$obj -> ":'' ; my $data = qq{ =head2 \@func: $method() $rettext$objtext $method($argnames) =over 4 } ; foreach $arg (@$args) { $data .= qq{ =item \@param: $arg->{class} $arg->{name} $arg->{comment} } ; } if ($retclass) { $data .= qq{ =item \@ret: $retclass $retcomment } ; } $data .= qq{ =item \@since: $since =back $comment } ; return $data ; } # -------------------------------------------------------------------------- sub gen_pod_struct_member { my ($self, $objclass, $obj, $memberclass, $member, $comment, $since) = @_ ; qq{ =head2 \@func: $member() \$val = $obj -> $member(\$newval) =over 4 =item \@param: $objclass $obj =item \@param: $memberclass \$newval } . ($since?"=item \@since: $since\n\n":'') . qq{ =back $comment } ; } 1;