cui/source/options/optjava.cxx | 86 ++++---------------- cui/source/options/optjava.hxx | 9 -- desktop/source/migration/services/jvmfwk.cxx | 4 include/jvmfwk/framework.hxx | 32 ++----- jvmfwk/inc/elements.hxx | 27 ------ jvmfwk/inc/vendorplugin.hxx | 14 --- jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx | 39 ++------- jvmfwk/source/elements.cxx | 82 ++----------------- jvmfwk/source/framework.cxx | 54 +++--------- jvmfwk/source/framework.hxx | 38 -------- jvmfwk/source/fwkbase.cxx | 2 11 files changed, 81 insertions(+), 306 deletions(-)
New commits: commit 9b157d37f15b34720fced0b94d4541f4149a8947 Author: Stephan Bergmann <[email protected]> Date: Tue Apr 11 22:43:26 2017 +0200 Remove unused jfw::VendorSettings instantiations Change-Id: I0af90fbb9eb77e5e65b29a79cc3b37af8cfc75e6 diff --git a/jvmfwk/source/framework.cxx b/jvmfwk/source/framework.cxx index 86d2df71be2e..adca111e3246 100644 --- a/jvmfwk/source/framework.cxx +++ b/jvmfwk/source/framework.cxx @@ -286,9 +286,6 @@ javaFrameworkError jfw_startVM( } assert(pInfo != nullptr); - //get the function jfw_plugin_startJavaVirtualMachine - jfw::VendorSettings aVendorSettings; - // create JavaVMOptions array that is passed to the plugin // it contains the classpath and all options set in the //options dialog @@ -945,8 +942,6 @@ javaFrameworkError jfw_addJRELocation(OUString const & sLocation) javaFrameworkError jfw_existJRE(const JavaInfo *pInfo, bool *exist) { - //get the function jfw_plugin_existJRE - jfw::VendorSettings aVendorSettings; javaPluginError plerr = jfw_plugin_existJRE(pInfo, exist); javaFrameworkError ret = JFW_E_NONE; commit 598f788116cc830ffd8e3b214d5dade651e2aa95 Author: Stephan Bergmann <[email protected]> Date: Tue Apr 11 22:33:49 2017 +0200 Remove unnecessary copy Change-Id: Ib350999ddf3ed2753b9e615a07b963c459dc714b diff --git a/jvmfwk/source/framework.cxx b/jvmfwk/source/framework.cxx index dda5b3e8aefe..86d2df71be2e 100644 --- a/jvmfwk/source/framework.cxx +++ b/jvmfwk/source/framework.cxx @@ -947,8 +947,6 @@ javaFrameworkError jfw_existJRE(const JavaInfo *pInfo, bool *exist) { //get the function jfw_plugin_existJRE jfw::VendorSettings aVendorSettings; - jfw::CJavaInfo aInfo; - aInfo = pInfo; //makes a copy of pInfo javaPluginError plerr = jfw_plugin_existJRE(pInfo, exist); javaFrameworkError ret = JFW_E_NONE; commit 331f0e0c1e921d41116de5190c6eee81fad63a61 Author: Stephan Bergmann <[email protected]> Date: Tue Apr 11 22:29:51 2017 +0200 Remove unused function pointer typedefs Change-Id: I51ee45dba007e5709b1516c36b029f940ea7153e diff --git a/jvmfwk/source/framework.hxx b/jvmfwk/source/framework.hxx index 9521a723c54a..f514964db995 100644 --- a/jvmfwk/source/framework.hxx +++ b/jvmfwk/source/framework.hxx @@ -24,44 +24,6 @@ #include "jvmfwk/framework.hxx" #include "vendorplugin.hxx" -/** typedefs for functions from vendorplugin.hxx - */ -typedef javaPluginError (*jfw_plugin_getAllJavaInfos_ptr)( - rtl_uString * sVendor, - rtl_uString * sMinVersion, - rtl_uString * sMaxVersion, - rtl_uString * * arExcludeList, - sal_Int32 nLenList, - JavaInfo*** parJavaInfo, - sal_Int32 *nLenInfoList); - -typedef javaPluginError (*jfw_plugin_getJavaInfoByPath_ptr)( - rtl_uString * sPath, - rtl_uString * sVendor, - rtl_uString * sMinVersion, - rtl_uString * sMaxVersion, - rtl_uString * * arExcludeList, - sal_Int32 nLenList, - JavaInfo** ppInfo); - -/** starts a Java Virtual Machine. - <p> - The function shall ensure, that the VM does not abort the process - during instantiation. - </p> - */ -typedef javaPluginError (*jfw_plugin_startJavaVirtualMachine_ptr)( - const JavaInfo *info, - const JavaVMOption* options, - sal_Int32 cOptions, - JavaVM ** ppVM, - JNIEnv ** ppEnv); - -typedef javaPluginError (*jfw_plugin_existJRE_ptr)( - const JavaInfo *info, - sal_Bool *exist); - - namespace jfw { commit f1bbafc584ba538c21ee156e411903ed142cac2a Author: Stephan Bergmann <[email protected]> Date: Tue Apr 11 22:25:23 2017 +0200 Convert rtl_uString -> OUString in jfw_get/setVMParameters Change-Id: I55f96873661f686cd9625d69523718ccb54659dc diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx index 84c9fef6ca1b..03a2c6232d83 100644 --- a/cui/source/options/optjava.cxx +++ b/cui/source/options/optjava.cxx @@ -17,6 +17,10 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <sal/config.h> + +#include <vector> + #include <config_features.h> #include "optaboutconfig.hxx" @@ -63,35 +67,6 @@ using namespace ::com::sun::star::ucb; using namespace ::com::sun::star::ui::dialogs; using namespace ::com::sun::star::uno; -#if HAVE_FEATURE_JAVA - -static bool areListsEqual( const Sequence< OUString >& rListA, const Sequence< OUString >& rListB ) -{ - bool bRet = true; - const sal_Int32 nLen = rListA.getLength(); - - if ( rListB.getLength() != nLen ) - bRet = false; - else - { - const OUString* pStringA = rListA.getConstArray(); - const OUString* pStringB = rListB.getConstArray(); - - for ( sal_Int32 i = 0; i < nLen; ++i ) - { - if ( *pStringA++ != *pStringB++ ) - { - bRet = false; - break; - } - } - } - - return bRet; -} - -#endif - class SvxJavaListBox : public svx::SvxRadioButtonListBox { private: @@ -138,10 +113,6 @@ SvxJavaOptionsPage::SvxJavaOptionsPage( vcl::Window* pParent, const SfxItemSet& : SfxTabPage(pParent, "OptAdvancedPage", "cui/ui/optadvancedpage.ui", &rSet) , m_pParamDlg(nullptr) , m_pPathDlg(nullptr) -#if HAVE_FEATURE_JAVA - , m_parParameters(nullptr) - , m_nParamSize(0) -#endif , m_aResetIdle("cui options SvxJavaOptionsPage Reset") , xDialogListener(new ::svt::DialogClosedListener()) { @@ -293,21 +264,14 @@ IMPL_LINK_NOARG(SvxJavaOptionsPage, AddHdl_Impl, Button*, void) IMPL_LINK_NOARG(SvxJavaOptionsPage, ParameterHdl_Impl, Button*, void) { #if HAVE_FEATURE_JAVA - Sequence< OUString > aParameterList; + std::vector< OUString > aParameterList; if ( !m_pParamDlg ) { m_pParamDlg = VclPtr<SvxJavaParameterDlg>::Create( this ); - javaFrameworkError eErr = jfw_getVMParameters( &m_parParameters, &m_nParamSize ); - if ( JFW_E_NONE == eErr && m_parParameters && m_nParamSize > 0 ) + javaFrameworkError eErr = jfw_getVMParameters( &m_parParameters ); + if ( JFW_E_NONE == eErr && !m_parParameters.empty() ) { - rtl_uString** pParamArr = m_parParameters; - aParameterList.realloc( m_nParamSize ); - OUString* pParams = aParameterList.getArray(); - for ( sal_Int32 i = 0; i < m_nParamSize; ++i ) - { - rtl_uString* pParam = *pParamArr++; - pParams[i] = OUString( pParam ); - } + aParameterList = m_parParameters; m_pParamDlg->SetParameters( aParameterList ); } } @@ -319,7 +283,7 @@ IMPL_LINK_NOARG(SvxJavaOptionsPage, ParameterHdl_Impl, Button*, void) if ( m_pParamDlg->Execute() == RET_OK ) { - if ( !areListsEqual( aParameterList, m_pParamDlg->GetParameters() ) ) + if ( aParameterList != m_pParamDlg->GetParameters() ) { aParameterList = m_pParamDlg->GetParameters(); if ( jfw_isVMRunning() ) @@ -632,15 +596,8 @@ bool SvxJavaOptionsPage::FillItemSet( SfxItemSet* /*rCoreSet*/ ) javaFrameworkError eErr = JFW_E_NONE; if ( m_pParamDlg ) { - Sequence< OUString > aParamList = m_pParamDlg->GetParameters(); - sal_Int32 i, nSize = aParamList.getLength(); - rtl_uString** pParamArr = static_cast<rtl_uString**>(rtl_allocateMemory( sizeof(rtl_uString*) * nSize )); - const OUString* pList = aParamList.getConstArray(); - for ( i = 0; i < nSize; ++i ) - pParamArr[i] = pList[i].pData; - eErr = jfw_setVMParameters( pParamArr, nSize ); + eErr = jfw_setVMParameters( m_pParamDlg->GetParameters() ); SAL_WARN_IF(JFW_E_NONE != eErr, "cui.options", "SvxJavaOptionsPage::FillItemSet(): error in jfw_setVMParameters"); - rtl_freeMemory( pParamArr ); bModified = true; } @@ -879,13 +836,12 @@ short SvxJavaParameterDlg::Execute() } -Sequence< OUString > SvxJavaParameterDlg::GetParameters() const +std::vector< OUString > SvxJavaParameterDlg::GetParameters() const { sal_Int32 nCount = m_pAssignedList->GetEntryCount(); - Sequence< OUString > aParamList( nCount ); - OUString* pArray = aParamList.getArray(); + std::vector< OUString > aParamList; for ( sal_Int32 i = 0; i < nCount; ++i ) - pArray[i] = OUString( m_pAssignedList->GetEntry(i) ); + aParamList.push_back( m_pAssignedList->GetEntry(i) ); return aParamList; } @@ -897,14 +853,11 @@ void SvxJavaParameterDlg::DisableButtons() DisableRemoveButton(); } -void SvxJavaParameterDlg::SetParameters( Sequence< OUString >& rParams ) +void SvxJavaParameterDlg::SetParameters( std::vector< OUString > const & rParams ) { m_pAssignedList->Clear(); - sal_uLong i, nCount = rParams.getLength(); - const OUString* pArray = rParams.getConstArray(); - for ( i = 0; i < nCount; ++i ) + for (auto const & sParam: rParams) { - OUString sParam = OUString( *pArray++ ); m_pAssignedList->InsertEntry( sParam ); } DisableEditButton(); diff --git a/cui/source/options/optjava.hxx b/cui/source/options/optjava.hxx index 47fb0a85e32c..6598dfda5c70 100644 --- a/cui/source/options/optjava.hxx +++ b/cui/source/options/optjava.hxx @@ -66,9 +66,8 @@ private: #if HAVE_FEATURE_JAVA std::vector<std::unique_ptr<JavaInfo>> m_parJavaInfo; - rtl_uString** m_parParameters; + std::vector<OUString> m_parParameters; OUString m_pClassPath; - sal_Int32 m_nParamSize; #endif OUString m_sInstallText; OUString m_sAccessibilityText; @@ -165,8 +164,8 @@ public: virtual short Execute() override; - css::uno::Sequence< OUString > GetParameters() const; - void SetParameters( css::uno::Sequence< OUString >& rParams ); + std::vector< OUString > GetParameters() const; + void SetParameters( std::vector< OUString > const & rParams ); void DisableButtons(); void EditParameter(); }; diff --git a/include/jvmfwk/framework.hxx b/include/jvmfwk/framework.hxx index c0aff6841682..d6059bb640af 100644 --- a/include/jvmfwk/framework.hxx +++ b/include/jvmfwk/framework.hxx @@ -29,7 +29,6 @@ #include <jvmfwk/jvmfwkdllapi.hxx> #include <rtl/byteseq.hxx> -#include <rtl/ustring.h> #include <rtl/ustring.hxx> #include <osl/mutex.h> #include "jni.h" @@ -587,9 +586,7 @@ JVMFWK_DLLPUBLIC javaFrameworkError jfw_getEnabled(bool *pbEnabled); </p> @param arParameters - [in] contains the arguments. It can be NULL if nSize is 0. - @param nSize - [i] the size of <code>arArgs</code> + [in] contains the arguments. @return JFW_E_NONE function ran successfully.<br/> @@ -599,21 +596,12 @@ JVMFWK_DLLPUBLIC javaFrameworkError jfw_getEnabled(bool *pbEnabled); JFW_E_DIRECT_MODE the function cannot be used in this mode. */ JVMFWK_DLLPUBLIC javaFrameworkError jfw_setVMParameters( - rtl_uString ** arArgs, sal_Int32 nSize); + std::vector<OUString> const & arArgs); /** obtains the currently used start parameters. - <p>The caller needs to free the returned array with - <code>rtl_freeMemory</code>. The contained strings must be released with - <code>rtl_uString_release</code>. - </p> - @param parParameters [out] on returns contains a pointer to the array of the start arguments. - If *parParameters is not NULL then the value is overwritten. - @param pSize - [out] on return contains the size of array returned in - <code>parParameters</code> @return JFW_E_NONE function ran successfully.<br/> @@ -623,8 +611,7 @@ JVMFWK_DLLPUBLIC javaFrameworkError jfw_setVMParameters( JFW_E_DIRECT_MODE the function cannot be used in this mode. */ JVMFWK_DLLPUBLIC javaFrameworkError jfw_getVMParameters( - rtl_uString *** parParameters, - sal_Int32 * pSize); + std::vector<OUString> * parParameters); /** sets the user class path. diff --git a/jvmfwk/inc/elements.hxx b/jvmfwk/inc/elements.hxx index f99861a83051..f4766a5c92bd 100644 --- a/jvmfwk/inc/elements.hxx +++ b/jvmfwk/inc/elements.hxx @@ -205,7 +205,7 @@ public: /java/vmParameters@xsi:nil will be set to true when write() is called. */ - void setVmParameters(rtl_uString * * arParameters, sal_Int32 size); + void setVmParameters(std::vector<OUString> const & arParameters); /** adds a location to the already existing locations. Note: call load() before, then add the location and then call write(). @@ -309,10 +309,7 @@ public: bool getJavaInfoAttrAutoSelect() const; #endif - /** returns an array. - Caller must free the strings and the array. - */ - void getVmParametersArray(rtl_uString *** parParameters, sal_Int32 * size) const; + void getVmParametersArray(std::vector<OUString> * parParameters) const; const ::std::vector< OUString> & getJRELocations() const { return m_JRELocations;} }; diff --git a/jvmfwk/source/elements.cxx b/jvmfwk/source/elements.cxx index b25c49f07104..4da38c001ed9 100644 --- a/jvmfwk/source/elements.cxx +++ b/jvmfwk/source/elements.cxx @@ -591,21 +591,9 @@ void NodeJava::setJavaInfo(const JavaInfo * pInfo, bool bAutoSelect) } } -void NodeJava::setVmParameters(rtl_uString * * arOptions, sal_Int32 size) +void NodeJava::setVmParameters(std::vector<OUString> const & arOptions) { - assert( !(arOptions == nullptr && size != 0)); - if ( ! m_vmParameters) - m_vmParameters = boost::optional<std::vector<OUString> >( - std::vector<OUString>()); - m_vmParameters->clear(); - if (arOptions != nullptr) - { - for (int i = 0; i < size; i++) - { - const OUString sOption(arOptions[i]); - m_vmParameters->push_back(sOption); - } - } + m_vmParameters = boost::optional<std::vector<OUString> >(arOptions); } void NodeJava::addJRELocation(OUString const & sLocation) @@ -1024,26 +1012,13 @@ bool MergedSettings::getJavaInfoAttrAutoSelect() const return m_javaInfo.bAutoSelect; } #endif -void MergedSettings::getVmParametersArray( - rtl_uString *** parParams, sal_Int32 * size) const +void MergedSettings::getVmParametersArray(std::vector<OUString> * parParams) + const { - assert(parParams != nullptr && size != nullptr); + assert(parParams != nullptr); osl::MutexGuard guard(FwkMutex::get()); - *parParams = static_cast<rtl_uString **>( - rtl_allocateMemory(sizeof(rtl_uString*) * m_vmParams.size())); - if (*parParams == nullptr) - return; - - int j=0; - typedef std::vector<OUString>::const_iterator it; - for (it i = m_vmParams.begin(); i != m_vmParams.end(); - ++i, ++j) - { - (*parParams)[j] = i->pData; - rtl_uString_acquire(i->pData); - } - *size = m_vmParams.size(); + *parParams = m_vmParams; } } diff --git a/jvmfwk/source/framework.cxx b/jvmfwk/source/framework.cxx index 99b3e5e329dd..dda5b3e8aefe 100644 --- a/jvmfwk/source/framework.cxx +++ b/jvmfwk/source/framework.cxx @@ -834,8 +834,7 @@ javaFrameworkError jfw_getEnabled(bool *pbEnabled) } -javaFrameworkError jfw_setVMParameters( - rtl_uString * * arOptions, sal_Int32 nLen) +javaFrameworkError jfw_setVMParameters(std::vector<OUString> const & arOptions) { javaFrameworkError errcode = JFW_E_NONE; try @@ -844,7 +843,7 @@ javaFrameworkError jfw_setVMParameters( if (jfw::getMode() == jfw::JFW_MODE_DIRECT) return JFW_E_DIRECT_MODE; jfw::NodeJava node(jfw::NodeJava::USER); - node.setVmParameters(arOptions, nLen); + node.setVmParameters(arOptions); node.write(); } catch (const jfw::FrameworkException& e) @@ -857,8 +856,7 @@ javaFrameworkError jfw_setVMParameters( return errcode; } -javaFrameworkError jfw_getVMParameters( - rtl_uString *** parOptions, sal_Int32 * pLen) +javaFrameworkError jfw_getVMParameters(std::vector<OUString> * parOptions) { javaFrameworkError errcode = JFW_E_NONE; try @@ -868,7 +866,7 @@ javaFrameworkError jfw_getVMParameters( return JFW_E_DIRECT_MODE; const jfw::MergedSettings settings; - settings.getVmParametersArray(parOptions, pLen); + settings.getVmParametersArray(parOptions); } catch (const jfw::FrameworkException& e) { commit 61f43d0327c81bb2df88734c9572e489e4a9de31 Author: Stephan Bergmann <[email protected]> Date: Tue Apr 11 21:52:36 2017 +0200 Simplify jfw::VersionInfo Change-Id: I2cc1071bbaf9c68fbd621d6c0c6953b7646b1a62 diff --git a/jvmfwk/inc/elements.hxx b/jvmfwk/inc/elements.hxx index a2c17bfcaeb0..f99861a83051 100644 --- a/jvmfwk/inc/elements.hxx +++ b/jvmfwk/inc/elements.hxx @@ -318,27 +318,11 @@ public: }; -class VersionInfo +struct VersionInfo { ::std::vector< OUString> vecExcludeVersions; - rtl_uString ** arVersions; - -public: - VersionInfo(); - ~VersionInfo(); - - void addExcludeVersion(const OUString& sVersion); - OUString sMinVersion; OUString sMaxVersion; - - /** The caller DOES NOT get ownership of the strings. That is he - does not need to release the strings. - The array exists as long as this object exists. - */ - - rtl_uString** getExcludeVersions(); - sal_Int32 getExcludeVersionSize(); }; } //end namespace diff --git a/jvmfwk/inc/vendorplugin.hxx b/jvmfwk/inc/vendorplugin.hxx index d4febd726d18..d456fe74a59c 100644 --- a/jvmfwk/inc/vendorplugin.hxx +++ b/jvmfwk/inc/vendorplugin.hxx @@ -88,9 +88,7 @@ enum class javaPluginError [in] represents the maximum version of a JRE. The string can be empty. @param arExcludeList [in] contains a list of "bad" versions. JREs which have one of these - versions must not be returned by this function. It can be NULL. - @param nSizeExcludeList - [in] the number of version strings contained in <code>arExcludeList</code>. + versions must not be returned by this function. @param parJavaInfo [out] if the function runs successfully then <code>parJavaInfo</code> contains on return an array of pointers to <code>JavaInfo</code> objects. @@ -111,8 +109,7 @@ javaPluginError jfw_plugin_getAllJavaInfos( OUString const& sVendor, OUString const& sMinVersion, OUString const& sMaxVersion, - rtl_uString * * arExcludeList, - sal_Int32 nSizeExcludeList, + std::vector<OUString> const & arExcludeList, JavaInfo*** parJavaInfo, sal_Int32 *nSizeJavaInfo, std::vector<rtl::Reference<jfw_plugin::VendorBase>> & infos); @@ -136,9 +133,7 @@ javaPluginError jfw_plugin_getAllJavaInfos( [in] represents the maximum version of a JRE. @param arExcludeList [in] contains a list of "bad" versions. JREs which have one of these - versions must not be returned by this function. It can be NULL. - @param nSizeExcludeList - [in] the number of version strings contained in <code>arExcludeList</code>. + versions must not be returned by this function. @param ppInfo [out] if the function runs successfully then <code>ppInfo</code> contains on return a pointer to a <code>JavaInfo</code> object. @@ -162,8 +157,7 @@ javaPluginError jfw_plugin_getJavaInfoByPath( OUString const& sVendor, OUString const& sMinVersion, OUString const& sMaxVersion, - rtl_uString * *arExcludeList, - sal_Int32 nSizeExcludeList, + std::vector<OUString> const &arExcludeList, JavaInfo ** ppInfo); diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx index 9f3822a3772c..7ade439ed694 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx +++ b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx @@ -32,6 +32,8 @@ #include <cassert> #include <memory> +#include <vector> + #include "config_options.h" #include "osl/diagnose.h" #include "rtl/ustring.hxx" @@ -208,9 +210,7 @@ extern "C" void JNICALL abort_handler() [in] represents the maximum version of a JRE. The string can be empty. @param arExcludeList [in] contains a list of "bad" versions. JREs which have one of these - versions must not be returned by this function. It can be NULL. - @param nLenList - [in] the number of version strings contained in <code>arExcludeList</code>. + versions must not be returned by this function. @return javaPluginError::NONE the function ran successfully and the version requirements are met @@ -225,8 +225,7 @@ javaPluginError checkJavaVersionRequirements( rtl::Reference<VendorBase> const & aVendorInfo, OUString const& sMinVersion, OUString const& sMaxVersion, - rtl_uString * * arExcludeList, - sal_Int32 nLenList) + std::vector<OUString> const & arExcludeList) { if (!aVendorInfo->isValidArch()) { @@ -270,9 +269,7 @@ javaPluginError checkJavaVersionRequirements( } } - for (int i = 0; i < nLenList; i++) - { - OUString sExVer(arExcludeList[i]); + for (auto const & sExVer: arExcludeList) { try { if (aVendorInfo->compareVersions(sExVer) == 0) @@ -300,8 +297,7 @@ javaPluginError jfw_plugin_getAllJavaInfos( OUString const& sVendor, OUString const& sMinVersion, OUString const& sMaxVersion, - rtl_uString * *arExcludeList, - sal_Int32 nLenList, + std::vector<OUString> const &arExcludeList, JavaInfo*** parJavaInfo, sal_Int32 *nLenInfoList, std::vector<rtl::Reference<jfw_plugin::VendorBase>> & infos) @@ -309,10 +305,6 @@ javaPluginError jfw_plugin_getAllJavaInfos( assert(parJavaInfo); assert(nLenInfoList); - //nLenlist contains the number of elements in arExcludeList. - //If no exclude list is provided then nLenList must be 0 - assert( ! (arExcludeList == nullptr && nLenList > 0)); - OSL_ASSERT(!sVendor.isEmpty()); if (sVendor.isEmpty()) return javaPluginError::InvalidArg; @@ -333,7 +325,7 @@ javaPluginError jfw_plugin_getAllJavaInfos( continue; javaPluginError err = checkJavaVersionRequirements( - cur, sMinVersion, sMaxVersion, arExcludeList, nLenList); + cur, sMinVersion, sMaxVersion, arExcludeList); if (err == javaPluginError::FailedVersion || err == javaPluginError::WrongArch) continue; @@ -363,8 +355,7 @@ javaPluginError jfw_plugin_getJavaInfoByPath( OUString const& sVendor, OUString const& sMinVersion, OUString const& sMaxVersion, - rtl_uString * *arExcludeList, - sal_Int32 nLenList, + std::vector<OUString> const &arExcludeList, JavaInfo ** ppInfo) { assert(ppInfo != nullptr); @@ -372,10 +363,6 @@ javaPluginError jfw_plugin_getJavaInfoByPath( if (sPath.isEmpty()) return javaPluginError::InvalidArg; - //nLenlist contains the number of elements in arExcludeList. - //If no exclude list is provided then nLenList must be 0 - assert( ! (arExcludeList == nullptr && nLenList > 0)); - OSL_ASSERT(!sVendor.isEmpty()); if (sVendor.isEmpty()) return javaPluginError::InvalidArg; @@ -388,7 +375,7 @@ javaPluginError jfw_plugin_getJavaInfoByPath( if (!sVendor.equals(aVendorInfo->getVendor())) return javaPluginError::NoJre; javaPluginError errorcode = checkJavaVersionRequirements( - aVendorInfo, sMinVersion, sMaxVersion, arExcludeList, nLenList); + aVendorInfo, sMinVersion, sMaxVersion, arExcludeList); if (errorcode == javaPluginError::NONE) *ppInfo = createJavaInfo(aVendorInfo); @@ -422,8 +409,7 @@ javaPluginError jfw_plugin_getJavaInfoFromJavaHome( infoJavaHome[0], versionInfo.sMinVersion, versionInfo.sMaxVersion, - versionInfo.getExcludeVersions(), - versionInfo.getExcludeVersionSize()); + versionInfo.vecExcludeVersions); if (errorcode == javaPluginError::NONE) { @@ -457,7 +443,7 @@ javaPluginError jfw_plugin_getJavaInfosFromPath( for (ci_pl vendorInfo = vecVendorInfos.begin(); vendorInfo != vecVendorInfos.end(); ++vendorInfo) { const OUString& vendor = vendorInfo->first; - jfw::VersionInfo versionInfo = vendorInfo->second; + jfw::VersionInfo const & versionInfo = vendorInfo->second; if (vendor.equals(currentInfo->getVendor())) { @@ -465,8 +451,7 @@ javaPluginError jfw_plugin_getJavaInfosFromPath( currentInfo, versionInfo.sMinVersion, versionInfo.sMaxVersion, - versionInfo.getExcludeVersions(), - versionInfo.getExcludeVersionSize()); + versionInfo.vecExcludeVersions); if (errorcode == javaPluginError::NONE) { diff --git a/jvmfwk/source/elements.cxx b/jvmfwk/source/elements.cxx index 70c38e852eaf..b25c49f07104 100644 --- a/jvmfwk/source/elements.cxx +++ b/jvmfwk/source/elements.cxx @@ -171,43 +171,6 @@ void createSettingsStructure(xmlDoc * document, bool * bNeedsSave) xmlAddChild(root, nodeCrLf); } - -VersionInfo::VersionInfo(): arVersions(nullptr) -{ -} - -VersionInfo::~VersionInfo() -{ -} - -void VersionInfo::addExcludeVersion(const OUString& sVersion) -{ - vecExcludeVersions.push_back(sVersion); -} - -rtl_uString** VersionInfo::getExcludeVersions() -{ - osl::MutexGuard guard(FwkMutex::get()); - if (arVersions != nullptr) - return arVersions; - - arVersions = new rtl_uString*[vecExcludeVersions.size()]; - int j=0; - typedef std::vector<OUString>::const_iterator it; - for (it i = vecExcludeVersions.begin(); i != vecExcludeVersions.end(); - ++i, ++j) - { - arVersions[j] = vecExcludeVersions[j].pData; - } - return arVersions; -} - -sal_Int32 VersionInfo::getExcludeVersionSize() -{ - return vecExcludeVersions.size(); -} - - NodeJava::NodeJava(Layer layer): m_layer(layer) { diff --git a/jvmfwk/source/framework.cxx b/jvmfwk/source/framework.cxx index 5ae4c8773f71..99b3e5e329dd 100644 --- a/jvmfwk/source/framework.cxx +++ b/jvmfwk/source/framework.cxx @@ -93,8 +93,7 @@ javaFrameworkError jfw_findAllJREs(std::vector<std::unique_ptr<JavaInfo>> *pparI vendor, versionInfo.sMinVersion, versionInfo.sMaxVersion, - versionInfo.getExcludeVersions(), - versionInfo.getExcludeVersionSize(), + versionInfo.vecExcludeVersions, & arInfos, & cInfos, infos); @@ -121,8 +120,7 @@ javaFrameworkError jfw_findAllJREs(std::vector<std::unique_ptr<JavaInfo>> *pparI vendor, versionInfo.sMinVersion, versionInfo.sMaxVersion, - versionInfo.getExcludeVersions(), - versionInfo.getExcludeVersionSize(), + versionInfo.vecExcludeVersions, & aInfo.pInfo); if (plerr == javaPluginError::NoJre) continue; @@ -480,8 +478,7 @@ javaFrameworkError jfw_findAndSelectJRE(std::unique_ptr<JavaInfo> *pInfo) vendor, versionInfo.sMinVersion, versionInfo.sMaxVersion, - versionInfo.getExcludeVersions(), - versionInfo.getExcludeVersionSize(), + versionInfo.vecExcludeVersions, & arInfos, & cInfos, infos); @@ -551,8 +548,7 @@ javaFrameworkError jfw_findAndSelectJRE(std::unique_ptr<JavaInfo> *pInfo) vendor, versionInfo.sMinVersion, versionInfo.sMaxVersion, - versionInfo.getExcludeVersions(), - versionInfo.getExcludeVersionSize(), + versionInfo.vecExcludeVersions, & aInfo.pInfo); if (err == javaPluginError::NoJre) continue; @@ -717,8 +713,7 @@ javaFrameworkError jfw_getJavaInfoByPath(OUString const & pPath, std::unique_ptr vendor, versionInfo.sMinVersion, versionInfo.sMaxVersion, - versionInfo.getExcludeVersions(), - versionInfo.getExcludeVersionSize(), + versionInfo.vecExcludeVersions, & pInfo); if (plerr == javaPluginError::NONE) diff --git a/jvmfwk/source/fwkbase.cxx b/jvmfwk/source/fwkbase.cxx index df2e41e4994f..27950eb11630 100644 --- a/jvmfwk/source/fwkbase.cxx +++ b/jvmfwk/source/fwkbase.cxx @@ -191,7 +191,7 @@ VersionInfo VendorSettings::getVersionInformation(const OUString & sVendor) OString osVersion(sVersion); OUString usVersion = OStringToOUString( osVersion, RTL_TEXTENCODING_UTF8); - aVersionInfo.addExcludeVersion(usVersion); + aVersionInfo.vecExcludeVersions.push_back(usVersion); } } cur = cur->next; commit 346b5cfd9078826f8705e226ad317b2e4c58162d Author: Stephan Bergmann <[email protected]> Date: Tue Apr 11 21:38:46 2017 +0200 Convert some rtl_uString -> OUString in jvmfwk Change-Id: I08de5cab29dabc6fd824d5df8bac12c8520a05ae diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx index a0d4d8dabcc1..84c9fef6ca1b 100644 --- a/cui/source/options/optjava.cxx +++ b/cui/source/options/optjava.cxx @@ -140,7 +140,6 @@ SvxJavaOptionsPage::SvxJavaOptionsPage( vcl::Window* pParent, const SfxItemSet& , m_pPathDlg(nullptr) #if HAVE_FEATURE_JAVA , m_parParameters(nullptr) - , m_pClassPath(nullptr) , m_nParamSize(0) #endif , m_aResetIdle("cui options SvxJavaOptionsPage Reset") @@ -347,7 +346,7 @@ IMPL_LINK_NOARG(SvxJavaOptionsPage, ClassPathHdl_Impl, Button*, void) { m_pPathDlg = VclPtr<SvxJavaClassPathDlg>::Create( this ); javaFrameworkError eErr = jfw_getUserClassPath( &m_pClassPath ); - if ( JFW_E_NONE == eErr && m_pClassPath ) + if ( JFW_E_NONE == eErr ) { sClassPath = m_pClassPath; m_pPathDlg->SetClassPath( sClassPath ); @@ -538,7 +537,7 @@ void SvxJavaOptionsPage::AddFolder( const OUString& _rFolder ) #if HAVE_FEATURE_JAVA bool bStartAgain = true; std::unique_ptr<JavaInfo> pInfo; - javaFrameworkError eErr = jfw_getJavaInfoByPath( _rFolder.pData, &pInfo ); + javaFrameworkError eErr = jfw_getJavaInfoByPath( _rFolder, &pInfo ); if ( JFW_E_NONE == eErr && pInfo ) { sal_Int32 nPos = 0; @@ -568,7 +567,7 @@ void SvxJavaOptionsPage::AddFolder( const OUString& _rFolder ) if ( !bFound ) { - jfw_addJRELocation( pInfo->sLocation.pData ); + jfw_addJRELocation( pInfo->sLocation ); AddJRE( pInfo.get() ); m_aAddedInfos.push_back( std::move(pInfo) ); nPos = m_pJavaList->GetEntryCount() - 1; @@ -650,7 +649,7 @@ bool SvxJavaOptionsPage::FillItemSet( SfxItemSet* /*rCoreSet*/ ) OUString sPath( m_pPathDlg->GetClassPath() ); if ( m_pPathDlg->GetOldPath() != sPath ) { - eErr = jfw_setUserClassPath( sPath.pData ); + eErr = jfw_setUserClassPath( sPath ); SAL_WARN_IF(JFW_E_NONE != eErr, "cui.options", "SvxJavaOptionsPage::FillItemSet(): error in jfw_setUserClassPath"); bModified = true; } diff --git a/cui/source/options/optjava.hxx b/cui/source/options/optjava.hxx index 6b301d2e229c..47fb0a85e32c 100644 --- a/cui/source/options/optjava.hxx +++ b/cui/source/options/optjava.hxx @@ -67,7 +67,7 @@ private: #if HAVE_FEATURE_JAVA std::vector<std::unique_ptr<JavaInfo>> m_parJavaInfo; rtl_uString** m_parParameters; - rtl_uString* m_pClassPath; + OUString m_pClassPath; sal_Int32 m_nParamSize; #endif OUString m_sInstallText; diff --git a/desktop/source/migration/services/jvmfwk.cxx b/desktop/source/migration/services/jvmfwk.cxx index 9fb42e96c9e8..fc858ec3a039 100644 --- a/desktop/source/migration/services/jvmfwk.cxx +++ b/desktop/source/migration/services/jvmfwk.cxx @@ -239,7 +239,7 @@ void JavaMigration::migrateJavarc() { //get the directory std::unique_ptr<JavaInfo> aInfo; - javaFrameworkError err = jfw_getJavaInfoByPath(sValue.pData, &aInfo); + javaFrameworkError err = jfw_getJavaInfoByPath(sValue, &aInfo); if (err == JFW_E_NONE) { @@ -339,7 +339,7 @@ void SAL_CALL JavaMigration::setPropertyValue( "[Service implementation " IMPL_NAME "] XLayerHandler::setPropertyValue received wrong type for UserClassPath property", nullptr, Any()); - if (jfw_setUserClassPath(cp.pData) != JFW_E_NONE) + if (jfw_setUserClassPath(cp) != JFW_E_NONE) throw WrappedTargetException( "[Service implementation " IMPL_NAME "] XLayerHandler::setPropertyValue: jfw_setUserClassPath failed.", nullptr, Any()); diff --git a/include/jvmfwk/framework.hxx b/include/jvmfwk/framework.hxx index fe806af5bc83..c0aff6841682 100644 --- a/include/jvmfwk/framework.hxx +++ b/include/jvmfwk/framework.hxx @@ -419,7 +419,7 @@ JVMFWK_DLLPUBLIC javaFrameworkError jfw_findAllJREs( requirements as determined by the javavendors.xml */ JVMFWK_DLLPUBLIC javaFrameworkError jfw_getJavaInfoByPath( - rtl_uString *pPath, std::unique_ptr<JavaInfo> *ppInfo); + OUString const & pPath, std::unique_ptr<JavaInfo> *ppInfo); /** starts a Java Virtual Machine (JVM). @@ -643,16 +643,14 @@ JVMFWK_DLLPUBLIC javaFrameworkError jfw_getVMParameters( were not met.<br/> JFW_E_DIRECT_MODE the function cannot be used in this mode. */ -JVMFWK_DLLPUBLIC javaFrameworkError jfw_setUserClassPath(rtl_uString * pCP); +JVMFWK_DLLPUBLIC javaFrameworkError jfw_setUserClassPath(OUString const & pCP); /** provides the value of the current user class path. <p>The function returns an empty string if no user class path is set. </p> @param ppCP - [out] contains the user class path on return. If <code>*ppCP</code> was - not NULL then the value is overwritten. No attempt at freeing that string - is made. + [out] contains the user class path on return. @return JFW_E_NONE function ran successfully.<br/> @@ -661,7 +659,7 @@ JVMFWK_DLLPUBLIC javaFrameworkError jfw_setUserClassPath(rtl_uString * pCP); were not met.<br/> JFW_E_DIRECT_MODE the function cannot be used in this mode. */ -JVMFWK_DLLPUBLIC javaFrameworkError jfw_getUserClassPath(rtl_uString ** ppCP); +JVMFWK_DLLPUBLIC javaFrameworkError jfw_getUserClassPath(OUString * ppCP); /** saves the location of a JRE. @@ -688,7 +686,8 @@ JVMFWK_DLLPUBLIC javaFrameworkError jfw_getUserClassPath(rtl_uString ** ppCP); were not met.<br/> JFW_E_DIRECT_MODE the function cannot be used in this mode. */ -JVMFWK_DLLPUBLIC javaFrameworkError jfw_addJRELocation(rtl_uString * sLocation); +JVMFWK_DLLPUBLIC javaFrameworkError jfw_addJRELocation( + OUString const & sLocation); /** checks if the installation of the jre still exists. diff --git a/jvmfwk/inc/elements.hxx b/jvmfwk/inc/elements.hxx index edf44ccc0f64..a2c17bfcaeb0 100644 --- a/jvmfwk/inc/elements.hxx +++ b/jvmfwk/inc/elements.hxx @@ -210,7 +210,7 @@ public: /** adds a location to the already existing locations. Note: call load() before, then add the location and then call write(). */ - void addJRELocation(rtl_uString * sLocation); + void addJRELocation(OUString const & sLocation); /** writes the data to user settings. */ diff --git a/jvmfwk/source/elements.cxx b/jvmfwk/source/elements.cxx index 64258699713e..70c38e852eaf 100644 --- a/jvmfwk/source/elements.cxx +++ b/jvmfwk/source/elements.cxx @@ -645,18 +645,16 @@ void NodeJava::setVmParameters(rtl_uString * * arOptions, sal_Int32 size) } } -void NodeJava::addJRELocation(rtl_uString * sLocation) +void NodeJava::addJRELocation(OUString const & sLocation) { - assert( sLocation); if (!m_JRELocations) m_JRELocations = boost::optional<std::vector<OUString> >( std::vector<OUString> ()); //only add the path if not already present std::vector<OUString>::const_iterator it = - std::find(m_JRELocations->begin(), m_JRELocations->end(), - OUString(sLocation)); + std::find(m_JRELocations->begin(), m_JRELocations->end(), sLocation); if (it == m_JRELocations->end()) - m_JRELocations->push_back(OUString(sLocation)); + m_JRELocations->push_back(sLocation); } jfw::FileStatus NodeJava::checkSettingsFileStatus(OUString const & sURL) diff --git a/jvmfwk/source/framework.cxx b/jvmfwk/source/framework.cxx index 9c3a35c56aca..5ae4c8773f71 100644 --- a/jvmfwk/source/framework.cxx +++ b/jvmfwk/source/framework.cxx @@ -641,9 +641,8 @@ javaFrameworkError jfw_getSelectedJRE(std::unique_ptr<JavaInfo> *ppInfo) if (jfw::getMode() == jfw::JFW_MODE_DIRECT) { - OUString sJRE = jfw::BootParams::getJREHome(); - - if ((errcode = jfw_getJavaInfoByPath(sJRE.pData, ppInfo)) + if ((errcode = jfw_getJavaInfoByPath( + jfw::BootParams::getJREHome(), ppInfo)) != JFW_E_NONE) throw jfw::FrameworkException( JFW_E_CONFIGURATION, @@ -688,17 +687,14 @@ bool jfw_isVMRunning() return g_pJavaVM != nullptr; } -javaFrameworkError jfw_getJavaInfoByPath(rtl_uString *pPath, std::unique_ptr<JavaInfo> *ppInfo) +javaFrameworkError jfw_getJavaInfoByPath(OUString const & pPath, std::unique_ptr<JavaInfo> *ppInfo) { - assert(pPath != nullptr); assert(ppInfo != nullptr); javaFrameworkError errcode = JFW_E_NONE; try { osl::MutexGuard guard(jfw::FwkMutex::get()); - OUString ouPath(pPath); - jfw::VendorSettings aVendorSettings; std::vector<OUString> vecVendors = aVendorSettings.getSupportedVendors(); @@ -717,7 +713,7 @@ javaFrameworkError jfw_getJavaInfoByPath(rtl_uString *pPath, std::unique_ptr<Jav //Only if it does return a JavaInfo JavaInfo* pInfo = nullptr; javaPluginError plerr = jfw_plugin_getJavaInfoByPath( - ouPath, + pPath, vendor, versionInfo.sMinVersion, versionInfo.sMaxVersion, @@ -888,9 +884,8 @@ javaFrameworkError jfw_getVMParameters( return errcode; } -javaFrameworkError jfw_setUserClassPath(rtl_uString * pCp) +javaFrameworkError jfw_setUserClassPath(OUString const & pCp) { - assert(pCp != nullptr); javaFrameworkError errcode = JFW_E_NONE; try { @@ -910,7 +905,7 @@ javaFrameworkError jfw_setUserClassPath(rtl_uString * pCp) return errcode; } -javaFrameworkError jfw_getUserClassPath(rtl_uString ** ppCP) +javaFrameworkError jfw_getUserClassPath(OUString * ppCP) { assert(ppCP != nullptr); javaFrameworkError errcode = JFW_E_NONE; @@ -920,8 +915,7 @@ javaFrameworkError jfw_getUserClassPath(rtl_uString ** ppCP) if (jfw::getMode() == jfw::JFW_MODE_DIRECT) return JFW_E_DIRECT_MODE; const jfw::MergedSettings settings; - *ppCP = settings.getUserClassPath().pData; - rtl_uString_acquire(*ppCP); + *ppCP = settings.getUserClassPath(); } catch (const jfw::FrameworkException& e) { @@ -932,7 +926,7 @@ javaFrameworkError jfw_getUserClassPath(rtl_uString ** ppCP) return errcode; } -javaFrameworkError jfw_addJRELocation(rtl_uString * sLocation) +javaFrameworkError jfw_addJRELocation(OUString const & sLocation) { javaFrameworkError errcode = JFW_E_NONE; try _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
