diff options
author | Joachim Lingner <jl@openoffice.org> | 2004-05-03 13:30:42 +0000 |
---|---|---|
committer | Joachim Lingner <jl@openoffice.org> | 2004-05-03 13:30:42 +0000 |
commit | f09722270fdaae2d9d55c622f4b399912c452519 (patch) | |
tree | 2a16c4acdc1fcf0000b6e510c9e1513bb83000bd /jvmfwk | |
parent | 53bd72dc96f1443cde936ce882462ca9997c70ff (diff) |
#i20052#
Diffstat (limited to 'jvmfwk')
-rw-r--r-- | jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx | 95 | ||||
-rw-r--r-- | jvmfwk/prj/build.lst | 1 | ||||
-rw-r--r-- | jvmfwk/prj/d.lst | 10 |
3 files changed, 55 insertions, 51 deletions
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx index e3d6f0a52c12..6da7a96fe5ea 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx +++ b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx @@ -2,9 +2,9 @@ * * $RCSfile: sunjavaplugin.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: jl $ $Date: 2004-04-30 06:22:14 $ + * last change: $Author: jl $ $Date: 2004-05-03 14:29:51 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,6 +65,7 @@ #include "external/boost/scoped_array.hpp" #include "osl/diagnose.h" #include "rtl/ustring.hxx" +#include "rtl/ustrbuf.hxx" #include "osl/module.hxx" #include "osl/mutex.hxx" #include "osl/thread.hxx" @@ -99,11 +100,51 @@ osl::Mutex * getPluginMutex() Init(), ::osl::GetGlobalMutex()); } +JavaInfo* createJavaInfo(const stoc_javadetect::JavaInfo & info) +{ + JavaInfo* pInfo = (JavaInfo*) rtl_allocateMemory(sizeof(JavaInfo)); + if (pInfo == NULL) + return NULL; + rtl::OUString sVendor(OUSTR("Sun Microsystems Inc.")); + pInfo->sVendor = sVendor.pData; + rtl_uString_acquire(sVendor.pData); + pInfo->sLocation = info.usJavaHome.pData; + rtl_uString_acquire(pInfo->sLocation); + pInfo->sVersion = info.getVersion().pData; + rtl_uString_acquire(pInfo->sVersion); + pInfo->nFeatures = info.supportsAccessibility() ? 1 : 0; +#ifdef UNX + pInfo->nRequirements = JFW_REQUIRE_NEEDRESTART; +#else + pInfo->nRequirements = 0x0l; +#endif + rtl::OUStringBuffer buf(1024); + buf.append(info.usRuntimeLib); +#ifdef UNX + buf.appendAscii("\n"); + buf.append(info.usLibLocations); + buf.appendAscii("\n"); +#endif + + rtl::OUString sVendorData = buf.makeStringAndClear(); + rtl::ByteSequence byteSeq( (sal_Int8*) sVendorData.pData->buffer, + sVendorData.getLength() * sizeof(sal_Unicode)); + pInfo->arVendorData = byteSeq.get(); + rtl_byte_sequence_acquire(pInfo->arVendorData); + + return pInfo; +} + rtl::OUString getRuntimeLib(const rtl::ByteSequence & data) { const sal_Unicode* chars = (sal_Unicode*) data.getConstArray(); sal_Int32 len = data.getLength(); - return rtl::OUString(chars, len / 2); + rtl::OUString sData(chars, len / 2); + //the runtime lib is on the first line + sal_Int32 index = 0; + rtl::OUString aToken = sData.getToken( 0, '\n', index); + + return aToken; } jmp_buf jmp_jvm_abort; @@ -144,35 +185,13 @@ javaPluginError getAllJavaInfos( rtl_uString *sMinVersion, stoc_javadetect::JavaInfo::createAllInfo(sMin, seqExclude, 0); arInfo = (JavaInfo**) rtl_allocateMemory(vec.size() * sizeof (JavaInfo*)); -// JavaInfo * (_arInfo[] = (JavaInfo*(*)[])arInfo; - int j = 0; - rtl::OUString sVendor(OUSTR("Sun Microsystems Inc.")); - + int j = 0; typedef std::vector<stoc_javadetect::JavaInfo>::iterator cit; for (cit i = vec.begin(); i != vec.end(); i++, j++) { - arInfo[j] = (JavaInfo*) rtl_allocateMemory(sizeof(JavaInfo)); - JavaInfo* pInfo = arInfo[j]; - pInfo->sVendor = sVendor.pData; - rtl_uString_acquire(sVendor.pData); - pInfo->sLocation = i->usJavaHome.pData; - rtl_uString_acquire(i->usJavaHome.pData); - pInfo->sVersion = i->getVersion().pData; - rtl_uString_acquire(pInfo->sVersion); - pInfo->nFeatures = i->supportsAccessibility() ? 1 : 0; -#ifdef UNX - pInfo->nRequirements = JFW_REQUIRE_NEEDRESTART; -#else - pInfo->nRequirements = 0x0l; -#endif - rtl::OUString sRuntimeLib = i->usRuntimeLib; - rtl::ByteSequence byteSeq( (sal_Int8*) sRuntimeLib.pData->buffer, - sRuntimeLib.getLength() * sizeof(sal_Unicode)); - pInfo->arVendorData = byteSeq.get(); - rtl_byte_sequence_acquire(pInfo->arVendorData); + arInfo[j] = createJavaInfo(*i); } - *nLenInfoList = vec.size(); } catch(stoc_javadetect::JavaInfo::MalformedVersionException&) @@ -236,27 +255,7 @@ javaPluginError getJavaInfoByPath( } } - rtl::OUString sVendor(OUSTR("Sun Microsystems Inc.")); - JavaInfo * pInfo = (JavaInfo*) rtl_allocateMemory(sizeof (JavaInfo)); - pInfo->sVendor = sVendor.pData; - rtl_uString_acquire(sVendor.pData); - pInfo->sLocation = info.usJavaHome.pData; - rtl_uString_acquire(pInfo->sLocation); - pInfo->sVersion = info.getVersion().pData; - rtl_uString_acquire(pInfo->sVersion); - pInfo->nFeatures = info.supportsAccessibility() ? 1 : 0; -#ifdef UNX - pInfo->nRequirements = JFW_REQUIRE_NEEDRESTART; -#else - pInfo->nRequirements = 0l; -#endif - rtl::OUString sRuntimeLib = info.usRuntimeLib; - rtl::ByteSequence byteSeq( (sal_Int8*) sRuntimeLib.pData->buffer, - sRuntimeLib.getLength() * sizeof(sal_Unicode)); - pInfo->arVendorData = byteSeq.get(); - rtl_byte_sequence_acquire(pInfo->arVendorData); - - *ppInfo = pInfo; + *ppInfo = createJavaInfo(info); } catch(stoc_javadetect::JavaInfo::InitException& ) { diff --git a/jvmfwk/prj/build.lst b/jvmfwk/prj/build.lst index d55938d798f6..93e96b3a9854 100644 --- a/jvmfwk/prj/build.lst +++ b/jvmfwk/prj/build.lst @@ -1,3 +1,4 @@ jv jvmfwk : cppu sal libxml2 NULL jv jvmfwk\source nmake - all jv_framework NULL jv jvmfwk\plugins\sunmajor\pluginlib nmake - all jf_sunmajorlib NULL +jv jvmfwk\plugins\sunmajor\javaenvsetup nmake - u jf_sunjavaldx NULL diff --git a/jvmfwk/prj/d.lst b/jvmfwk/prj/d.lst index ac8c84af0faf..bef674c1cd64 100644 --- a/jvmfwk/prj/d.lst +++ b/jvmfwk/prj/d.lst @@ -1,4 +1,6 @@ -mkdir: %_DEST%\inc%_EXT%\jvmaccess +mkdir: %_DEST%\inc%_EXT%\jvmfwk +mkdir: %_DEST%\bin%_EXT%\jvmfwk_so_unx +mkdir: %_DEST%\bin%_EXT%\jvmfwk_so_wnt ..\inc\jvmfwk\framework.h %_DEST%\inc%_EXT%\jvmfwk\framework.h ..\inc\jvmfwk\vendorplugin.h %_DEST%\inc%_EXT%\jvmfwk\vendorplugin.h ..\%__SRC%\lib\ijvmfwk.lib %_DEST%\lib%_EXT%\ijvmfwk.lib @@ -6,8 +8,10 @@ mkdir: %_DEST%\inc%_EXT%\jvmaccess ..\%__SRC%\lib\libjvmfwk*.dylib* %_DEST%\lib%_EXT%\* ..\%__SRC%\bin\jvmfwk*.dll %_DEST%\bin%_EXT%\* ..\%__SRC%\bin\sunjavaplugin*.dll %_DEST%\bin%_EXT%\* +..\%__SRC%\bin\javaldx %_DEST%\bin%_EXT%\javaldx ..\source\useatjava.txt %_DEST%\bin%_EXT%\useatjava.txt -..\source\javavendors.xml %_DEST%\bin%_EXT%\javavendors.xml -..\source\javasettings.xml %_DEST%\bin%_EXT%\javasettings.xml +..\distributions\StarOffice\javavendors_unx.xml %_DEST%\bin%_EXT%\jvmfwk_so_unx\javavendors.xml +..\distributions\StarOffice\javavendors_wnt.xml %_DEST%\bin%_EXT%\jvmfwk_so_wnt\javavendors.xml + linklib: libjvmfwk*.so.*.*.* |