Author: jelmer Date: 2006-09-13 13:45:36 +0000 (Wed, 13 Sep 2006) New Revision: 18470
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18470 Log: Remove obsolete client generator code for Samba3 (we're now using the new code that uses libndr) Removed: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/Client.pm Modified: branches/SAMBA_4_0/source/pidl/pidl Changeset: Deleted: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/Client.pm =================================================================== --- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/Client.pm 2006-09-13 13:42:23 UTC (rev 18469) +++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/Client.pm 2006-09-13 13:45:36 UTC (rev 18470) @@ -1,137 +0,0 @@ -################################################### -# Samba3 NDR client generator for IDL structures -# Copyright [EMAIL PROTECTED] 2005 -# released under the GNU GPL - -package Parse::Pidl::Samba3::Client; - -use strict; -use Parse::Pidl::Typelist qw(hasType getType mapType); -use Parse::Pidl::Util qw(has_property ParseExpr); -use Parse::Pidl::NDR qw(GetPrevLevel GetNextLevel ContainsDeferred); -use Parse::Pidl::Samba3::Types qw(DeclLong); - -use vars qw($VERSION); -$VERSION = '0.01'; - -my $res = ""; -my $tabs = ""; -sub indent() { $tabs.="\t"; } -sub deindent() { $tabs = substr($tabs, 1); } -sub pidl($) { $res .= $tabs.(shift)."\n"; } -sub fatal($$) { my ($e,$s) = @_; die("$e->{ORIGINAL}->{FILE}:$e->{ORIGINAL}->{LINE}: $s\n"); } -sub warning($$) { my ($e,$s) = @_; warn("$e->{ORIGINAL}->{FILE}:$e->{ORIGINAL}->{LINE}: $s\n"); } - -sub CopyLevel($$$$) -{ - sub CopyLevel($$$$); - my ($e,$l,$argument,$member) = @_; - - if ($l->{TYPE} eq "DATA") { - pidl "*$argument = $member;"; - } elsif ($l->{TYPE} eq "POINTER") { - pidl "if (r.ptr$l->{POINTER_INDEX}_$e->{NAME}) {"; - indent; - pidl "*$argument = talloc_size(mem_ctx, sizeof(void *));"; - CopyLevel($e,GetNextLevel($e,$l),"*$argument", $member); - deindent; - pidl "}"; - } elsif ($l->{TYPE} eq "SWITCH") { - CopyLevel($e,GetNextLevel($e,$l),$argument,$member); - } elsif ($l->{TYPE} eq "ARRAY") { - pidl "*$argument = $member;"; - } -} - -sub ParseFunction($$) -{ - my ($if,$fn) = @_; - - my $inargs = ""; - my $defargs = ""; - foreach (@{$fn->{ELEMENTS}}) { - $defargs .= ", " . DeclLong($_); - if (grep(/in/, @{$_->{DIRECTION}})) { - $inargs .= ", $_->{NAME}"; - } - } - - my $uif = uc($if->{NAME}); - my $ufn = uc($fn->{NAME}); - - pidl "NTSTATUS rpccli_$fn->{NAME}(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx$defargs)"; - pidl "{"; - indent; - pidl "prs_struct qbuf, rbuf;"; - pidl "$uif\_Q_$ufn q;"; - pidl "$uif\_R_$ufn r;"; - pidl ""; - pidl "ZERO_STRUCT(q);"; - pidl "ZERO_STRUCT(r);"; - pidl ""; - pidl "/* Marshall data and send request */"; - pidl ""; - pidl "if (!init_$if->{NAME}_q_$fn->{NAME}(&q$inargs))"; - pidl "\treturn NT_STATUS_INVALID_PARAMETER;"; - pidl ""; - pidl "CLI_DO_RPC(cli, mem_ctx, PI_$uif, $ufn,"; - pidl "\tq, r,"; - pidl "\tqbuf, rbuf, "; - pidl "\t$if->{NAME}_io_q_$fn->{NAME},"; - pidl "\t$if->{NAME}_io_r_$fn->{NAME},"; - pidl "\tNT_STATUS_UNSUCCESSFUL);"; - pidl ""; - pidl "/* Return variables */"; - foreach my $e (@{$fn->{ELEMENTS}}) { - next unless (grep(/out/, @{$e->{DIRECTION}})); - - CopyLevel($e, $e->{LEVELS}[1], $e->{NAME}, "r.$e->{NAME}"); - } - - pidl""; - pidl "/* Return result */"; - if (not $fn->{RETURN_TYPE}) { - pidl "return NT_STATUS_OK;"; - } elsif ($fn->{RETURN_TYPE} eq "NTSTATUS") { - pidl "return r.status;"; - } elsif ($fn->{RETURN_TYPE} eq "WERROR") { - pidl "return werror_to_ntstatus(r.status);"; - } else { - pidl "/* Sorry, don't know how to convert $fn->{RETURN_TYPE} to NTSTATUS */"; - pidl "return NT_STATUS_OK;"; - } - - deindent; - pidl "}"; - pidl ""; -} - -sub ParseInterface($) -{ - my $if = shift; - - ParseFunction($if, $_) foreach (@{$if->{FUNCTIONS}}); -} - -sub Parse($$) -{ - my($ndr,$filename) = @_; - - $res = ""; - - pidl "/*"; - pidl " * Unix SMB/CIFS implementation."; - pidl " * client auto-generated by pidl. DO NOT MODIFY!"; - pidl " */"; - pidl ""; - pidl "#include \"includes.h\""; - pidl ""; - - foreach (@$ndr) { - ParseInterface($_) if ($_->{TYPE} eq "INTERFACE"); - } - - return $res; -} - -1; Modified: branches/SAMBA_4_0/source/pidl/pidl =================================================================== --- branches/SAMBA_4_0/source/pidl/pidl 2006-09-13 13:42:23 UTC (rev 18469) +++ branches/SAMBA_4_0/source/pidl/pidl 2006-09-13 13:45:36 UTC (rev 18470) @@ -470,7 +470,6 @@ my($opt_samba3_parser); my($opt_samba3_server); my($opt_samba3_template); -my($opt_samba3_client); my($opt_samba3_ndr_client); my($opt_template) = 0; my($opt_client); @@ -552,7 +551,6 @@ 'samba3-parser:s' => \$opt_samba3_parser, 'samba3-server:s' => \$opt_samba3_server, 'samba3-template:s' => \$opt_samba3_template, - 'samba3-client:s' => \$opt_samba3_client, 'samba3-ndr-client:s' => \$opt_samba3_ndr_client, 'header:s' => \$opt_header, 'server:s' => \$opt_server, @@ -580,11 +578,6 @@ exit(0); } -if ($opt_samba3_client and $opt_samba3_ndr_client) { - print "--samba3-client and --samba3-ndr-client can not be used together\n"; - exit(1); -} - sub process_file($) { my $idl_file = shift; @@ -660,7 +653,7 @@ defined($opt_ndr_parser) or defined($opt_ejs) or defined($opt_dump_ndr_tree) or defined($opt_samba3_header) or defined($opt_samba3_parser) or defined($opt_samba3_server) or - defined($opt_samba3_template) or defined($opt_samba3_client) or + defined($opt_samba3_template) or defined($opt_swig) or defined($opt_samba3_ndr_client)) { require Parse::Pidl::NDR; $ndr = Parse::Pidl::NDR::Parse($pidl); @@ -773,7 +766,7 @@ } if (defined($opt_samba3_header) or defined($opt_samba3_parser) or - defined($opt_samba3_server) or defined($opt_samba3_client) or + defined($opt_samba3_server) or defined($opt_samba3_ndr_client) or defined($opt_samba3_template)) { require Parse::Pidl::Samba3::Types; Parse::Pidl::Samba3::Types::LoadTypes($ndr); @@ -803,12 +796,6 @@ FileSave($header, Parse::Pidl::Samba3::Template::Parse($ndr, $basename)); } - if (defined($opt_samba3_client)) { - my $header = ($opt_samba3_client or "$outputdir/cli_$basename.c"); - require Parse::Pidl::Samba3::Client; - FileSave($header, Parse::Pidl::Samba3::Client::Parse($ndr, $basename)); - } - if (defined($opt_samba3_ndr_client)) { my $client = ($opt_samba3_ndr_client or "$outputdir/cli_$basename.c"); my $header = $client; $header =~ s/\.c$/\.h/;