summaryrefslogtreecommitdiff
path: root/source4/build/pidl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2004-09-28 19:20:00 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:59:27 -0500
commitb79602fab5ad67aaff4492afd90b52e3292c7ef1 (patch)
tree0f90535b7c443472e49b5c11899e33ed40b56ac1 /source4/build/pidl
parentc567d64d66e1548ef5afc3ba784f8fa8972e3674 (diff)
downloadsamba-b79602fab5ad67aaff4492afd90b52e3292c7ef1.tar.gz
samba-b79602fab5ad67aaff4492afd90b52e3292c7ef1.tar.bz2
samba-b79602fab5ad67aaff4492afd90b52e3292c7ef1.zip
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)
Diffstat (limited to 'source4/build/pidl')
-rw-r--r--source4/build/pidl/validator.pm14
1 files changed, 10 insertions, 4 deletions
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}) {