diff options
author | Stefan Metzmacher <metze@samba.org> | 2010-09-21 01:44:38 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2011-03-10 14:31:19 +0100 |
commit | d79fb9098bc3ce37daa8ab6d51dc62ad0bc2ad26 (patch) | |
tree | 750342a79c398407fa1ea924aaad2c734be29c10 /pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm | |
parent | f43e757096750dc2844af49363981fd0246d9f48 (diff) | |
download | samba-d79fb9098bc3ce37daa8ab6d51dc62ad0bc2ad26.tar.gz samba-d79fb9098bc3ce37daa8ab6d51dc62ad0bc2ad26.tar.bz2 samba-d79fb9098bc3ce37daa8ab6d51dc62ad0bc2ad26.zip |
pidl: add support for 'pipe' at the NDR layer
metze
Diffstat (limited to 'pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm')
-rw-r--r-- | pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm index 8f43702ad5..ab4f524b9f 100644 --- a/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm +++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm @@ -101,10 +101,11 @@ sub ParseFunction_r_Send($$$$) $self->pidl(""); my $out_params = 0; - foreach (@{$fn->{ELEMENTS}}) { - if (grep(/out/, @{$_->{DIRECTION}})) { - $out_params++; - } + foreach my $e (@{$fn->{ELEMENTS}}) { + next unless grep(/out/, @{$e->{DIRECTION}}); + next if ContainsPipe($e, $e->{LEVELS}[0]); + $out_params++; + } my $submem; @@ -490,6 +491,9 @@ sub ParseFunction_Send($$$$) next unless grep(/out/, @{$e->{DIRECTION}}); $self->ParseCopyArgument($fn, $e, "state->orig.out.", "_"); + + next if ContainsPipe($e, $e->{LEVELS}[0]); + $out_params++; } $self->pidl(""); @@ -569,6 +573,7 @@ sub ParseFunction_Done($$$$) $self->pidl("/* Copy out parameters */"); foreach my $e (@{$fn->{ELEMENTS}}) { + next if ContainsPipe($e, $e->{LEVELS}[0]); next unless (grep(/out/, @{$e->{DIRECTION}})); $self->ParseOutputArgument($fn, $e, @@ -698,6 +703,7 @@ sub ParseFunction_Sync($$$$) $self->pidl("/* Return variables */"); foreach my $e (@{$fn->{ELEMENTS}}) { + next if ContainsPipe($e, $e->{LEVELS}[0]); next unless (grep(/out/, @{$e->{DIRECTION}})); $self->ParseOutputArgument($fn, $e, "r.", "_", "sync"); |