Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > fc480f9d5aabed8eeaffe8ad3401a94c > files > 4077

openoffice.org-devel-doc-3.2.1-0.3mdv2010.2.i586.rpm

<html>
<head>
<title>Interface XJavaVM</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../idl.css">
</head>
<body>
<div id="adc-idlref">

<a name="_top_"> </a><table class="navimain" border="0" cellpadding="3">
<tr>
<td class="navimain"><a href="../module-ix.html" class="navimain">Overview</a></td>
<td class="navimain"><a href="module-ix.html" class="navimain">Module</a></td>
<td class="navimain"><a href="XJavaVM-xref.html" class="navimain">Use</a></td>
<td class="navimainnone">Devguide</td>
<td class="navimain"><a href="../../../../index-files/index-1.html" class="navimain">Index</a></td>
</tr>
</table>
<table class="navisub" border="0" cellpadding="0">
<tr>
<td class="navisub"><a href="#MethodsSummary" class="navisub">Methods' Summary</a></td>
<td class="navisub">Attributes' Summary</td>
<td class="navisub"><a href="#MethodsDetails" class="navisub">Methods' Details</a></td>
<td class="navisub">Attributes' Details</td>
</tr>
</table>
<hr>
<table border="0" width="100%" cellpadding="5" cellspacing="3" class="title-table" style="margin-bottom:6pt;">
<tr>
<td><p class="namechain"><a href="../../../../module-ix.html" class="namechain">::</a> <a href="../../../module-ix.html" class="namechain">com</a> :: <a href="../../module-ix.html" class="namechain">sun</a> :: <a href="../module-ix.html" class="namechain">star</a> :: <a href="module-ix.html" class="namechain">java</a> :: </p>
</td>
</tr>
<tr>
<td class="title"><table class="title-table" width="99%">
<tr>
<td width="25%" class="title2">deprecated </td>
<td width="50%" class="title">interface XJavaVM</td>
<td width="*"/></tr>
</table>
</td>
</tr>
<tr>
<td/></tr>
<tr>
<td><dl>
<dt><b>Usage Restrictions</b></dt>
<dd><i>deprecated</i></dd>
<dt><b>Deprecation Info</b></dt>
<dd>A UNO interface seems to be at the wrong abstraction level for this
 functionality (also, the C++ classes <code>jvmaccess::VirtualMachine</code>
 and <code>jvmaccess::UnoVirtualMachine</code> used by
 <a href="XJavaVM.html">XJavaVM</a>::<a href="XJavaVM.html#getJavaVM">getJavaVM</a> are not
 part of the public C++ UNO runtime API). This should probably be replaced
 by an appropriate C/C++ API.
 </dd>
<dt><b>Description</b></dt>
<dd>must be implemented by the user of the XJavaVM.

 </dd>
</dl>
</td>
</tr>
</table>
<hr>
<a name="MethodsSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle">
<tr>
<td class="subtitle" colspan="2">Methods' Summary</td>
</tr>
<tr>
<td class="imsum_left"><a href="#getJavaVM">getJavaVM</a></td>
<td class="imsum_right">returns the address of the Java Virtual Machine. 

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#isVMStarted">isVMStarted</a></td>
<td class="imsum_right">returns <b>true</b> if the VM is started successfully, otherwise <b>false</b>.
 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#isVMEnabled">isVMEnabled</a></td>
<td class="imsum_right">Returns <b>true</b> if the VM is enabled. 

 &nbsp;</td>
</tr>
</table>
<a name="MethodsDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle">
<tr>
<td class="subtitle">Methods' Details</td>
</tr>
<tr>
<td class="imdetail"><a name="getJavaVM" class="membertitle">getJavaVM</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">any</td>
</tr>
<tr>
<td valign="top"><b>getJavaVM</b>(</td>
<td valign="top">[in] sequence&lt; byte &gt;</td>
<td valign="bottom">&nbsp;processID );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>returns the address of the Java Virtual Machine. 

 </dd>
<dd><p>If the VM is not already instantiated, it will be now.</p>

 <p>If the <code>processID</code> is a normal 16-byte ID, the returned
 <code>any</code> contains a JNI <code>JavaVM</code> pointer as a
 <code>long</code> or <code>hyper</code> integer (depending on the
 platform). If the <code>processID</code> does not match the current
 process, or if the VM cannot be instantiated for whatever reason, a
 <b>void</b> <code>any</code> is returned.</p>

 <p>If the <code>processID</code> has an additional 17th byte of
 value&nbsp;<code>0</code>, the returned <code>any</code> contains a
 non&ndash;reference-counted pointer to a (reference-counted) instance of
 the C++ <code>jvmaccess::VirtualMachine</code> class, always represented
 as a <code>hyper</code> integer. The pointer is guaranteed to be valid
 as long as the reference to this
 <a href="XJavaVM.html">XJavaVM</a> is valid (but the
 pointer should be converted into a reference-counted reference as soon
 as possible). Again, if the first 16 bytes of the
 <code>processID</code> do not match the current process, or if the VM
 cannot be instantiated for whatever reason, a <b>void</b> <code>any</code>
 is returned.</p>

 <p>If the <code>processID</code> has an additional 17th byte of
 value&nbsp;<code>1</code>, the returned <code>any</code> contains a
 non&ndash;reference-counted pointer to a (reference-counted) instance of
 the C++ <code>jvmaccess::UnoVirtualMachine</code> class, always
 represented as a <code>hyper</code> integer. The pointer is guaranteed
 to be valid as long as the reference to this
 <a href="XJavaVM.html">XJavaVM</a> is valid. Again, if
 the first 16 bytes of the <code>processID</code> do not match the
 current process, or if the VM cannot be instantiated for whatever
 reason, a <b>void</b> <code>any</code> is returned.</p>

 <p>The first form (returning a JNI <code>JavaVM</code> pointer) is
 mainly for backwards compatibility, new code should use the second form
 (returning a pointer to a <code>jvmaccess::VirtualMachine</code>) if it
 does not want to use the Java UNO environment, and it should use the
 third form (returning a pointer to a
 <code>jvmaccess::UnoVirtualMachine</code>) if it wants to use the Java
 UNO environment. For example, one advantage of using
 <code>jvmaccess::VirtualMachine</code> instead of the raw
 <code>JavaVM</code> pointer is that whenever you attach a native thread
 to the Java virtual machine, that thread's context
 <code>ClassLoader</code> (see
 <code>java.lang.Thread.getContextClassLoader</code>) will automatically
 be set to a meaningful value.</p>

 </dd>
<dt><b>Parameter processID</b></dt>
<dd>The process ID of the caller's process, possibly extended by a 17th byte
 of value <code>0</code> or&nbsp;<code>1</code>.

 </dd>
<dt><b>Returns</b></dt>
<dd>On success, the <code>any</code> contains a pointer represented as
 <code>long</code> or <code>hyper</code>, otherwise the <code>any</code>
 is <b>void</b>.
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="isVMStarted" class="membertitle">isVMStarted</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">boolean</td>
</tr>
<tr>
<td valign="top"><b>isVMStarted</b>();</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>returns <b>true</b> if the VM is started successfully, otherwise <b>false</b>.
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="isVMEnabled" class="membertitle">isVMEnabled</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">boolean</td>
</tr>
<tr>
<td valign="top"><b>isVMEnabled</b>();</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>Returns <b>true</b> if the VM is enabled. 

 </dd>
<dd><p>It is only possible to get the VM, if this method return 0. </p>
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
</table>
<a href="#_top_">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright &copy; 2011, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</p>

</div> <!-- id="adc-idlref" -->
</body>

</html>