tlb2java
usage: tlb2java [-q] [-d dest_dir] [options] {-java|-jni|-hjni} typelib [typelib ...]
-q Sets the quiet flag.
-prefix_cpp Prefixes cpp filenames with library name
-d <dest_dir> Sets the output directory.
-java Generate java files.
-jni Generate jni cpp files.
-hjni Generate jni h files
-xml Generate xml files.
-check_apartment Generate thread apartment checks.
-skip_coclasses Don't generate code for coclass'es.
Useful to break a chain of imports caused by
coclass'es that implement an interface from another tlb.
-hide_restricted Don't generate [restricted] types.
-hide_hidden Don't generate [hidden] types.
-rename_package <old> <new> Renames the package, default is the typelib name.
-rename <old> <new> Rename a property or method to match a #import rename
-missing <param> <attribs> Tlb is missing an attribute such as [out].
<param> is in the form of Interface.Method.Param
-jni_entry <text> Insert <text> at start of every jni method.
Example
mkdir src/com/moesol/bindings/wsh
tlb2java -q \
-rename_package stdole com.moesol.bindings.platform_sdk.component_services \
-rename_package IWshRuntimeLibrary com.moesol.bindings.wsh \
-java -hjni -jni -d src \
"${SYSTEMROOT}/System32/wshom.ocx"
Ant Example
<property environment="env"/>
<property name="jSegue.dir" value="C:/jSegue"/>
<property name="tlb2java" value="${jSegue.dir}/tlb2java"/>
<target name="tlb-gen-wsh" depends="prepare">
<mkdir dir="${src.dir}/com/moesol/bindings/wsh"/>
<exec executable="${tlb2java}"
os="Windows NT,Windows 2000,Windows XP" failonerror="true">
<arg line="-q"/>
<arg line="-rename_package stdole com.moesol.bindings.platform_sdk.component_services"/>
<arg line="-rename_package IWshRuntimeLibrary com.moesol.bindings.wsh"/>
<arg line="-java -hjni -jni"/>
<arg line="-d ${src.dir}"/>
<arg line="-check_apartment"/>
<arg line="${env.SYSTEMROOT}/System32/wshom.ocx"/>
</exec>
</target>
$Id: usage.html 3769 2007-06-08 19:06:43Z hastings $