/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2 . 0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
module com { module sun { module star { module java {
/** must be implemented by the user of the XJavaVM.
@ deprecated
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
com : : sun : : star : : java : : XJavaVM : : getJavaVM ( ) are not
part of the public C + + UNO runtime API ) . This should probably be replaced
by an appropriate C / C + + API .
*/
published interface XJavaVM: com::sun::star::uno::XInterface
{
/** returns the address of the Java Virtual Machine.
< 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
` any ` contains a JNI < code > JavaVM < / code > pointer as a
` long ` or ` hyper ` 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
` VOID ` ` any ` is returned . < / p >
< p > If the < code > processID < / code > has an additional 17 th byte of
value & nbsp ; < code > 0 < / code > , the returned ` any ` contains a
non & ndash ; reference - counted pointer to a ( reference - counted ) instance of
the C + + < code > jvmaccess : : VirtualMachine < / code > class , always represented
as a ` hyper ` integer . The pointer is guaranteed to be valid
as long as the reference to this
com : : sun : : star : : java : : XJavaVM 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 ` VOID ` ` any `
is returned . < / p >
< p > If the < code > processID < / code > has an additional 17 th byte of
value & nbsp ; < code > 1 < / code > , the returned ` any ` contains a
non & ndash ; reference - counted pointer to a ( reference - counted ) instance of
the C + + < code > jvmaccess : : UnoVirtualMachine < / code > class , always
represented as a ` hyper ` integer . The pointer is guaranteed
to be valid as long as the reference to this
com : : sun : : star : : java : : XJavaVM 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 ` VOID ` ` any ` 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 >
@ param processID
The process ID of the caller ' s process , possibly extended by a 17 th byte
of value < code > 0 < / code > or & nbsp ; < code > 1 < / code > .
@ return
On success , the ` any ` contains a pointer represented as
` long ` or ` hyper ` , otherwise the ` any `
is ` VOID ` .
*/
any getJavaVM( [in] sequence<byte> processID );
/** returns `TRUE` if the VM is started successfully, otherwise `FALSE`.
*/
boolean isVMStarted();
/** Returns `TRUE` if the VM is enabled.
< p > It is only possible to get the VM , if this method return 0 . < / p >
*/
boolean isVMEnabled();
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=91 H=100 G=95
¤ Dauer der Verarbeitung: 0.7 Sekunden
¤
*© Formatika GbR, Deutschland