From 9865048bf41acff37d021a0773347d36bcac3798 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 14 Mar 2006 00:12:58 +0000 Subject: r14361: Support 'helper' attribute in pidl and use it. Remove some headers from include/includes.h (they're now only included in the file they are used) (This used to be commit 7213b7498eacac2c2cd03cf6aace376ce153cc7c) --- source4/include/includes.h | 9 +-------- source4/librpc/idl/drsuapi.idl | 3 ++- source4/librpc/idl/krb5pac.idl | 3 ++- source4/librpc/idl/nbt.idl | 3 ++- source4/librpc/idl/security.idl | 3 ++- source4/librpc/idl/spoolss.idl | 3 ++- source4/main.mk | 5 ----- source4/pidl/lib/Parse/Pidl/NDR.pm | 1 + source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 6 ++++++ 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/source4/include/includes.h b/source4/include/includes.h index 68d4d0e4a2..b613a18633 100644 --- a/source4/include/includes.h +++ b/source4/include/includes.h @@ -125,14 +125,7 @@ enum brl_type { #include "libcli/nbt/libnbt.h" #include "libcli/util/proto.h" -/* These headers are used by the NDR parsers. They are globally - * included at the moment, but will be included by the autogenerated - * NDR parsers later on and removed from here. */ -#include "libcli/nbt/nbtname.h" -#include "librpc/ndr/ndr_sec.h" -#include "librpc/ndr/ndr_drsuapi.h" -#include "librpc/ndr/ndr_spoolss_buf.h" -#include "librpc/ndr/ndr_krb5pac.h" +/* FIXME: This header should be included by pidl where necessary */ #include "librpc/ndr/ndr_compression.h" #undef _PRINTF_ATTRIBUTE diff --git a/source4/librpc/idl/drsuapi.idl b/source4/librpc/idl/drsuapi.idl index ff76e65e51..83ffbb4baa 100644 --- a/source4/librpc/idl/drsuapi.idl +++ b/source4/librpc/idl/drsuapi.idl @@ -7,7 +7,8 @@ authservice("ldap"), helpstring("Active Directory Replication"), pointer_default(unique), - depends(security) + depends(security), + helper("librpc/ndr/ndr_drsuapi.h") ] interface drsuapi { diff --git a/source4/librpc/idl/krb5pac.idl b/source4/librpc/idl/krb5pac.idl index 0d614493ed..5ccfe56a61 100644 --- a/source4/librpc/idl/krb5pac.idl +++ b/source4/librpc/idl/krb5pac.idl @@ -7,7 +7,8 @@ [ version(0.0), pointer_default(unique), - depends(security,netlogon) + depends(security,netlogon), + helper("librpc/ndr/ndr_krb5pac.h") ] interface krb5pac { diff --git a/source4/librpc/idl/nbt.idl b/source4/librpc/idl/nbt.idl index d62273e8cf..a948a79ff1 100644 --- a/source4/librpc/idl/nbt.idl +++ b/source4/librpc/idl/nbt.idl @@ -9,7 +9,8 @@ */ [ - depends(security,svcctl) + depends(security,svcctl), + helper("libcli/nbt/nbtname.h") ] interface nbt { const int NBT_NAME_SERVICE_PORT = 137; diff --git a/source4/librpc/idl/security.idl b/source4/librpc/idl/security.idl index 6d3e79697a..f22e6b6836 100644 --- a/source4/librpc/idl/security.idl +++ b/source4/librpc/idl/security.idl @@ -6,7 +6,8 @@ [ pointer_default(unique), - depends(misc) + depends(misc), + helper("librpc/ndr/ndr_sec.h") ] interface security { diff --git a/source4/librpc/idl/spoolss.idl b/source4/librpc/idl/spoolss.idl index bb01185474..93ce3c3f36 100644 --- a/source4/librpc/idl/spoolss.idl +++ b/source4/librpc/idl/spoolss.idl @@ -10,7 +10,8 @@ pointer_default(unique), pointer_default_top(unique), helpstring("Spooler SubSystem"), - depends(security) + depends(security), + helper("librpc/ndr/ndr_spoolss_buf.h") ] interface spoolss { typedef struct { diff --git a/source4/main.mk b/source4/main.mk index e11e6e9038..f66c5e3c66 100644 --- a/source4/main.mk +++ b/source4/main.mk @@ -236,11 +236,6 @@ include/includes.h: \ param/param.h \ libcli/util/proto.h \ librpc/ndr/ndr_orpc_proto.h \ - libcli/nbt/nbtname.h \ - librpc/ndr/ndr_sec.h \ - librpc/ndr/ndr_drsuapi.h \ - librpc/ndr/ndr_spoolss_buf.h \ - librpc/ndr/ndr_krb5pac.h \ librpc/ndr/ndr_compression.h clean_pch: diff --git a/source4/pidl/lib/Parse/Pidl/NDR.pm b/source4/pidl/lib/Parse/Pidl/NDR.pm index 48d3ebf170..b1aec5cc5d 100644 --- a/source4/pidl/lib/Parse/Pidl/NDR.pm +++ b/source4/pidl/lib/Parse/Pidl/NDR.pm @@ -750,6 +750,7 @@ my %property_list = ( "pointer_default" => ["INTERFACE"], "pointer_default_top" => ["INTERFACE"], "depends" => ["INTERFACE"], + "helper" => ["INTERFACE"], "authservice" => ["INTERFACE"], # dcom diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm index e89ce3268a..0b2cef54b8 100644 --- a/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm +++ b/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm @@ -2244,6 +2244,12 @@ sub HeaderInterface($) } } + if (defined $interface->{PROPERTIES}->{helper}) { + foreach (split / /, $interface->{PROPERTIES}->{helper}) { + pidl_hdr "#include $_"; + } + } + if (defined $interface->{PROPERTIES}->{uuid}) { my $name = uc $interface->{NAME}; pidl_hdr "#define DCERPC_$name\_UUID " . -- cgit