summaryrefslogtreecommitdiff
path: root/source4/build/pidl/Parse/Pidl/Samba/EJS.pm
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-07-10 06:51:00 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:19:31 -0500
commit0871be3f351e80de8b97717f7975d98702112376 (patch)
treeecbc5887a8ea0982133689f9975b535a2393441b /source4/build/pidl/Parse/Pidl/Samba/EJS.pm
parentf3c6f290f0c2ba84d8dbbae8d6d2bb50330a27c1 (diff)
downloadsamba-0871be3f351e80de8b97717f7975d98702112376.tar.gz
samba-0871be3f351e80de8b97717f7975d98702112376.tar.bz2
samba-0871be3f351e80de8b97717f7975d98702112376.zip
r8281: pass the callnum and rpc interface table directly from the generated
code in pidl for ejs calls. This means that ejs_rpc_call() doesn't need to scan the rpc tables for the right interface, and doesn't need to scan for the call name (This used to be commit 1c6b1102e5c2529206b917e7c6b279c4f63d0e9a)
Diffstat (limited to 'source4/build/pidl/Parse/Pidl/Samba/EJS.pm')
-rw-r--r--source4/build/pidl/Parse/Pidl/Samba/EJS.pm9
1 files changed, 6 insertions, 3 deletions
diff --git a/source4/build/pidl/Parse/Pidl/Samba/EJS.pm b/source4/build/pidl/Parse/Pidl/Samba/EJS.pm
index 26556b2820..4411324b05 100644
--- a/source4/build/pidl/Parse/Pidl/Samba/EJS.pm
+++ b/source4/build/pidl/Parse/Pidl/Samba/EJS.pm
@@ -628,15 +628,18 @@ sub EjsPushFunction($)
#################################
# generate a ejs mapping function
-sub EjsFunction($)
+sub EjsFunction($$)
{
my $d = shift;
+ my $iface = shift;
my $name = $d->{NAME};
+ my $callnum = uc("DCERPC_$name");
+ my $table = "&dcerpc_table_$iface";
pidl "static int ejs_$name(int eid, int argc, struct MprVar **argv)";
pidl "{";
indent;
- pidl "return ejs_rpc_call(eid, argc, argv, \"$name\", (ejs_pull_function_t)ejs_pull_$name, (ejs_push_function_t)ejs_push_$name);";
+ pidl "return ejs_rpc_call(eid, argc, argv, $table, $callnum, (ejs_pull_function_t)ejs_pull_$name, (ejs_push_function_t)ejs_push_$name);";
deindent;
pidl "}\n";
}
@@ -669,7 +672,7 @@ sub EjsInterface($$)
EjsPullFunction($d);
EjsPushFunction($d);
- EjsFunction($d);
+ EjsFunction($d, $name);
push (@fns, $d->{NAME});
}