[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha2-1358-g8ca4b0b

Günther Deschner gd at samba.org
Tue Mar 25 16:53:28 GMT 2008


The branch, v4-0-test has been updated
       via  8ca4b0b0942564afa70b2e8a6d67d65ea8b75e43 (commit)
      from  9a1466abbd4115f4a57d794006aca29aa0184ced (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 8ca4b0b0942564afa70b2e8a6d67d65ea8b75e43
Author: Günther Deschner <gd at samba.org>
Date:   Tue Mar 25 17:38:27 2008 +0100

    Add some more header properties as inline comments to the generated samba3 client.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm |   34 +++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm b/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
index 86b8951..7a2575b 100644
--- a/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
+++ b/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
@@ -44,6 +44,36 @@ sub new($)
 	bless($self, $class);
 }
 
+sub ElementDirection($)
+{
+	my ($e) = @_;
+
+	return "[in,out]" if (has_property($e, "in") and has_property($e, "out"));
+	return "[in]" if (has_property($e, "in"));
+	return "[out]" if (has_property($e, "out"));
+	return "[in,out]";
+}
+
+sub HeaderProperties($$)
+{
+	my($props,$ignores) = @_;
+	my $ret = "";
+
+	foreach my $d (keys %{$props}) {
+		next if (grep(/^$d$/, @$ignores));
+		if($props->{$d} ne "1") {
+			$ret.= "$d($props->{$d}),";
+		} else {
+			$ret.="$d,";
+		}
+	}
+
+	if ($ret) {
+		return "[" . substr($ret, 0, -1) . "]";
+	}
+}
+
+
 sub ParseFunction($$$)
 {
 	my ($self, $if, $fn) = @_;
@@ -57,7 +87,9 @@ sub ParseFunction($$$)
 	$fn_args .= "struct rpc_pipe_client *cli,\n" . $pad . "TALLOC_CTX *mem_ctx";
 
 	foreach (@{$fn->{ELEMENTS}}) {
-		$fn_args .= ",\n" . $pad . DeclLong($_);
+		my $dir = ElementDirection($_);
+		my $prop = HeaderProperties($_->{PROPERTIES}, ["in", "out"]);
+		$fn_args .= ",\n" . $pad . DeclLong($_) . " /* $dir $prop */";
 	}
 
 	if (defined($fn->{RETURN_TYPE}) && ($fn->{RETURN_TYPE} eq "WERROR")) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list