1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Invoking Babel to generate Java bindings</TITLE>
<META NAME="description" CONTENT="Invoking Babel to generate Java bindings">
<META NAME="keywords" CONTENT="users_guide">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="users_guide.css">
<LINK REL="next" HREF="node160.html">
<LINK REL="previous" HREF="node158.html">
<LINK REL="up" HREF="node148.html">
<LINK REL="next" HREF="node160.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html3081"
HREF="node160.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html3075"
HREF="node148.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html3069"
HREF="node158.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html3077"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html3079"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html3082"
HREF="node160.html">Invoking Babel to generate</A>
<B> Up:</B> <A NAME="tex2html3076"
HREF="node148.html">Java Bindings</A>
<B> Previous:</B> <A NAME="tex2html3070"
HREF="node158.html">Enumerations</A>
<B> <A NAME="tex2html3078"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html3080"
HREF="node317.html">Index</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION035110000000000000000"></A>
<A NAME="9187"></A>
<BR>
Invoking Babel to generate Java bindings
</H1>
<P>
To create Java stubs (i.e. code to support Java clients to a set of SIDL
classes or interfaces), you should invoke Babel as follows <A NAME="tex2html42"
HREF="footnode.html#foot9225"><SUP><SPAN CLASS="arabic">11</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A>:
<P>
<BLOCKQUOTE>
<TT> <TT>%</TT> <TT><B>babel -client=Java file.sidl</B></TT>
<BR>
</TT></BLOCKQUOTE>or more cryptically
<BLOCKQUOTE>
<TT> <TT>%</TT> <TT><B>babel -cJava file.sidl</B></TT>
<BR>
</TT></BLOCKQUOTE>
<P>
This will create a great plethora of files, including a directory
named <TT>file</TT>. This directory contains the Java client classes, if
you want to take a look at them. The files
ending in <TT>_IOR.h</TT> and <TT>_IOR.c</TT> are the Intermediate Object
Representation. The files ending with <TT>_jniStub.c</TT> are the JNI stubs
-- the interface between a Java client and the IOR. The ``jni'' in
the filename represents the fact that we use the Java Native Interface
to communicate between Java and the IOR representation.
The remaining header files have external Java API that Java clients may use.
<P>
To use the Java stubs, you must compile the stub files whose file names
end with <TT>_jniStub.c</TT> and link them against the SIDL runtime
library and a backend implementation. The resulting library needs to
be referenced in a <TT>.scl</TT> file listed in the SIDL_DLL_PATH
environment variable so
that the Babel runtime library loader can find it. Also, the current directory needs to be in the
CLASSPATH environment variable so that Java can find the <TT>file</TT>
and <TT>sidl</TT> directories that contain the Java component of the client side.
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html3081"
HREF="node160.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html3075"
HREF="node148.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html3069"
HREF="node158.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html3077"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html3079"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html3082"
HREF="node160.html">Invoking Babel to generate</A>
<B> Up:</B> <A NAME="tex2html3076"
HREF="node148.html">Java Bindings</A>
<B> Previous:</B> <A NAME="tex2html3070"
HREF="node158.html">Enumerations</A>
<B> <A NAME="tex2html3078"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html3080"
HREF="node317.html">Index</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
<br><br>babel-0.10.2<br>users_guide Last Modified 2005-03-23<br><br><a href="http://www.llnl.gov/CASC/components">http://www.llnl.gov/CASC/components</a><br><a href="mailto:components@llnl.gov">components@llnl.gov</a>
</ADDRESS>
</BODY>
</HTML>
|