1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
# Copyrights 2007-2019 by [Mark Overmeer <markov@cpan.org>].
# For other contributors see ChangeLog.
# See the manual pages for details on the licensing terms.
# Pod stripped from pm file by OODoc 2.02.
# This code is part of distribution XML-Compile-SOAP. Meta-POD processed
# with OODoc into POD and HTML manual-pages. See README.md
# Copyright Mark Overmeer. Licensed under the same terms as Perl itself.
package XML::Compile::SOAP::Extension;
use vars '$VERSION';
$VERSION = '3.26';
use warnings;
use strict;
use Log::Report 'xml-compile-soap';
my @ext;
sub new($@) { my $class = shift; (bless {}, $class)->init( {@_} ) }
sub init($)
{ my $self = shift;
trace "loading extension ".ref $self;
push @ext, $self;
$self;
}
#--------
### For all methods named below: when called on an object, it is the stub
### for the extension. Only when called as class method, it will walk all
### extension objects.
sub wsdl11Init($$)
{ ref shift and return;
$_->wsdl11Init(@_) for @ext;
}
#--------
sub soap11OperationInit($$)
{ ref shift and return;
$_->soap11OperationInit(@_) for @ext;
}
sub soap11ClientWrapper($$$)
{ ref shift and return $_[1];
my ($op, $call, $args) = @_;
$call = $_->soap11ClientWrapper($op, $call, $args) for @ext;
$call;
}
sub soap11HandlerWrapper($$$)
{ my ($thing, $op, $cb, $args) = @_;
ref $thing and return $cb;
$cb = $_->soap11HandlerWrapper($op, $cb, $args) for @ext;
$cb;
}
#--------
sub soap12OperationInit($$)
{ ref shift and return;
$_->soap12OperationInit(@_) for @ext;
}
sub soap12ClientWrapper($$$)
{ ref shift and return $_[1];
my ($op, $call, $args) = @_;
$call = $_->soap12ClientWrapper($op, $call, $args) for @ext;
$call;
}
sub soap12HandlerWrapper($$$)
{ my ($thing, $op, $cb, $args) = @_;
ref $thing and return $cb;
$cb = $_->soap12HandlerWrapper($op, $cb, $args) for @ext;
$cb;
}
1;
|