diff options
Diffstat (limited to 'pidl/lib/Parse/Pidl/Samba4/COM')
-rw-r--r-- | pidl/lib/Parse/Pidl/Samba4/COM/Header.pm | 7 | ||||
-rw-r--r-- | pidl/lib/Parse/Pidl/Samba4/COM/Proxy.pm | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/pidl/lib/Parse/Pidl/Samba4/COM/Header.pm b/pidl/lib/Parse/Pidl/Samba4/COM/Header.pm index 996689b4b6..de7d4547a5 100644 --- a/pidl/lib/Parse/Pidl/Samba4/COM/Header.pm +++ b/pidl/lib/Parse/Pidl/Samba4/COM/Header.pm @@ -127,6 +127,7 @@ sub Parse($$) { my ($idl,$ndr_header) = @_; my $res = ""; + my $has_obj = 0; $res .= "#include \"librpc/gen_ndr/orpc.h\"\n" . "#include \"$ndr_header\"\n\n"; @@ -135,6 +136,7 @@ sub Parse($$) { if ($_->{TYPE} eq "INTERFACE" && has_property($_, "object")) { $res .="struct $_->{NAME};\n"; + $has_obj = 1; } } @@ -142,14 +144,17 @@ sub Parse($$) { if ($_->{TYPE} eq "INTERFACE" && has_property($_, "object")) { $res.=ParseInterface($_); + $has_obj = 1; } if ($_->{TYPE} eq "COCLASS") { $res.=ParseCoClass($_); + $has_obj = 1; } } - return $res; + return $res if ($has_obj); + return undef; } 1; diff --git a/pidl/lib/Parse/Pidl/Samba4/COM/Proxy.pm b/pidl/lib/Parse/Pidl/Samba4/COM/Proxy.pm index ca9f37a053..27e1e5d424 100644 --- a/pidl/lib/Parse/Pidl/Samba4/COM/Proxy.pm +++ b/pidl/lib/Parse/Pidl/Samba4/COM/Proxy.pm @@ -201,6 +201,7 @@ sub Parse($$) { my ($pidl,$comh_filename) = @_; my $res = ""; + my $has_obj = 0; $res .= "#include \"includes.h\"\n" . "#include \"lib/com/dcom/dcom.h\"\n" . @@ -213,9 +214,12 @@ sub Parse($$) next unless has_property($_, "object"); $res .= ParseInterface($_); + + $has_obj = 1; } - return $res; + return $res if ($has_obj); + return undef; } 1; |