Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
752d233c
Kaydet (Commit)
752d233c
authored
Kas 01, 2010
tarafından
Jan Holesovsky
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Sade Fark
Merge commit 'ooo/OOO330_m13'
üst
22c1a483
08765145
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
136 additions
and
30 deletions
+136
-30
framework.h
jvmfwk/inc/jvmfwk/framework.h
+1
-0
vendorplugin.h
jvmfwk/inc/jvmfwk/vendorplugin.h
+19
-0
otherjre.cxx
jvmfwk/plugins/sunmajor/pluginlib/otherjre.cxx
+2
-3
sunjavaplugin.cxx
jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
+60
-2
sunjavaplugin.map
jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.map
+5
-0
sunversion.cxx
jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+2
-2
util.cxx
jvmfwk/plugins/sunmajor/pluginlib/util.cxx
+4
-4
elements.cxx
jvmfwk/source/elements.cxx
+10
-0
framework.cxx
jvmfwk/source/framework.cxx
+29
-19
framework.hxx
jvmfwk/source/framework.hxx
+4
-0
No files found.
jvmfwk/inc/jvmfwk/framework.h
Dosyayı görüntüle @
752d233c
...
...
@@ -831,6 +831,7 @@ javaFrameworkError SAL_CALL jfw_getJRELocations(
JFW_E_NONE the function ran successfully.</br>
JFW_E_ERROR an error occurred during execution.</br>
JFW_E_INVALID_ARG pInfo contains invalid data</br>
JFW_E_NO_PLUGIN a plug-in library could not be found.<br/>
*/
javaFrameworkError
SAL_CALL
jfw_existJRE
(
const
JavaInfo
*
pInfo
,
sal_Bool
*
exist
);
...
...
jvmfwk/inc/jvmfwk/vendorplugin.h
Dosyayı görüntüle @
752d233c
...
...
@@ -239,6 +239,25 @@ javaPluginError jfw_plugin_startJavaVirtualMachine(
/** checks if the installation of the jre still exists.
This function checks if the JRE described by pInfo still
exists. The check must be very quick because it is called by javaldx
(Linux, Solaris) at start up.
@param pInfo
[in] the JavaInfo object with information about the JRE.
@param pp_exist
[out] the parameter is set to either sal_True or sal_False. The value is
only valid if the function returns JFW_E_NONE.
@return
JFW_PLUGIN_E_NONE the function ran successfully.</br>
JFW_PLUGIN_E_ERROR an error occurred during execution.</br>
JFW_PLUGIN_E_INVALID_ARG pInfo contains invalid data</br>
*/
javaPluginError
jfw_plugin_existJRE
(
const
JavaInfo
*
pInfo
,
sal_Bool
*
exist
);
#ifdef __cplusplus
}
#endif
...
...
jvmfwk/plugins/sunmajor/pluginlib/otherjre.cxx
Dosyayı görüntüle @
752d233c
...
...
@@ -74,7 +74,7 @@ char const* const* OtherInfo::getRuntimePaths(int * size)
"/bin/hotspot/jvm.dll"
#elif UNX
#ifdef MACOSX
"/../../../
JavaVM"
"/../../../
../../Frameworks/JavaVM.framework/JavaVM"
//as of 1.6.0_22
#else
"/lib/"
JFW_PLUGIN_ARCH
"/client/libjvm.so"
,
// for Blackdown PPC
"/lib/"
JFW_PLUGIN_ARCH
"/server/libjvm.so"
,
// for Blackdown AMD64
...
...
@@ -96,8 +96,7 @@ char const* const* OtherInfo::getLibraryPaths(int* size)
#ifdef UNX
static
char
const
*
ar
[]
=
{
#ifdef MACOSX
"/../Libraries"
,
"/lib"
//mac version does not have a ld library path anymore
#else
"/bin"
,
"/jre/bin"
,
...
...
jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
Dosyayı görüntüle @
752d233c
...
...
@@ -471,10 +471,10 @@ javaPluginError jfw_plugin_startJavaVirtualMachine(
{
JFW_ENSURE
(
0
,
OUSTR
(
"[Java framework]sunjavaplugin"
SAL_DLLEXTENSION
" could not load Java runtime library:
\n
"
)
+
sRuntimeLib
+
OUSTR
(
"
.
"
));
+
sRuntimeLib
+
OUSTR
(
"
\n
"
));
JFW_TRACE0
(
OUSTR
(
"[Java framework]sunjavaplugin"
SAL_DLLEXTENSION
" could not load Java runtime library:
\n
"
)
+
sRuntimeLib
+
OUSTR
(
"
.
"
));
+
sRuntimeLib
+
OUSTR
(
"
\n
"
));
return
JFW_PLUGIN_E_VM_CREATION_FAILED
;
}
...
...
@@ -615,6 +615,64 @@ javaPluginError jfw_plugin_startJavaVirtualMachine(
return
errcode
;
}
extern
"C"
javaPluginError
jfw_plugin_existJRE
(
const
JavaInfo
*
pInfo
,
sal_Bool
*
exist
)
{
javaPluginError
ret
=
JFW_PLUGIN_E_NONE
;
if
(
!
pInfo
||
!
exist
)
return
JFW_PLUGIN_E_INVALID_ARG
;
::
rtl
::
OUString
sLocation
(
pInfo
->
sLocation
);
if
(
sLocation
.
getLength
()
==
0
)
return
JFW_PLUGIN_E_INVALID_ARG
;
::
osl
::
DirectoryItem
item
;
::
osl
::
File
::
RC
rc_item
=
::
osl
::
DirectoryItem
::
get
(
sLocation
,
item
);
if
(
::
osl
::
File
::
E_None
==
rc_item
)
{
*
exist
=
sal_True
;
}
else
if
(
::
osl
::
File
::
E_NOENT
==
rc_item
)
{
*
exist
=
sal_False
;
}
else
{
ret
=
JFW_PLUGIN_E_ERROR
;
}
#ifdef MACOSX
//We can have the situation that the JavaVM runtime library is not
//contained within JAVA_HOME. Then the check for JAVA_HOME would return
//true although the runtime library may not be loadable.
if
(
ret
==
JFW_PLUGIN_E_NONE
&&
*
exist
==
sal_True
)
{
rtl
::
OUString
sRuntimeLib
=
getRuntimeLib
(
pInfo
->
arVendorData
);
JFW_TRACE2
(
OUSTR
(
"[Java framework] Checking existence of Java runtime library.
\n
"
));
::
osl
::
DirectoryItem
itemRt
;
::
osl
::
File
::
RC
rc_itemRt
=
::
osl
::
DirectoryItem
::
get
(
sRuntimeLib
,
itemRt
);
if
(
::
osl
::
File
::
E_None
==
rc_itemRt
)
{
*
exist
=
sal_True
;
JFW_TRACE2
(
OUSTR
(
"[Java framework] Java runtime library exist: "
)
+
sRuntimeLib
+
OUSTR
(
"
\n
"
));
}
else
if
(
::
osl
::
File
::
E_NOENT
==
rc_itemRt
)
{
*
exist
=
sal_False
;
JFW_TRACE2
(
OUSTR
(
"[Java framework] Java runtime library does not exist: "
)
+
sRuntimeLib
+
OUSTR
(
"
\n
"
));
}
else
{
ret
=
JFW_PLUGIN_E_ERROR
;
JFW_TRACE2
(
OUSTR
(
"[Java framework] Error while looking for Java runtime library: "
)
+
sRuntimeLib
+
OUSTR
(
"
\n
"
));
}
}
#endif
return
ret
;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.map
Dosyayı görüntüle @
752d233c
...
...
@@ -6,3 +6,8 @@ UDK_3_0_0 {
local:
*;
};
UDK_3.1 { # OOo 3.3
global:
jfw_plugin_existJRE;
} UDK_3_0_0;
jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
Dosyayı görüntüle @
752d233c
...
...
@@ -419,9 +419,9 @@ SelfTest::SelfTest()
break
;
}
if
(
bRet
)
JFW_TRACE2
(
"[Java framework] sunjavaplugin: Testing class SunVersion succeeded."
);
JFW_TRACE2
(
"[Java framework] sunjavaplugin: Testing class SunVersion succeeded.
\n
"
);
else
OSL_ENSURE
(
bRet
,
"[Java framework] sunjavaplugin: SunVersion self test failed"
);
OSL_ENSURE
(
bRet
,
"[Java framework] sunjavaplugin: SunVersion self test failed
.
\n
"
);
}
#endif
...
...
jvmfwk/plugins/sunmajor/pluginlib/util.cxx
Dosyayı görüntüle @
752d233c
...
...
@@ -451,12 +451,12 @@ bool getJavaProps(const OUString & exePath,
rs
=
stdoutReader
.
readLine
(
&
aLine
);
if
(
rs
!=
FileHandleReader
::
RESULT_OK
)
break
;
JFW_TRACE2
(
OString
(
"[Java framework] line:
\"
"
)
+
aLine
+
OString
(
"
\"
.
\n
"
));
//
JFW_TRACE2(OString("[Java framework] line:\" ")
//
+ aLine + OString(" \".\n"));
OUString
sLine
;
if
(
!
decodeOutput
(
aLine
,
&
sLine
))
continue
;
JFW_TRACE2
(
OString
(
"[Java framework]
line
:
\"
"
)
JFW_TRACE2
(
OString
(
"[Java framework]:
\"
"
)
+
OString
(
CHAR_POINTER
(
sLine
))
+
OString
(
"
\"
.
\n
"
));
sLine
=
sLine
.
trim
();
if
(
sLine
.
getLength
()
==
0
)
...
...
@@ -510,7 +510,7 @@ bool decodeOutput(const rtl::OString& s, rtl::OUString* out)
}
while
(
nIndex
>=
0
);
*
out
=
buff
.
makeStringAndClear
();
JFW_TRACE2
(
*
out
);
//
JFW_TRACE2(*out);
return
true
;
}
...
...
jvmfwk/source/elements.cxx
Dosyayı görüntüle @
752d233c
...
...
@@ -931,6 +931,16 @@ void CNodeJavaInfo::loadFromNode(xmlDoc * pDoc, xmlNode * pJavaInfo)
pDoc
,
cur
->
children
,
1
);
rtl
::
OUString
sRequire
=
xmlRequire
;
nRequirements
=
sRequire
.
toInt64
(
16
);
#ifdef MACOSX
//javaldx is not used anymore in the mac build. In case the Java
//corresponding to the saved settings does not exist anymore the
//javavm services will look for an existing Java after creation of
//the JVM failed. See stoc/source/javavm/javavm.cxx. Only if
//nRequirements does not have the flag JFW_REQUIRE_NEEDRESTART the
//jvm of the new selected JRE will be started. Old settings (before
//OOo 3.3) still contain the flag which can be safely ignored.
nRequirements
&=
~
JFW_REQUIRE_NEEDRESTART
;
#endif
}
else
if
(
xmlStrcmp
(
cur
->
name
,
(
xmlChar
*
)
"vendorData"
)
==
0
)
{
...
...
jvmfwk/source/framework.cxx
Dosyayı görüntüle @
752d233c
...
...
@@ -1115,29 +1115,39 @@ javaFrameworkError SAL_CALL jfw_getJRELocations(
javaFrameworkError
jfw_existJRE
(
const
JavaInfo
*
pInfo
,
sal_Bool
*
exist
)
{
javaFrameworkError
ret
=
JFW_E_NONE
;
if
(
!
pInfo
||
!
exist
)
return
JFW_E_INVALID_ARG
;
::
rtl
::
OUString
sLocation
(
pInfo
->
sLocation
);
if
(
sLocation
.
getLength
()
==
0
)
return
JFW_E_INVALID_ARG
;
//get the function jfw_plugin_existJRE
jfw
::
VendorSettings
aVendorSettings
;
jfw
::
CJavaInfo
aInfo
;
aInfo
=
(
const
::
JavaInfo
*
)
pInfo
;
//makes a copy of pInfo
rtl
::
OUString
sLibPath
=
aVendorSettings
.
getPluginLibrary
(
aInfo
.
getVendor
());
osl
::
Module
modulePlugin
(
sLibPath
);
if
(
!
modulePlugin
)
return
JFW_E_NO_PLUGIN
;
rtl
::
OUString
sFunctionName
(
RTL_CONSTASCII_USTRINGPARAM
(
"jfw_plugin_existJRE"
));
jfw_plugin_existJRE_ptr
pFunc
=
(
jfw_plugin_existJRE_ptr
)
osl_getFunctionSymbol
(
modulePlugin
,
sFunctionName
.
pData
);
if
(
pFunc
==
NULL
)
return
JFW_E_ERROR
;
javaPluginError
plerr
=
(
*
pFunc
)(
pInfo
,
exist
);
::
osl
::
DirectoryItem
item
;
::
osl
::
File
::
RC
rc_item
=
::
osl
::
DirectoryItem
::
get
(
sLocation
,
item
);
if
(
::
osl
::
File
::
E_None
==
rc_item
)
{
*
exist
=
sal_True
;
}
else
if
(
::
osl
::
File
::
E_NOENT
==
rc_item
)
{
*
exist
=
sal_False
;
}
else
javaFrameworkError
ret
=
JFW_E_NONE
;
switch
(
plerr
)
{
case
JFW_PLUGIN_E_NONE
:
ret
=
JFW_E_NONE
;
break
;
case
JFW_PLUGIN_E_INVALID_ARG
:
ret
=
JFW_E_INVALID_ARG
;
break
;
case
JFW_PLUGIN_E_ERROR
:
ret
=
JFW_E_ERROR
;
break
;
default
:
ret
=
JFW_E_ERROR
;
}
return
ret
;
}
...
...
jvmfwk/source/framework.hxx
Dosyayı görüntüle @
752d233c
...
...
@@ -65,6 +65,10 @@ typedef javaPluginError (*jfw_plugin_startJavaVirtualMachine_ptr)(
JavaVM
**
ppVM
,
JNIEnv
**
ppEnv
);
typedef
javaPluginError
(
*
jfw_plugin_existJRE_ptr
)(
const
JavaInfo
*
info
,
sal_Bool
*
exist
);
namespace
jfw
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment