summaryrefslogtreecommitdiff
path: root/source4/build/pidl/validator.pm
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-05-30 09:07:21 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:17:16 -0500
commit2a20e42c2637a6d53d74f3c68a4f420f8cb77a27 (patch)
treecec1b76d704f47c085b4a1f645350b0e6848e7f2 /source4/build/pidl/validator.pm
parent9ab8ed3bab065afb0ba98277b7e4728b24caabe0 (diff)
downloadsamba-2a20e42c2637a6d53d74f3c68a4f420f8cb77a27.tar.gz
samba-2a20e42c2637a6d53d74f3c68a4f420f8cb77a27.tar.bz2
samba-2a20e42c2637a6d53d74f3c68a4f420f8cb77a27.zip
r7098: - make use of the NDR table instead of the IDL table in the client and server generation
- add 'noid' property to allow functions to be not present in the function table, and not generate client and server functions for them - print out a warning about [id()] not being correctly supported yet metze (This used to be commit 189730d1430e7f728d62dd5dc52f2a90c1a556d7)
Diffstat (limited to 'source4/build/pidl/validator.pm')
-rw-r--r--source4/build/pidl/validator.pm16
1 files changed, 16 insertions, 0 deletions
diff --git a/source4/build/pidl/validator.pm b/source4/build/pidl/validator.pm
index bb86fcca50..647a906878 100644
--- a/source4/build/pidl/validator.pm
+++ b/source4/build/pidl/validator.pm
@@ -17,6 +17,13 @@ sub fatal($$)
die("$pos->{FILE}:$pos->{LINE}:$s\n");
}
+sub nonfatal($$)
+{
+ my $pos = shift;
+ my $s = shift;
+ warn ("$pos->{FILE}:$pos->{LINE}:warning:$s\n");
+}
+
sub el_name($)
{
my $e = shift;
@@ -56,6 +63,7 @@ my %property_list = (
# function
"id" => {},# what is that? --metze
+ "noid" => {},
"in" => {},
"out" => {},
@@ -251,6 +259,14 @@ sub ValidFunction($)
ValidProperties($fn);
+ if (util::has_property($fn, "id")) {
+ nonfatal $fn, "[id()] is not correctly supported yet ($fn->{NAME})";
+ }
+
+ if (util::has_property($fn, "id") and util::has_property($fn, "noid")) {
+ fatal $fn, "function can't have [id()] and [noid] property ($fn->{NAME})";
+ }
+
foreach my $e (@{$fn->{ELEMENTS}}) {
$e->{PARENT} = $fn;
if (util::has_property($e, "ref") && !$e->{POINTERS}) {