summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2006-03-14 00:12:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:57:14 -0500
commit9865048bf41acff37d021a0773347d36bcac3798 (patch)
tree1e40452cd7124806c75e8edbbea72d72eb7c14eb
parent2b06074b2561ba60d680655149dcfc8b12517976 (diff)
downloadsamba-9865048bf41acff37d021a0773347d36bcac3798.tar.gz
samba-9865048bf41acff37d021a0773347d36bcac3798.tar.xz
samba-9865048bf41acff37d021a0773347d36bcac3798.zip
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)
-rw-r--r--source4/include/includes.h9
-rw-r--r--source4/librpc/idl/drsuapi.idl3
-rw-r--r--source4/librpc/idl/krb5pac.idl3
-rw-r--r--source4/librpc/idl/nbt.idl3
-rw-r--r--source4/librpc/idl/security.idl3
-rw-r--r--source4/librpc/idl/spoolss.idl3
-rw-r--r--source4/main.mk5
-rw-r--r--source4/pidl/lib/Parse/Pidl/NDR.pm1
-rw-r--r--source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm6
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 " .