r24592: pass down the ndr_interface_table in the samba3 client bindings
[ira/wip.git] / source / pidl / lib / Parse / Pidl / Samba3 / ClientNDR.pm
index b4e635f0dba7da392ed52457d64d744c78d645b3..9c3f01ad939205ce497c34fa12cee040d97074a2 100644 (file)
@@ -36,10 +36,11 @@ sub new($)
 
 sub ParseFunction($$$)
 {
 
 sub ParseFunction($$$)
 {
-       my ($self, $uif, $fn) = @_;
+       my ($self, $if, $fn) = @_;
 
        my $inargs = "";
        my $defargs = "";
 
        my $inargs = "";
        my $defargs = "";
+       my $uif = uc($if);
        my $ufn = "NDR_".uc($fn->{NAME});
 
        foreach (@{$fn->{ELEMENTS}}) {
        my $ufn = "NDR_".uc($fn->{NAME});
 
        foreach (@{$fn->{ELEMENTS}}) {
@@ -63,7 +64,7 @@ sub ParseFunction($$$)
        $self->pidl("if (DEBUGLEVEL >= 10)");
        $self->pidl("\tNDR_PRINT_IN_DEBUG($fn->{NAME}, &r);");
        $self->pidl("");
        $self->pidl("if (DEBUGLEVEL >= 10)");
        $self->pidl("\tNDR_PRINT_IN_DEBUG($fn->{NAME}, &r);");
        $self->pidl("");
-       $self->pidl("status = cli_do_rpc_ndr(cli, mem_ctx, PI_$uif, $ufn, &r, (ndr_pull_flags_fn_t)ndr_pull_$fn->{NAME}, (ndr_push_flags_fn_t)ndr_push_$fn->{NAME});");
+       $self->pidl("status = cli_do_rpc_ndr(cli, mem_ctx, PI_$uif, &ndr_table_$if, $ufn, &r);");
        $self->pidl("");
 
        $self->pidl("if (!NT_STATUS_IS_OK(status)) {");
        $self->pidl("");
 
        $self->pidl("if (!NT_STATUS_IS_OK(status)) {");
@@ -141,7 +142,7 @@ sub ParseInterface($$)
 
        $self->pidl_hdr("#ifndef __CLI_$uif\__");
        $self->pidl_hdr("#define __CLI_$uif\__");
 
        $self->pidl_hdr("#ifndef __CLI_$uif\__");
        $self->pidl_hdr("#define __CLI_$uif\__");
-       $self->ParseFunction(uc($if->{NAME}), $_) foreach (@{$if->{FUNCTIONS}});
+       $self->ParseFunction($if->{NAME}, $_) foreach (@{$if->{FUNCTIONS}});
        $self->pidl_hdr("#endif /* __CLI_$uif\__ */");
 }
 
        $self->pidl_hdr("#endif /* __CLI_$uif\__ */");
 }