From b79602fab5ad67aaff4492afd90b52e3292c7ef1 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 28 Sep 2004 19:20:00 +0000 Subject: r2735: More DCOM updates: - Several updates to the interface definitions after reading some more of the specs - Add Remote Activation interface - Add body extension uuids - Add oxidresolve torture test to list - Make pidl complain about object interfaces that don't inherit from IUnknown (This used to be commit 1bb471832830d73f0c7290e2ec12878518598379) --- source4/build/pidl/validator.pm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'source4/build/pidl') diff --git a/source4/build/pidl/validator.pm b/source4/build/pidl/validator.pm index c4720a737f..c9b717434f 100644 --- a/source4/build/pidl/validator.pm +++ b/source4/build/pidl/validator.pm @@ -114,10 +114,16 @@ sub ValidInterface($) my($interface) = shift; my($data) = $interface->{DATA}; - if (util::has_property($interface, "object") && - util::has_property($interface, "version") && - $interface->{PROPERTIES}->{version} != 0) { - fatal "Object interfaces must have version 0.0\n"; + if (util::has_property($interface, "object")) { + if(util::has_property($interface, "version") && + $interface->{PROPERTIES}->{version} != 0) { + fatal "Object interfaces must have version 0.0 ($interface->{NAME})\n"; + } + + if(!defined($interface->{BASE}) && + not ($interface->{NAME} eq "IUnknown")) { + fatal "Object interfaces must all derive from IUnknown ($interface->{NAME})\n"; + } } foreach my $d (@{$data}) { -- cgit