1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef INCLUDED_JVMFWK_SOURCE_FWKBASE_HXX
20 #define INCLUDED_JVMFWK_SOURCE_FWKBASE_HXX
22 #include "rtl/ustring.hxx"
23 #include "libxmlutil.hxx"
30 OUString m_xmlDocVendorSettingsFileUrl
;
31 CXmlDocPtr m_xmlDocVendorSettings
;
32 CXPathContextPtr m_xmlPathContextVendorSettings
;
37 VersionInfo
getVersionInformation(const OUString
& sVendor
);
39 ::std::vector
< OUString
> getSupportedVendors();
42 /* The class offers functions to retrieve verified bootstrap parameters.
47 /* Gets the file URL to the JRE which has been determined by the
48 bootstrap parameter UNO_JAVA_JFW_JREHOME or UNO_JAVA_JFW_ENV_JREHOME.
50 In direct mode either of them must be set. If not an exception is thrown.
52 OUString
getJREHome();
54 ::std::vector
< OString
> getVMParameters();
56 OUString
getUserData();
58 OUString
getSharedData();
60 /* returns the file URL to the vendor settings xml file.
62 OUString
getVendorSettings();
64 /* User the parameter UNO_JAVA_JFW_CLASSPATH and UNO_JAVA_JFW_ENV_CLASSPATH
65 to compose a classpath
67 OString
getClasspath();
69 OUString
getClasspathUrls();
84 /** creates the -Djava.class.path option with the complete classpath, including
85 the paths which are set by UNO_JAVA_JFW_CLASSPATH_URLS.
87 OString
makeClassPathOption(OUString
const & sUserClassPath
);
89 OString
getSettingsPath( const OUString
& sURL
);
91 /** Get the system path to the javasettings.xml
92 Converts the URL returned from getUserSettingsURL to a
93 Systempath. An empty string is returned if the file
95 @throws FrameworkException
97 OString
getUserSettingsPath();
99 /** Returns the system path of the share settings file.
100 Returns a valid string or throws an exception.
101 @throws FrameworkException
103 OString
getSharedSettingsPath();
105 /* returns a valid string or throws an exception.
106 @throws FrameworkException
108 OString
getVendorSettingsPath();
110 /** Called from writeJavaInfoData. It sets the process identifier. When
111 java is to be started, then the current id is compared to the one set by
112 this function. If they are identical then the Java was selected in the
113 same process. If that Java needs a prepared environment, such as a
114 LD_LIBRARY_PATH, then it must not be started in this process.
116 void setJavaSelected();
118 /** Determines if the currently selected Java was set in this process.
122 bool wasJavaSelectedInSameProcess();
123 /* Only for application mode.
125 OUString
getApplicationClassPath();
130 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */