r24592: pass down the ndr_interface_table in the samba3 client bindings
authorStefan Metzmacher <metze@samba.org>
Tue, 21 Aug 2007 12:19:56 +0000 (12:19 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 20:02:22 +0000 (15:02 -0500)
instead of the pull and push functions

metze

source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
source/pidl/tests/samba3-cli.pl

index b4e635f0dba7da392ed52457d64d744c78d645b3..9c3f01ad939205ce497c34fa12cee040d97074a2 100644 (file)
@@ -36,10 +36,11 @@ sub new($)
 
 sub ParseFunction($$$)
 {
-       my ($self, $uif, $fn) = @_;
+       my ($self, $if, $fn) = @_;
 
        my $inargs = "";
        my $defargs = "";
+       my $uif = uc($if);
        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("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)) {");
@@ -141,7 +142,7 @@ sub ParseInterface($$)
 
        $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\__ */");
 }
 
index 733bf93a99858d1538084f9cef4b65ab3bcaa29b..8c06ed8c2725ecb886a724940c81b057f37806f6 100755 (executable)
@@ -39,7 +39,7 @@ is($x->{res}, "NTSTATUS rpccli_bar(struct rpc_pipe_client *cli, TALLOC_CTX *mem_
 \tif (DEBUGLEVEL >= 10)
 \t\tNDR_PRINT_IN_DEBUG(bar, &r);
 \t
-\tstatus = cli_do_rpc_ndr(cli, mem_ctx, PI_foo, NDR_BAR, &r, (ndr_pull_flags_fn_t)ndr_pull_bar, (ndr_push_flags_fn_t)ndr_push_bar);
+\tstatus = cli_do_rpc_ndr(cli, mem_ctx, PI_FOO, &ndr_table_foo, NDR_BAR, &r);
 \t
 \tif (!NT_STATUS_IS_OK(status)) {
 \t\treturn status;