summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jvmfwk/Library_jvmfwk.mk4
-rw-r--r--jvmfwk/Package_inc.mk1
-rw-r--r--jvmfwk/inc/jvmfwk/framework.h43
-rw-r--r--jvmfwk/inc/jvmfwk/jvmfwkdllapi.h44
4 files changed, 71 insertions, 21 deletions
diff --git a/jvmfwk/Library_jvmfwk.mk b/jvmfwk/Library_jvmfwk.mk
index f82f347e83e3..9108f22e3464 100644
--- a/jvmfwk/Library_jvmfwk.mk
+++ b/jvmfwk/Library_jvmfwk.mk
@@ -33,6 +33,10 @@ $(eval $(call gb_Library_add_package_headers,jvmfwk,\
jvmfwk_inc \
))
+$(eval $(call gb_Library_add_defs,jvmfwk,\
+ -DJVMFWK_DLLIMPLEMENTATION \
+))
+
$(eval $(call gb_Library_add_api,jvmfwk,\
udkapi \
))
diff --git a/jvmfwk/Package_inc.mk b/jvmfwk/Package_inc.mk
index 6f75070b3696..f8ae7ea8c521 100644
--- a/jvmfwk/Package_inc.mk
+++ b/jvmfwk/Package_inc.mk
@@ -28,6 +28,7 @@
$(eval $(call gb_Package_Package,jvmfwk_inc,$(SRCDIR)/jvmfwk/inc/jvmfwk))
$(eval $(call gb_Package_add_file,jvmfwk_inc,inc/jvmfwk/framework.h,framework.h))
+$(eval $(call gb_Package_add_file,jvmfwk_inc,inc/jvmfwk/jvmfwkdllapi.h,jvmfwkdllapi.h))
$(eval $(call gb_Package_add_file,jvmfwk_inc,inc/jvmfwk/vendorplugin.h,vendorplugin.h))
# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/jvmfwk/inc/jvmfwk/framework.h b/jvmfwk/inc/jvmfwk/framework.h
index 11cca539cb05..6119c53b42fc 100644
--- a/jvmfwk/inc/jvmfwk/framework.h
+++ b/jvmfwk/inc/jvmfwk/framework.h
@@ -31,6 +31,7 @@
#if !defined INCLUDED_JVMFWK_FRAMEWORK_H
#define INCLUDED_JVMFWK_FRAMEWORK_H
+#include "jvmfwkdllapi.h"
#include "rtl/ustring.h"
#include "osl/mutex.h"
#ifdef SOLAR_JAVA
@@ -305,7 +306,7 @@ typedef struct _JavaInfo JavaInfo;
@param pInfo
The object which is to be freed. It can be NULL;
*/
-void SAL_CALL jfw_freeJavaInfo(JavaInfo *pInfo);
+JVMFWK_DLLPUBLIC void SAL_CALL jfw_freeJavaInfo(JavaInfo *pInfo);
/** compares two <code>JavaInfo</code> objects for equality.
@@ -329,7 +330,7 @@ void SAL_CALL jfw_freeJavaInfo(JavaInfo *pInfo);
sal_True - both object represent the same JRE.</br>
sal_False - the objects represend different JREs
*/
-sal_Bool SAL_CALL jfw_areEqualJavaInfo(
+JVMFWK_DLLPUBLIC sal_Bool SAL_CALL jfw_areEqualJavaInfo(
JavaInfo const * pInfoA,JavaInfo const * pInfoB);
/** determines if a Java Virtual Machine is already running.
@@ -352,7 +353,7 @@ sal_Bool SAL_CALL jfw_areEqualJavaInfo(
JFW_E_NONE function ran successfully.<br/>
JFW_E_INVALID_ARG the parameter <code>bRunning</code> was NULL.
*/
-javaFrameworkError SAL_CALL jfw_isVMRunning(sal_Bool *bRunning);
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_isVMRunning(sal_Bool *bRunning);
/** detects a suitable JRE and configures the framework to use it.
@@ -418,7 +419,7 @@ javaFrameworkError SAL_CALL jfw_isVMRunning(sal_Bool *bRunning);
JFW_E_CONFIGURATION mode was not properly set or their prerequisites
were not met.
*/
-javaFrameworkError SAL_CALL jfw_findAndSelectJRE(JavaInfo **pInfo);
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_findAndSelectJRE(JavaInfo **pInfo);
/** provides information about all availabe JRE installations.
@@ -447,7 +448,7 @@ javaFrameworkError SAL_CALL jfw_findAndSelectJRE(JavaInfo **pInfo);
JFW_E_CONFIGURATION mode was not properly set or their prerequisites
were not met.
*/
-javaFrameworkError SAL_CALL jfw_findAllJREs(
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_findAllJREs(
JavaInfo ***parInfo, sal_Int32 *pSize);
/** determines if a path points to a Java installation.
@@ -480,7 +481,7 @@ javaFrameworkError SAL_CALL jfw_findAllJREs(
JFW_E_FAILED_VERSION a JRE was detected but if failed the version
requirements as determined by the javavendors.xml
*/
-javaFrameworkError SAL_CALL jfw_getJavaInfoByPath(
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_getJavaInfoByPath(
rtl_uString *pPath, JavaInfo **ppInfo);
@@ -548,7 +549,7 @@ javaFrameworkError SAL_CALL jfw_getJavaInfoByPath(
JFW_E_FAILED_VERSION the &quot;Default Mode&quot; is active. The JRE determined by
<code>JAVA_HOME</code>does not meet the version requirements.
*/
-javaFrameworkError SAL_CALL jfw_startVM(JavaVMOption *arOptions,
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_startVM(JavaVMOption *arOptions,
sal_Int32 nSize, JavaVM **ppVM,
JNIEnv **ppEnv);
@@ -578,7 +579,7 @@ javaFrameworkError SAL_CALL jfw_startVM(JavaVMOption *arOptions,
were not met.<br/>
JFW_E_DIRECT_MODE the function cannot be used in this mode.
*/
-javaFrameworkError SAL_CALL jfw_setSelectedJRE(JavaInfo const *pInfo);
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_setSelectedJRE(JavaInfo const *pInfo);
/** provides information about the JRE that is to be used.
@@ -608,7 +609,7 @@ javaFrameworkError SAL_CALL jfw_setSelectedJRE(JavaInfo const *pInfo);
JFW_E_INVALID_SETTINGS the javavendors.xml has been changed and no
JRE has been selected afterwards. <br/>
*/
-javaFrameworkError SAL_CALL jfw_getSelectedJRE(JavaInfo **ppInfo);
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_getSelectedJRE(JavaInfo **ppInfo);
/** determines if Java can be used.
@@ -627,7 +628,7 @@ javaFrameworkError SAL_CALL jfw_getSelectedJRE(JavaInfo **ppInfo);
were not met.<br/>
JFW_E_DIRECT_MODE the function cannot be used in this mode.
*/
-javaFrameworkError SAL_CALL jfw_setEnabled(sal_Bool bEnabled);
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_setEnabled(sal_Bool bEnabled);
/** provides the information if Java can be used.
@@ -642,7 +643,7 @@ javaFrameworkError SAL_CALL jfw_setEnabled(sal_Bool bEnabled);
were not met.<br/>
JFW_E_DIRECT_MODE the function cannot be used in this mode.
*/
-javaFrameworkError SAL_CALL jfw_getEnabled(sal_Bool *pbEnabled);
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_getEnabled(sal_Bool *pbEnabled);
/** determines parameters which are passed to VM during its creation.
@@ -666,7 +667,7 @@ javaFrameworkError SAL_CALL jfw_getEnabled(sal_Bool *pbEnabled);
were not met.<br/>
JFW_E_DIRECT_MODE the function cannot be used in this mode.
*/
-javaFrameworkError SAL_CALL jfw_setVMParameters(
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_setVMParameters(
rtl_uString ** arArgs, sal_Int32 nSize);
/** obtains the currently used start parameters.
@@ -691,7 +692,7 @@ javaFrameworkError SAL_CALL jfw_setVMParameters(
were not met.<br/>
JFW_E_DIRECT_MODE the function cannot be used in this mode.
*/
-javaFrameworkError SAL_CALL jfw_getVMParameters(
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_getVMParameters(
rtl_uString *** parParameters,
sal_Int32 * pSize);
@@ -713,7 +714,7 @@ javaFrameworkError SAL_CALL jfw_getVMParameters(
were not met.<br/>
JFW_E_DIRECT_MODE the function cannot be used in this mode.
*/
-javaFrameworkError SAL_CALL jfw_setUserClassPath(rtl_uString * pCP);
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_setUserClassPath(rtl_uString * pCP);
/** provides the value of the current user class path.
<p>The function returns an empty string if no user class path is set.
@@ -732,7 +733,7 @@ javaFrameworkError SAL_CALL jfw_setUserClassPath(rtl_uString * pCP);
were not met.<br/>
JFW_E_DIRECT_MODE the function cannot be used in this mode.
*/
-javaFrameworkError SAL_CALL jfw_getUserClassPath(rtl_uString ** ppCP);
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_getUserClassPath(rtl_uString ** ppCP);
/** saves the location of a JRE.
@@ -761,7 +762,7 @@ javaFrameworkError SAL_CALL jfw_getUserClassPath(rtl_uString ** ppCP);
JFW_E_DIRECT_MODE the function cannot be used in this mode.
@see jfw_setJRELocations
*/
-javaFrameworkError SAL_CALL jfw_addJRELocation(rtl_uString * sLocation);
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_addJRELocation(rtl_uString * sLocation);
/** saves the locations of a number of JREs.
@@ -789,7 +790,7 @@ javaFrameworkError SAL_CALL jfw_addJRELocation(rtl_uString * sLocation);
JFW_E_DIRECT_MODE the function cannot be used in this mode.
@see jfw_addJRELocations
*/
-javaFrameworkError SAL_CALL jfw_setJRELocations(
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_setJRELocations(
rtl_uString ** arLocations, sal_Int32 nSize);
/** obtains an array containing paths to JRE installations.
@@ -811,7 +812,7 @@ javaFrameworkError SAL_CALL jfw_setJRELocations(
were not met.<br/>
JFW_E_DIRECT_MODE the function cannot be used in this mode.
*/
-javaFrameworkError SAL_CALL jfw_getJRELocations(
+JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_getJRELocations(
rtl_uString *** parLocations, sal_Int32 * pSize);
@@ -833,7 +834,7 @@ javaFrameworkError SAL_CALL jfw_getJRELocations(
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_DLLPUBLIC javaFrameworkError SAL_CALL jfw_existJRE(const JavaInfo *pInfo, sal_Bool *exist);
/** locks this API so that it cannot be used by other threads.
@@ -851,14 +852,14 @@ javaFrameworkError SAL_CALL jfw_existJRE(const JavaInfo *pInfo, sal_Bool *exist)
The only functions which are not effected by <code>jfw_lock</code> are
<code>jfw_freeJavaInfo</code> and <code>jfw_areEqualJavaInfo</code>.
*/
-void SAL_CALL jfw_lock();
+JVMFWK_DLLPUBLIC void SAL_CALL jfw_lock();
/** unlocks this API.
<p>This function is called after <code>jfw_lock</code>. It allows other
threads to use this API concurrently.</p>
*/
-void SAL_CALL jfw_unlock();
+JVMFWK_DLLPUBLIC void SAL_CALL jfw_unlock();
#ifdef __cplusplus
diff --git a/jvmfwk/inc/jvmfwk/jvmfwkdllapi.h b/jvmfwk/inc/jvmfwk/jvmfwkdllapi.h
new file mode 100644
index 000000000000..6a34397d2a91
--- /dev/null
+++ b/jvmfwk/inc/jvmfwk/jvmfwkdllapi.h
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2010 Red Hat, Inc., David Tardon <dtardon@redhat.com>
+ * (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef INCLUDED_JVMFWK_JVMFWKDLLAPI_H
+#define INCLUDED_JVMFWK_JVMFWKDLLAPI_H
+
+#include <sal/types.h>
+
+#if defined JVMFWK_DLLIMPLEMENTATION
+# define JVMFWK_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+# define JVMFWK_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+#define JVMFWK_DLLPRIVATE SAL_DLLPRIVATE
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */