diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-10-18 15:18:05 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:01:53 -0500 |
commit | 31403d548e95ee6047009b78ed72e7144ece199a (patch) | |
tree | ed25edef604668354e5b9ffc4cf4cc75d5d1a9c1 /source4/build/pidl | |
parent | b1b8f49a5b6d57cdec663efe0d43c5e3de4abbf3 (diff) | |
download | samba-31403d548e95ee6047009b78ed72e7144ece199a.tar.gz samba-31403d548e95ee6047009b78ed72e7144ece199a.tar.bz2 samba-31403d548e95ee6047009b78ed72e7144ece199a.zip |
r3043: Use binding strings for specifying endpoints. The property for
specifying a endpoint is now also 'endpoint' instead of 'endpoints'. The
default endpoint (if none is specified) is still "ncacn_np:[\\pipe\\ifacename]",
where ifacename is the name of the interface.
Examples:
[
uuid(60a15ec5-4de8-11d7-a637-005056a20182),
endpoint("ncacn_np:[\\pipe\\rpcecho]", "ncacn_ip_tcp:")
]
interface rpcecho
{
void dummy();
}
dcerpc_binding is now converted to ep_description in the server, but I hope to
completely eliminate ep_description later on.
The eventual goal of all these changes is to make it easier to add
transports as I'm going to add support for
ncalrpc (local RPC over named pipes) and ncacn_unix_stream (Unix sockets).
(This used to be commit f3da7c8b443a29b0c656c687a277384ae1353792)
Diffstat (limited to 'source4/build/pidl')
-rw-r--r-- | source4/build/pidl/parser.pm | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/source4/build/pidl/parser.pm b/source4/build/pidl/parser.pm index 7d7ee7a163..15dd1cd70e 100644 --- a/source4/build/pidl/parser.pm +++ b/source4/build/pidl/parser.pm @@ -1482,20 +1482,18 @@ sub FunctionTable($) } pidl "\t{ NULL, 0, NULL, NULL }\n};\n\n"; - my $endpoints; - - if (! defined $interface->{PROPERTIES}->{endpoints}) { - $interface->{PROPERTIES}->{endpoints} = $interface->{NAME}; + # If no endpoint is set, default to the interface name as a named pipe + if (! defined $interface->{PROPERTIES}->{endpoint}) { + $interface->{PROPERTIES}->{endpoint} = "\"ncacn_np:[\\\\pipe\\\\" . $interface->{NAME} . "]\""; } - my @e = split / /, $interface->{PROPERTIES}->{endpoints}; + my @e = split / /, $interface->{PROPERTIES}->{endpoint}; my $endpoint_count = $#e + 1; - pidl "static const char * const $interface->{NAME}\_endpoint_strings[] = {\n\t"; - for (my $i=0; $i < $#e; $i++) { - pidl "\"$e[$i]\", "; + pidl "static const char * const $interface->{NAME}\_endpoint_strings[] = {\n"; + foreach my $ep (@e) { + pidl "\t$ep, \n"; } - pidl "\"$e[$#e]\"\n"; pidl "};\n\n"; pidl "static const struct dcerpc_endpoint_list $interface->{NAME}\_endpoints = {\n"; |