INTEGRATION: CWS insight01 (1.15.14); FILE MERGED
2004/01/02 14:54:18 oj 1.15.14.2: RESYNC: (1.15-1.16); FILE MERGED 2003/08/01 11:52:34 oj 1.15.14.1: #111090# getPropertyInfo at driver
This commit is contained in:
@@ -2,9 +2,9 @@
|
|||||||
*
|
*
|
||||||
* $RCSfile: Object.cxx,v $
|
* $RCSfile: Object.cxx,v $
|
||||||
*
|
*
|
||||||
* $Revision: 1.16 $
|
* $Revision: 1.17 $
|
||||||
*
|
*
|
||||||
* last change: $Author: rt $ $Date: 2003-12-01 10:48:44 $
|
* last change: $Author: hr $ $Date: 2004-08-02 17:05:14 $
|
||||||
*
|
*
|
||||||
* The Contents of this file are made available subject to the terms of
|
* The Contents of this file are made available subject to the terms of
|
||||||
* either of the following licenses
|
* either of the following licenses
|
||||||
@@ -63,16 +63,11 @@
|
|||||||
#ifndef _CONNECTIVITY_JAVA_LANG_OBJJECT_HXX_
|
#ifndef _CONNECTIVITY_JAVA_LANG_OBJJECT_HXX_
|
||||||
#include "java/lang/Class.hxx"
|
#include "java/lang/Class.hxx"
|
||||||
#endif
|
#endif
|
||||||
|
#include "connectivity/CommonTools.hxx"
|
||||||
|
|
||||||
#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
|
|
||||||
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef _COM_SUN_STAR_UNO_EXCEPTION_HPP_
|
#ifndef _COM_SUN_STAR_UNO_EXCEPTION_HPP_
|
||||||
#include <com/sun/star/uno/Exception.hpp>
|
#include <com/sun/star/uno/Exception.hpp>
|
||||||
#endif
|
#endif
|
||||||
#ifndef _COM_SUN_STAR_JAVA_XJAVAVM_HPP_
|
|
||||||
#include <com/sun/star/java/XJavaVM.hpp>
|
|
||||||
#endif
|
|
||||||
#ifndef _CONNECTIVITY_JAVA_TOOLS_HXX_
|
#ifndef _CONNECTIVITY_JAVA_TOOLS_HXX_
|
||||||
#include "java/tools.hxx"
|
#include "java/tools.hxx"
|
||||||
#endif
|
#endif
|
||||||
@@ -86,17 +81,11 @@
|
|||||||
#include <vos/mutex.hxx>
|
#include <vos/mutex.hxx>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef _RTL_PROCESS_H_
|
|
||||||
#include <rtl/process.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _COM_SUN_STAR_UNO_SEQUENCE_HXX_
|
#ifndef _COM_SUN_STAR_UNO_SEQUENCE_HXX_
|
||||||
#include <com/sun/star/uno/Sequence.hxx>
|
#include <com/sun/star/uno/Sequence.hxx>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
using namespace connectivity;
|
using namespace connectivity;
|
||||||
|
|
||||||
namespace starjava = com::sun::star::java;
|
|
||||||
using namespace ::com::sun::star::uno;
|
using namespace ::com::sun::star::uno;
|
||||||
using namespace ::com::sun::star::beans;
|
using namespace ::com::sun::star::beans;
|
||||||
// using namespace ::com::sun::star::sdbcx;
|
// using namespace ::com::sun::star::sdbcx;
|
||||||
@@ -104,54 +93,9 @@ using namespace ::com::sun::star::sdbc;
|
|||||||
using namespace ::com::sun::star::container;
|
using namespace ::com::sun::star::container;
|
||||||
using namespace ::com::sun::star::lang;
|
using namespace ::com::sun::star::lang;
|
||||||
|
|
||||||
::rtl::Reference< jvmaccess::VirtualMachine > InitJava(const Reference<XMultiServiceFactory >& _rxFactory)
|
|
||||||
{
|
|
||||||
::rtl::Reference< jvmaccess::VirtualMachine > aRet;
|
|
||||||
OSL_ENSURE(_rxFactory.is(),"No XMultiServiceFactory a.v.!");
|
|
||||||
if(!_rxFactory.is())
|
|
||||||
return aRet;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Reference< ::starjava::XJavaVM > xVM(_rxFactory->createInstance(
|
|
||||||
rtl::OUString::createFromAscii("com.sun.star.java.JavaVirtualMachine")), UNO_QUERY);
|
|
||||||
|
|
||||||
OSL_ENSURE(_rxFactory.is(),"InitJava: I have no factory!");
|
|
||||||
if (!xVM.is() || !_rxFactory.is())
|
|
||||||
throw Exception(); // -2;
|
|
||||||
|
|
||||||
Sequence<sal_Int8> processID(16);
|
|
||||||
rtl_getGlobalProcessId( (sal_uInt8*) processID.getArray() );
|
|
||||||
processID.realloc(17);
|
|
||||||
processID[16] = 0;
|
|
||||||
|
|
||||||
Any uaJVM = xVM->getJavaVM( processID );
|
|
||||||
|
|
||||||
if (!uaJVM.hasValue())
|
|
||||||
throw Exception(); // -5
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sal_Int32 nValue;
|
|
||||||
jvmaccess::VirtualMachine* pJVM = NULL;
|
|
||||||
if ( uaJVM >>= nValue )
|
|
||||||
pJVM = reinterpret_cast< jvmaccess::VirtualMachine* > (nValue);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sal_Int64 nTemp;
|
|
||||||
uaJVM >>= nTemp;
|
|
||||||
pJVM = reinterpret_cast< jvmaccess::VirtualMachine* > (nTemp);
|
|
||||||
}
|
|
||||||
aRet = pJVM;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception& e)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
return aRet;
|
|
||||||
}
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
::rtl::Reference< jvmaccess::VirtualMachine > getJavaVM(const ::rtl::Reference< jvmaccess::VirtualMachine >& _rVM = ::rtl::Reference< jvmaccess::VirtualMachine >(),
|
::rtl::Reference< jvmaccess::VirtualMachine > getJavaVM2(const ::rtl::Reference< jvmaccess::VirtualMachine >& _rVM = ::rtl::Reference< jvmaccess::VirtualMachine >(),
|
||||||
sal_Bool _bSet = sal_False)
|
sal_Bool _bSet = sal_False)
|
||||||
{
|
{
|
||||||
static ::rtl::Reference< jvmaccess::VirtualMachine > s_VM;
|
static ::rtl::Reference< jvmaccess::VirtualMachine > s_VM;
|
||||||
@@ -162,9 +106,9 @@ using namespace ::com::sun::star::lang;
|
|||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
::rtl::Reference< jvmaccess::VirtualMachine > java_lang_Object::getVM(const Reference<XMultiServiceFactory >& _rxFactory)
|
::rtl::Reference< jvmaccess::VirtualMachine > java_lang_Object::getVM(const Reference<XMultiServiceFactory >& _rxFactory)
|
||||||
{
|
{
|
||||||
::rtl::Reference< jvmaccess::VirtualMachine > xVM = getJavaVM();
|
::rtl::Reference< jvmaccess::VirtualMachine > xVM = getJavaVM2();
|
||||||
if ( !xVM.is() && _rxFactory.is() )
|
if ( !xVM.is() && _rxFactory.is() )
|
||||||
xVM = getJavaVM(InitJava(_rxFactory));
|
xVM = getJavaVM2(::connectivity::getJavaVM(_rxFactory));
|
||||||
|
|
||||||
return xVM;
|
return xVM;
|
||||||
}
|
}
|
||||||
@@ -196,7 +140,7 @@ void SDBThreadAttach::releaseRef()
|
|||||||
{
|
{
|
||||||
getJavaVMRefCount()--;
|
getJavaVMRefCount()--;
|
||||||
if ( getJavaVMRefCount() == 0 )
|
if ( getJavaVMRefCount() == 0 )
|
||||||
getJavaVM(::rtl::Reference< jvmaccess::VirtualMachine >(),sal_True);
|
getJavaVM2(::rtl::Reference< jvmaccess::VirtualMachine >(),sal_True);
|
||||||
}
|
}
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
// statische Variablen der Klasse:
|
// statische Variablen der Klasse:
|
||||||
|
Reference in New Issue
Block a user