summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx2
-rw-r--r--idlc/source/preproc/getopt.c94
-rw-r--r--idlc/source/preproc/makefile.mk7
-rw-r--r--idlc/source/preproc/nlist.c3
-rw-r--r--idlc/source/preproc/tokens.c6
-rw-r--r--idlc/source/preproc/unix.c7
-rw-r--r--jvmfwk/inc/jvmfwk/framework.h7
-rw-r--r--offapi/com/sun/star/deployment/ExtensionManager.idl (renamed from offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl)36
-rw-r--r--offapi/com/sun/star/deployment/ExtensionRemovedException.idl53
-rw-r--r--offapi/com/sun/star/deployment/InstallException.idl5
-rw-r--r--offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl65
-rw-r--r--offapi/com/sun/star/deployment/LicenseException.idl11
-rw-r--r--offapi/com/sun/star/deployment/Prerequisites.idl48
-rw-r--r--offapi/com/sun/star/deployment/VersionException.idl12
-rw-r--r--offapi/com/sun/star/deployment/XExtensionManager.idl342
-rw-r--r--offapi/com/sun/star/deployment/XPackage.idl93
-rw-r--r--offapi/com/sun/star/deployment/XPackageManager.idl109
-rw-r--r--offapi/com/sun/star/deployment/XPackageManagerFactory.idl2
-rw-r--r--offapi/com/sun/star/deployment/XPackageRegistry.idl46
-rw-r--r--offapi/com/sun/star/deployment/XPackageTypeInfo.idl8
-rw-r--r--offapi/com/sun/star/deployment/makefile.mk42
-rw-r--r--offapi/com/sun/star/deployment/thePackageManagerFactory.idl2
-rw-r--r--offapi/com/sun/star/deployment/ui/LicenseDialog.idl4
-rw-r--r--offapi/com/sun/star/document/MediaDescriptor.idl5
-rw-r--r--offapi/com/sun/star/embed/XVisualObject.idl18
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer3.idl69
-rw-r--r--offapi/com/sun/star/script/makefile.mk1
-rw-r--r--offapi/com/sun/star/sheet/FunctionAccess.idl26
-rw-r--r--offapi/com/sun/star/sheet/Spreadsheet.idl5
-rw-r--r--offapi/com/sun/star/style/NumberingType.idl10
-rwxr-xr-xoffapi/com/sun/star/task/DocumentMSPasswordRequest2.idl68
-rwxr-xr-xoffapi/com/sun/star/task/DocumentPasswordRequest2.idl67
-rw-r--r--offapi/com/sun/star/task/OfficeRestartManager.idl53
-rw-r--r--offapi/com/sun/star/task/XInteractionPassword2.idl80
-rw-r--r--offapi/com/sun/star/task/XRestartManager.idl99
-rwxr-xr-x[-rw-r--r--]offapi/com/sun/star/task/makefile.mk5
-rwxr-xr-x[-rw-r--r--]offapi/com/sun/star/text/TextFrame.idl0
-rw-r--r--sal/inc/rtl/locale.h8
-rw-r--r--sal/osl/unx/nlsupport.c15
-rw-r--r--sal/systools/win32/uwinapi/DllMain.cpp9
-rw-r--r--sal/systools/win32/uwinapi/sntprintf.c2
41 files changed, 1323 insertions, 221 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
index ae0fb9de1..21d583c63 100644
--- a/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
@@ -552,7 +552,7 @@ extern "C" void privateSnippetExecutor( ... )
"mr %0, 1\n\t"
: "=r" (sp) : );
- volatile long nRegReturn[0];
+ volatile long nRegReturn[1];
typelib_TypeClass aType =
cpp_mediate( nOffsetAndIndex, (void**)gpreg, (void**)fpreg, sp, (sal_Int64*)nRegReturn);
diff --git a/idlc/source/preproc/getopt.c b/idlc/source/preproc/getopt.c
deleted file mode 100644
index a8ee22a88..000000000
--- a/idlc/source/preproc/getopt.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <stdio.h>
-#include <string.h>
-
-#define EPR fprintf(stderr,
-#define ERR(str, chr) if(opterr) { EPR "%s%c\n", str, chr); }
-
-int opterr = 1;
-int optind = 1;
-int optopt;
-char *optarg;
-
-int
- cppgetopt(int argc, char *const argv[], const char *opts)
-{
- static int sp = 1;
- register int c;
- register char *cp;
-
- if (sp == 1)
- {
- if (optind >= argc ||
- argv[optind][0] != '-' || argv[optind][1] == '\0')
- return -1;
- else
- if (strcmp(argv[optind], "--") == 0)
- {
- optind++;
- return -1;
- }
- }
- optopt = c = argv[optind][sp];
- if (c == ':' || (cp = strchr(opts, c)) == 0)
- {
- ERR(": illegal option -- ", c);
- if (argv[optind][++sp] == '\0')
- {
- optind++;
- sp = 1;
- }
- return '?';
- }
- if (*++cp == ':')
- {
- if (argv[optind][sp + 1] != '\0')
- optarg = &argv[optind++][sp + 1];
- else
- if (++optind >= argc)
- {
- ERR(": option requires an argument -- ", c);
- sp = 1;
- return '?';
- }
- else
- optarg = argv[optind++];
- sp = 1;
- }
- else
- {
- if (argv[optind][++sp] == '\0')
- {
- sp = 1;
- optind++;
- }
- optarg = 0;
- }
- return c;
-}
diff --git a/idlc/source/preproc/makefile.mk b/idlc/source/preproc/makefile.mk
index 7347f815a..e6aa457e8 100644
--- a/idlc/source/preproc/makefile.mk
+++ b/idlc/source/preproc/makefile.mk
@@ -43,7 +43,6 @@ LIBSALCPPRT=$(0)
OBJFILES= \
$(OBJ)$/cpp.obj \
$(OBJ)$/eval.obj \
- $(OBJ)$/getopt.obj \
$(OBJ)$/include.obj \
$(OBJ)$/lex.obj \
$(OBJ)$/macro.obj \
@@ -64,6 +63,12 @@ APP1OBJS=$(OBJ)$/cpp.obj
APP1LIBS= $(LB)$/idlcpp.lib
+.IF "$(HAVE_GETOPT)" != "YES"
+.IF "$(GUI)" == "WNT"
+APP1STDLIBS=gnu_getopt.lib
+.ENDIF
+.ENDIF
+
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
diff --git a/idlc/source/preproc/nlist.c b/idlc/source/preproc/nlist.c
index e1b3089e7..1fde3ce43 100644
--- a/idlc/source/preproc/nlist.c
+++ b/idlc/source/preproc/nlist.c
@@ -29,9 +29,6 @@
#include <string.h>
#include "cpp.h"
-extern int cppgetopt(int, char *const *, const char *);
-extern char *optarg;
-extern int optind;
extern int Cplusplus;
Nlist *kwdefined;
char wd[128];
diff --git a/idlc/source/preproc/tokens.c b/idlc/source/preproc/tokens.c
index e1cabf438..b8dbd45c5 100644
--- a/idlc/source/preproc/tokens.c
+++ b/idlc/source/preproc/tokens.c
@@ -474,7 +474,8 @@ void
if (wbp >= &wbuf[OBS])
{
- write(1, wbuf, OBS);
+ if (write(1, wbuf, OBS) != OBS)
+ error(ERROR, "short write!");
if (wbp > &wbuf[OBS])
memcpy(wbuf, wbuf + OBS, wbp - &wbuf[OBS]);
wbp -= OBS;
@@ -490,7 +491,8 @@ void
{
if (wbp > wbuf)
{
- write(1, wbuf, wbp - wbuf);
+ if (write(1, wbuf, wbp - wbuf) != wbp - wbuf)
+ error(ERROR, "short write!");
wbp = wbuf;
}
}
diff --git a/idlc/source/preproc/unix.c b/idlc/source/preproc/unix.c
index fae43597f..922b2a320 100644
--- a/idlc/source/preproc/unix.c
+++ b/idlc/source/preproc/unix.c
@@ -33,15 +33,14 @@
#if (defined(_WIN32) || defined(_MSDOS) || defined(__IBMC__))
#include <io.h>
#include <sys/stat.h>
+#include <external/glibc/getopt.h>
#else
#include <unistd.h>
#endif
#include "cpp.h"
-extern int cppgetopt(int, char *const *, const char *);
-extern char *optarg, rcsid[];
-extern int optind;
+extern char rcsid[];
int Pflag = 0; /* print no line information */
int Iflag = 0; /* print includes */
@@ -62,7 +61,7 @@ void
Tokenrow tr;
setup_kwtab();
- while ((c = cppgetopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1)
+ while ((c = getopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1)
switch (c)
{
case 'N':
diff --git a/jvmfwk/inc/jvmfwk/framework.h b/jvmfwk/inc/jvmfwk/framework.h
index 27b46e431..00c2b0fe5 100644
--- a/jvmfwk/inc/jvmfwk/framework.h
+++ b/jvmfwk/inc/jvmfwk/framework.h
@@ -69,14 +69,15 @@ extern "C" {
The content of this file is an implementation detail and may change in the future.</dd>
<dt>UNO_JAVA_JFW_INSTALL_DATA</dt>
- <dd>The file contains settings for all users. A user cannot override these settings.
+ <dd><b>DEPRECATED. Support for this variable will soon be removed.</b><br>
+ The file contains settings for all users. A user cannot override these settings.
When this parameter is provided then UNO_JAVA_JFW_SHARED_DATA and UNO_JAVA_JFW_USER_DATA
are irrelevant. This parameter is intended for use during the setup. For example, to
install extensions which contain java components. If there is already a file at this
location then it will be overwritten if it is too old. The period of validatity is per
default one hour. This value can be overridden by the bootstrap parameter
- UNO_JAVA_JFW_INSTALL_EXPIRE. Setting this variable to 1000 means the settings file
- is only valid for 1000 seconds.
+ UNO_JAVA_JFW_INSTALL_EXPIRE (<b>DEPRECATED</b>). Setting this variable to 1000 means
+ the settings file is only valid for 1000 seconds.
<p>If one would not use UNO_JAVA_JFW_INSTALL_DATA during setup then most probably
a user installation directory would be created in the home directory of root. This is
diff --git a/offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl b/offapi/com/sun/star/deployment/ExtensionManager.idl
index 605c8f8bd..a1747393c 100644
--- a/offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl
+++ b/offapi/com/sun/star/deployment/ExtensionManager.idl
@@ -25,35 +25,25 @@
*
************************************************************************/
-#if ! defined INCLUDED_com_sun_star_deployment_LicenseIndividualAgreementException_idl
-#define INCLUDED_com_sun_star_deployment_LicenseIndividualAgreementException_idl
+#if ! defined INCLUDED_com_sun_star_deployment_ExtensionManagerFactory_idl
+#define INCLUDED_com_sun_star_deployment_ExtensionManagerFactory_idl
-#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/deployment/XExtensionManager.idl>
module com { module sun { module star { module deployment {
-/** The exception signals that an extension is about to be installed for more than
- one user, allthough every user needs to agree to the license.
+/** the ExtensionManager service.
- @since OOo 2.0.6
- */
-exception LicenseIndividualAgreementException : com::sun::star::uno::Exception
-{
- /** name of the extension.
-
- Contains the file name only.
- */
- string ExtensionName;
- /** indicates if the user can prevent to show the license
-
- Represents the attribute value
- /description/registration/simple-license/@suppress-if-required
- from the description.xml
- */
- boolean SuppressIfRequired;
-};
+ The component context entry is
+ <code>
+ /singletons/com.sun.star.deployment.ExtensionManager
+ </code>.
+
+ @since OOo 3.3.0
+*/
+singleton ExtensionManager : XExtensionManager;
-}; }; }; };
+}; }; }; };
#endif
diff --git a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
new file mode 100644
index 000000000..78233bf5a
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: VersionException.idl,v $
+ * $Revision: 1.3 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_EXTENSIONREMOVEDEXCEPTION_IDL
+#define INCLUDED_COM_SUN_STAR_DEPLOYMENT_EXTENSIONREMOVEDEXCEPTION_IDL
+
+#include "com/sun/star/uno/Exception.idl"
+
+module com { module sun { module star { module deployment {
+
+interface XPackage;
+
+/**
+ indicates that a function call with the given arguments is not supported
+ because the extension was removed. <member>XPackage::isRemoved</member> will
+ return true on that object.
+
+ @since OOo 3.3.0
+*/
+exception ExtensionRemovedException: com::sun::star::uno::Exception {
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/InstallException.idl b/offapi/com/sun/star/deployment/InstallException.idl
index 4a6d0cd09..bad5e4347 100644
--- a/offapi/com/sun/star/deployment/InstallException.idl
+++ b/offapi/com/sun/star/deployment/InstallException.idl
@@ -44,11 +44,10 @@ interface XPackage;
*/
exception InstallException: com::sun::star::uno::Exception {
/**
- represents the new deployment unit.
+ the display name of the extension, which is to be installed.
- <p>Must not be <NULL/>.</p>
*/
- XPackage New;
+ string displayName;
};
diff --git a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
new file mode 100644
index 000000000..d431ab21b
--- /dev/null
+++ b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: VersionException.idl,v $
+ * $Revision: 1.3 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_INVALIDREMOVEDPARAMETEREXCEPTION_IDL
+#define INCLUDED_COM_SUN_STAR_DEPLOYMENT_INVALIDREMOVEDPARAMETEREXCEPTION_IDL
+
+#include "com/sun/star/uno/Exception.idl"
+
+module com { module sun { module star { module deployment {
+
+interface XPackage;
+
+/**
+ indicates that <member>XPackageRegistry::bindPackage</member> was previously
+ called with a different value for the <code>removed</code> parameter and that
+ the <type>XPackage</type> object created by that call still exist.
+
+ @since OOo 3.3.0
+*/
+exception InvalidRemovedParameterException: com::sun::star::uno::Exception {
+ /** the value of the <code>removed</code> parameter which was used in
+ <member>XPackageRegistry::bindPackage</member> to create the currently
+ existing <type>XPackage</type> object.
+ */
+ boolean PreviousValue;
+ /**
+ the <type>XPackage</type> that was already bound to the provided
+ <code>url</code> paramter during
+ <member>XPackageRegistry::bindPackage</member>.
+
+ <p>Must not be <NULL/>.</p>
+ */
+ XPackage Extension;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/LicenseException.idl b/offapi/com/sun/star/deployment/LicenseException.idl
index 22723a9e0..03e866cc8 100644
--- a/offapi/com/sun/star/deployment/LicenseException.idl
+++ b/offapi/com/sun/star/deployment/LicenseException.idl
@@ -41,20 +41,19 @@ exception LicenseException : com::sun::star::uno::Exception
{
/** name of the extension.
- Contains the file name only.
+ The display name of the extension.
+ See <member>XPackage::getDisplayName</member>
*/
string ExtensionName;
/** contains the text of the license.
*/
string Text;
- /** indicates if the user can prevent to show the license
-
- Represents the attribute value
- /description/registration/simple-license/@suppress-if-required
+ /** contains the value of the attribute
+ /description/registration/simple-license/@accept-by
from the description.xml
*/
- boolean SuppressIfRequired;
+ string AcceptBy;
};
}; }; }; };
diff --git a/offapi/com/sun/star/deployment/Prerequisites.idl b/offapi/com/sun/star/deployment/Prerequisites.idl
new file mode 100644
index 000000000..21e8ab17a
--- /dev/null
+++ b/offapi/com/sun/star/deployment/Prerequisites.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: KeyUsage.idl,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_deployment_prerequisites_idl_
+#define __com_sun_star_deployment_prerequisites_idl_
+
+module com { module sun { module star { module deployment {
+
+constants Prerequisites
+{
+ const long PLATFORM = 0x1;
+ const long DEPENDENCIES = 0x2;
+ const long LICENSE = 0x04;
+};
+
+
+} ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/deployment/VersionException.idl b/offapi/com/sun/star/deployment/VersionException.idl
index 584d14087..0a4d02044 100644
--- a/offapi/com/sun/star/deployment/VersionException.idl
+++ b/offapi/com/sun/star/deployment/VersionException.idl
@@ -44,12 +44,14 @@ interface XPackage;
*/
exception VersionException: com::sun::star::uno::Exception {
/**
- represents the new version of the deployment unit.
-
- <p>Must not be <NULL/>.</p>
+ the version of the extension which is being installed.
*/
- XPackage New;
-
+ string NewVersion;
+ /**
+ the display name of the extension which is being installed.
+ */
+ string NewDisplayName;
+
/**
represents the already installed version of the deployment unit.
diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl
new file mode 100644
index 000000000..d0527c3ec
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XExtensionManager.idl
@@ -0,0 +1,342 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_XExtensionManager_idl
+#define INCLUDED_com_sun_star_deployment_XExtensionManager_idl
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/task/XAbortChannel.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/deployment/XPackage.idl>
+#include <com/sun/star/deployment/XPackageTypeInfo.idl>
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#include <com/sun/star/deployment/DeploymentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+module com { module sun { module star { module deployment {
+
+/** The <type>XExtensionManager</type> interface is used to manage extensions
+ in the user, shared and bundled repository.
+
+ @see ExtensionManager
+ @since OOo 3.3.0
+*/
+interface XExtensionManager
+{
+ /** interface to notify disposing
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** interface to notify changes of the set of deployed packages of
+ this manager
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+
+ /** gets the supported <type>XPackageTypeInfo</type>s.
+
+ @return
+ supported <type>XPackageTypeInfo</type>s.
+ */
+ sequence<XPackageTypeInfo> getSupportedPackageTypes();
+
+ /** creates a command channel to be used to asynchronously abort a command.
+
+ @return
+ abort channel
+ */
+ com::sun::star::task::XAbortChannel createAbortChannel();
+
+ /** adds an extension.
+
+ The properties argument is currently only used to suppress the license information
+ for shared extensions.
+
+ @param url
+ package URL, must be UCB conform
+ @param properties
+ additional properties, for example, that the license is to be
+ suppressed (if supported by the extension)
+ @param repository
+ the name of the repository
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ object representing the extension.
+ */
+ XPackage addExtension( [in] string url,
+ [in] sequence<com::sun::star::beans::NamedValue> properties,
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** removes an extension.
+
+ @param identifier
+ package identifier
+ @param fileName
+ package file name
+ @param repository
+ the name of the repository
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void removeExtension(
+ [in] string identifier,
+ [in] string fileName,
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** enable an extension.
+
+ If the extension is not from the user repository then an
+ IllegalArgumentException is thrown.
+
+ @param extension
+ the extension which is to be enabled.
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void enableExtension(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** disable an extension.
+
+ If the extension is not from the user repository then an
+ IllegalArgumentException is thrown.
+
+ @param extension
+ the extension which is to be disabled
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void disableExtension(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** gets all currently installed extensions, including disabled
+ user extensions.
+
+ @param repository
+ the repository from which the extensions are returned
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ all currently installed packages
+ */
+ sequence<XPackage> getDeployedExtensions(
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** gets an installed extensions.
+
+ @param repositroy
+ the name of the repository
+ @param identifier
+ extension identifier
+ @param fileName
+ extension file name
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ <type>XPackage</type> object
+ */
+ XPackage getDeployedExtension(
+ [in] string repository,
+ [in] string identifier,
+ [in] string fileName,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** gets all extensions with the same identifer from all repositories.
+
+ The extension at the first position in the returned sequence represents
+ the extension from the user repository. The next element is from the shared
+ and the last one is from the bundled repository.
+ If one repository does not contain this extension, then the respective
+ element is a null reference.
+ */
+ sequence<XPackage> getExtensionsWithSameIdentifier(
+ [in] string identifier,
+ [in] string fileName,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** returns a sequence containing all installed extensions.
+
+ The members of the returned sequence correspond to an extension with a
+ particular extension identifer. The members are also sequences which
+ contain as many elements as there are repositories. Those are ordered
+ according to the priority of the repository. That is, the first member
+ is the extension from the user repository, the second is from the shared
+ repository and the last is from the bundled repository.
+ */
+ sequence<sequence<XPackage> > getAllExtensions(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Expert feature: erases the underlying registry cache and reinstalls
+ all previously added extensions. Please keep in mind that all
+ registration status get lost.
+ <p>
+ Please use this in case of suspected cache inconsistencies only.
+ </p>
+ @param repositroy
+ the name of the repository
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void reinstallDeployedExtensions(
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** synchronizes the extension database with the contents of the extensions
+ folder of shared and bundled extensinos.
+
+ Added extensions will be added to the database and removed extensions
+ will be removed from the database.
+
+ @return
+ If true - then at least one extension was removed or added. Otherwise
+ nothing was chaned.
+ */
+ boolean synchronize(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** returns all extensions which are currently not in use
+ because the user did not accept the license.
+
+ The function will not return any object for the user repository, because
+ a user extension will not be kept in the user repository if its license
+ is declined. Only extensions which are registered at start-up of OOo,
+ that is, shared and bundled extensions, can be returned.
+
+ Extensions which allow the license to be suppressed, that is, it does not
+ need to be displayed, and which are installed with the corresponding option,
+ are also not returned.
+
+ Extensions returned by this functions are not returned by
+ <member>XExtensionManger::getDeployedExtension</member>
+ <member>XExtensionManger::getDeployedExtensions</member>
+ <member>XExtensionManger::getAllExtensions</member>
+ <member>XExtensionManger::getExtensionsWithSameIdentifier</member>
+ */
+ sequence<XPackage> getExtensionsWithUnacceptedLicenses(
+ [in] string repository,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** check if all prerequisites for the extension are fulfilled
+ and activates it, if possible.
+ */
+ long checkPrerequisitesAndEnable(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** determines if the current user has write access to the extensions folder
+ of the repository.
+ */
+ boolean isReadOnlyRepository([in] string repository);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl
index e613c6f80..920b27426 100644
--- a/offapi/com/sun/star/deployment/XPackage.idl
+++ b/offapi/com/sun/star/deployment/XPackage.idl
@@ -33,6 +33,7 @@
#include <com/sun/star/beans/StringPair.idl>
#include <com/sun/star/deployment/DeploymentException.idl>
#include <com/sun/star/deployment/XPackageTypeInfo.idl>
+#include <com/sun/star/deployment/ExtensionRemovedException.idl>
#include <com/sun/star/graphic/XGraphic.idl>
#include <com/sun/star/lang/XComponent.idl>
#include <com/sun/star/lang/IllegalArgumentException.idl>
@@ -72,30 +73,25 @@ interface XPackage
Only if the return value is true the package is allowed to be installed.
In case of false or in case of an exception, the package must be removed
- in completely.
+ completely.
After return of this function no code from the extension may be used
anymore, so that the extension can be safely removed from the harddisk.
@param xCmdEnv
command environment for error handling and other interaction.
- @installed
- signalls if an extension with the same identifyer is already installed.
-
- @aContextName
- the name of the context of XPackageManager implementation that is to be used
- to install the extension. Currently we use the names "user"
- and "shared".
+ @alreadyInstalled
+ indicates that an extension with the same identifyer is already installed.
@return
- true - the package can be installed
- false - the package must not be installed.
+ null - all prerequisites are met. Otherwise, a value from
+ <member>Prerequisites</member> indicating what prerequisites are missing.
*/
- boolean checkPrerequisites(
+ long checkPrerequisites(
[in] com::sun::star::task::XAbortChannel xAbortChannel,
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv,
- [in] boolean installed,
- [in] string aContextName)
+ [in] boolean alreadyInstalled)
raises (DeploymentException,
+ ExtensionRemovedException,
com::sun::star::ucb::CommandFailedException,
com::sun::star::ucb::CommandAbortedException);
@@ -116,6 +112,7 @@ interface XPackage
boolean checkDependencies(
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
raises (DeploymentException,
+ ExtensionRemovedException,
com::sun::star::ucb::CommandFailedException);
@@ -140,8 +137,14 @@ interface XPackage
com::sun::star::ucb::CommandFailedException,
com::sun::star::ucb::CommandAbortedException);
- /** registers this <type>XPackage</type>, thus activating the package.
+ /** registers this <type>XPackage</type>.
+
+ NEVER call this directly. This is done by the extension manager if necessary.
+ @param startup
+ indicates that registration is adapted to the particular
+ startup scenario. That is, it is set to true, when called
+ from <member>XExtensionManager::synchronize</member>
@param xAbortChannel
abort channel to asynchronously abort the registration process,
or null
@@ -149,14 +152,18 @@ interface XPackage
command environment for error and progress handling
*/
void registerPackage(
+ [in] boolean startup,
[in] com::sun::star::task::XAbortChannel xAbortChannel,
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
raises (DeploymentException,
+ ExtensionRemovedException,
com::sun::star::ucb::CommandFailedException,
com::sun::star::ucb::CommandAbortedException,
com::sun::star::lang::IllegalArgumentException);
/** revokes this <type>XPackage</type>.
+
+ NEVER call this directly. This is done by the extension manager if necessary.
@param xAbortChannel
abort channel to asynchronously abort the registration process,
@@ -182,6 +189,9 @@ interface XPackage
/** Gets packages of the bundle.
+ If <member>isRemoved</member> returns true then getBundle may return an
+ empty sequence in case the object is not registered.
+
@param xAbortChannel
abort channel to asynchronously abort the registration process,
or null
@@ -225,7 +235,8 @@ interface XPackage
@return
the textual version representation
*/
- string getVersion();
+ string getVersion()
+ raises (ExtensionRemovedException);
/** returns the location of the package.
@@ -240,14 +251,16 @@ interface XPackage
@return
display name of the package
*/
- string getDisplayName();
+ string getDisplayName()
+ raises (ExtensionRemovedException);
/** returns a description string to describe the package.
@return
description
*/
- string getDescription();
+ string getDescription()
+ raises (ExtensionRemovedException);
/** returns a sequence of update information URLs.
@@ -258,8 +271,8 @@ interface XPackage
@return
update information URLs
*/
- sequence<string> getUpdateInformationURLs();
-
+ sequence<string> getUpdateInformationURLs()
+ raises (ExtensionRemovedException);
/** returns the publisher info for a package, the strings
might be empty, if there are no publisher
@@ -269,8 +282,8 @@ interface XPackage
represents the URL to the publisher.
*/
- ::com::sun::star::beans::StringPair getPublisherInfo();
-
+ ::com::sun::star::beans::StringPair getPublisherInfo()
+ raises (ExtensionRemovedException);
/** returns the <type>XPackageTypeInfo</type>, e.g. media-type etc.
@return
@@ -293,8 +306,10 @@ interface XPackage
[in] string newTitle,
[in] long nameClashAction,
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
- raises (com::sun::star::ucb::CommandFailedException,
- com::sun::star::ucb::CommandAbortedException);
+ raises (
+ ExtensionRemovedException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException);
/** returns an icon for a package.
@@ -305,7 +320,37 @@ interface XPackage
database application window, or <NULL/> if the default icon
should be used.
*/
- com::sun::star::graphic::XGraphic getIcon( [in] boolean highContrast );
+ com::sun::star::graphic::XGraphic getIcon( [in] boolean highContrast )
+ raises (ExtensionRemovedException);
+
+ /** returns the name of the repository where this object comes from.
+ */
+ string getRepositoryName();
+
+ /** return a URL to a directory which contains the registration data.
+
+ This data may be created when calling
+ <member>XPackage::registerPackage</member>. If this is the case is
+ indicated by <member
+ scope="com::sun::star::beans">Optional::IsPresent</member> of the return
+ value.
+ If registration data are created during registration, but the package is
+ currently not registered, for example after calling
+ <member>XPackage::revokePackage</member>, then <member
+ scope="com::sun::star::beans">Optional::IsPresent</member> is true and
+ the <member scope="com::sun::star::beans">Optional::Value</member> may
+ be an empty string.
+ */
+ com::sun::star::beans::Optional<string> getRegistrationDataURL()
+ raises (ExtensionRemovedException);
+
+ /** indicates if this object represents a removed extension or extension
+ item. This is the case when it was created by providing
+ <code>true</code> for the <code>removed</code> parameter in the function
+ <member>XPackageRegistry::bindPackage</member>.
+ */
+ boolean isRemoved();
+
};
}; }; }; };
diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl
index 021a2e1e4..cde8ecbe0 100644
--- a/offapi/com/sun/star/deployment/XPackageManager.idl
+++ b/offapi/com/sun/star/deployment/XPackageManager.idl
@@ -37,21 +37,26 @@
#include <com/sun/star/deployment/DeploymentException.idl>
#include <com/sun/star/container/NoSuchElementException.idl>
#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/NamedValue.idl>
module com { module sun { module star { module deployment {
/** The <type>XPackageManager</type> interface is used to add or remove
- packages to a specific deployment context.
+ packages to a specific repository. This interface represents a particular
+ repository.
Packages are deployable files, e.g. scripts or UNO components.
<p>
Adding an UNO package means that a copy of the package is stored
- with respect to the context of the manager and the package is registered,
- thus activated.
+ in the repository.
</p>
<p>
- Removing an UNO package means that the previously added package is revoked,
- thus deactivated, first and then removed from the context.
+ Removing an UNO package means that the previously added package is
+ removed from the repository.
+ </p>
+ <p>
+ All interface methods do neither register nor revoke an extension.
+ This happens exclusively by <type>XExtensionManager</type>.
</p>
<p>
Objects of this interface are created using the
@@ -60,9 +65,11 @@ module com { module sun { module star { module deployment {
/singletons/com.sun.star.deployment.thePackageManagerFactory
</code>.
</p>
-
+
@see thePackageManagerFactory
@since OOo 2.0.0
+ @deprecated
+ Use <type>XExtensionManager</type>.
*/
interface XPackageManager
{
@@ -75,7 +82,8 @@ interface XPackageManager
*/
interface com::sun::star::util::XModifyBroadcaster;
- /** returns the underlying deployment context.
+ /** returns the underlying deployment context, that is,
+ the name of the repository..
@return
underlying deployment context
@@ -97,9 +105,16 @@ interface XPackageManager
com::sun::star::task::XAbortChannel createAbortChannel();
/** adds an UNO package.
+
+ The properties argument is currently only used to suppress the license information
+ for shared extensions.
+
@param url
package URL, must be UCB conform
+ @param properties
+ additional properties, for example, that the license is to be
+ suppressed (if supported by the extension)
@param mediaType
media-type of package, empty string if to be detected
@param xAbortChannel
@@ -111,6 +126,7 @@ interface XPackageManager
<type>XPackage</type> handle
*/
XPackage addPackage( [in] string url,
+ [in] sequence<com::sun::star::beans::NamedValue> properties,
[in] string mediaType,
[in] com::sun::star::task::XAbortChannel xAbortChannel,
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
@@ -118,6 +134,30 @@ interface XPackageManager
com::sun::star::ucb::CommandFailedException,
com::sun::star::ucb::CommandAbortedException,
com::sun::star::lang::IllegalArgumentException);
+
+ /** adds an extension.
+
+ This copies the extension. If it was from the same repository,
+ which is represented by this XPackageManager insterface, then
+ nothing happens.
+
+ @param extension
+
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ <type>XPackage</type> handle
+ */
+ XPackage importExtension( [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
/** removes an UNO package.
@@ -212,6 +252,61 @@ interface XPackageManager
*/
boolean isReadOnly();
+ /** synchronizes the extension database with the contents of the extensions
+ folder.
+
+ Added extensions will be added to the database and removed extensions
+ will be removed from the database.
+
+ @param xAddedExtension
+ new extensions which may need to be registered.
+
+ @param
+ removed extensions which must be revoked
+ @return
+ If true - then at least one extension was removed or added. Otherwise
+ nothing was chaned.
+ */
+ boolean synchronize([in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException);
+
+
+ /** returns all extensions which are currently not in use
+ because the user did not accept the license.
+
+ The function will not return any object for the user repository, because
+ a user extension will not be kept in the user repository if its license
+ is declined. Only extensions which are registered at start-up of OOo,
+ that is, shared and bundled extensions, can be returned.
+
+ Extensions which allow the license to be suppressed, that is, it does not
+ need to be displayed, and which are installed with the corresponding option,
+ are also not returned.
+ */
+ sequence<XPackage> getExtensionsWithUnacceptedLicenses(
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException);
+
+ /** checks if the extension can be used.
+
+ The extension must be managed by this package manager, that is, it must
+ be recorded in its database. The package manager calls
+ XPackage::checkPrerequisites and updates its data base with the
+ result. The result, which is from <type>Prerequisites</type> will be
+ returned.
+ */
+ long checkPrerequisites(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
};
}; }; }; };
diff --git a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
index 9f7d8260a..7dc720541 100644
--- a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
+++ b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
@@ -45,6 +45,8 @@ module com { module sun { module star { module deployment {
</p>
@since OOo 2.0.0
+ @deprecated
+ Use <type>XExtensionManager</type>.
*/
interface XPackageManagerFactory
{
diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl
index 947d838d1..7c542bfad 100644
--- a/offapi/com/sun/star/deployment/XPackageRegistry.idl
+++ b/offapi/com/sun/star/deployment/XPackageRegistry.idl
@@ -30,6 +30,7 @@
#include <com/sun/star/deployment/XPackage.idl>
#include <com/sun/star/deployment/XPackageTypeInfo.idl>
+#include <com/sun/star/deployment/InvalidRemovedParameterException.idl>
#include <com/sun/star/beans/StringPair.idl>
@@ -45,11 +46,53 @@ interface XPackageRegistry
The returned UNO package handle ought to late-initialize itself,
thus the process of binding must not be an expensive operation, because
it is not abortable.
+
+ Calling the function several time with the same parameters must result
+ in returning the same object.
+
+ The file or folder at the location where url points to may not exist or
+ it was replaced. This can happen, for example, when a bundled extension
+ was removed by the setup and a user later starts OOo. Then the user data
+ may still contain all registration data of that extension, but the
+ actual extension files do not exist anymore. The registration data must
+ then be cleaned of all the remains of that extension. To to that one
+ creates an <type>XPackage</type> object on behalf of that extension and
+ calls <member>XPackage::revokePakage</member>. The parameter
+ <code>removed</code> indicates this case. The returned object may not
+ rely on the file or folder to which refers <code>url</url>. Instead it
+ must use previously saved data to successfully carry out the revocation
+ of this object (<member>XPackage::revokePackage</member>).
+
+ The implementation must ensure that there is only one instance of
+ <type>XPackage</type> for the same <code>url</code> at any
+ time. Therefore calling <member>bindPackage</member> again with the same
+ <code>url</code> but different <code>mediaType<code> (the exeption is,
+ if previsously an empty string was proveded to cause the determination
+ of the media type) or <code>removed</code> parameters will cause an
+ exception. An <type
+ scope="com::sun::star::lang">IllegalArgumentException</type> will be
+ thrown in case of a different <code>mediaType</code> parameter and a
+ <type>InvalidRemovedParameterException</type> is thrown if the
+ <code>removed</code> parameter is different.
+
+ The <code>identifier</code> parameter must be provided when
+ <code>removed</code> = true. If not, then an <type
+ scope="com::sun::star::lang">IllegalArgumentException</type> will be
+ thrown.
@param url
package URL, must be UCB conform
@param mediaType
media type of package, empty string if to be detected
+ @param removed
+
+ @para unfulfilledPrerequisites
+ has a value other null if the extension could not be installed previously
+ because <member>XPackage::checkPrerequisites</member> failed.
+
+ @param identifier
+ the identifier of the extension
+
@param xCmdEnv
command environment for error and progress handling
@return
@@ -58,8 +101,11 @@ interface XPackageRegistry
XPackage bindPackage(
[in] string url,
[in] string mediaType,
+ [in] boolean removed,
+ [in] string identifier,
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
raises (DeploymentException,
+ InvalidRemovedParameterException,
com::sun::star::ucb::CommandFailedException,
com::sun::star::lang::IllegalArgumentException);
diff --git a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
index b731df160..f7860da4f 100644
--- a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
+++ b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
@@ -29,7 +29,7 @@
#define INCLUDED_com_sun_star_deployment_XPackageTypeInfo_idl
#include <com/sun/star/uno/XInterface.idl>
-
+#include <com/sun/star/deployment/ExtensionRemovedException.idl>
module com { module sun { module star { module deployment {
@@ -52,7 +52,8 @@ interface XPackageTypeInfo
@return
description
*/
- string getDescription();
+ string getDescription()
+ raises (ExtensionRemovedException);
/** returns a short description string to describe a package type
(one line only).
@@ -60,7 +61,8 @@ interface XPackageTypeInfo
@return
description
*/
- string getShortDescription();
+ string getShortDescription()
+ raises (ExtensionRemovedException);
/** returns a file filter string for the file picker user interface.
Both, the short description string and file filter string
diff --git a/offapi/com/sun/star/deployment/makefile.mk b/offapi/com/sun/star/deployment/makefile.mk
index fef835e62..1e3a77b89 100644
--- a/offapi/com/sun/star/deployment/makefile.mk
+++ b/offapi/com/sun/star/deployment/makefile.mk
@@ -35,25 +35,29 @@ PACKAGE = com$/sun$/star$/deployment
.INCLUDE : $(PRJ)$/util$/makefile.pmk
IDLFILES = \
- DeploymentException.idl \
- XPackageTypeInfo.idl \
- XPackage.idl \
- XPackageRegistry.idl \
- PackageRegistryBackend.idl \
- XPackageManager.idl \
- XPackageManagerFactory.idl \
- thePackageManagerFactory.idl \
- DependencyException.idl \
- LicenseException.idl \
- VersionException.idl \
- InstallException.idl \
- UpdateInformationEntry.idl \
- XUpdateInformationProvider.idl \
- UpdateInformationProvider.idl \
- XPackageInformationProvider.idl \
- PackageInformationProvider.idl \
- LicenseIndividualAgreementException.idl \
- PlatformException.idl
+ DeploymentException.idl \
+ XPackageTypeInfo.idl \
+ XPackage.idl \
+ XPackageRegistry.idl \
+ PackageRegistryBackend.idl \
+ XPackageManager.idl \
+ XPackageManagerFactory.idl \
+ XExtensionManager.idl \
+ ExtensionManager.idl \
+ thePackageManagerFactory.idl \
+ DependencyException.idl \
+ LicenseException.idl \
+ VersionException.idl \
+ InstallException.idl \
+ UpdateInformationEntry.idl \
+ XUpdateInformationProvider.idl \
+ UpdateInformationProvider.idl \
+ XPackageInformationProvider.idl \
+ PackageInformationProvider.idl \
+ PlatformException.idl \
+ InvalidRemovedParameterException.idl \
+ ExtensionRemovedException.idl \
+ Prerequisites.idl
.INCLUDE : target.mk
.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
index 1907ef948..18c583f14 100644
--- a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
+++ b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
@@ -43,6 +43,8 @@ module com { module sun { module star { module deployment {
</p>
@since OOo 2.0.0
+ @deprecated
+ Use <type>XExtensionManager</type>.
*/
singleton thePackageManagerFactory : XPackageManagerFactory;
diff --git a/offapi/com/sun/star/deployment/ui/LicenseDialog.idl b/offapi/com/sun/star/deployment/ui/LicenseDialog.idl
index a80a509ee..50ab79935 100644
--- a/offapi/com/sun/star/deployment/ui/LicenseDialog.idl
+++ b/offapi/com/sun/star/deployment/ui/LicenseDialog.idl
@@ -45,10 +45,14 @@ service LicenseDialog : com::sun::star::ui::dialogs::XExecutableDialog
@param xParent
parent window
+
+ @param extensionName
+ the display name of the extension
@param licenseText
text to be displayed
*/
create( [in] com::sun::star::awt::XWindow xParent,
+ [in] string extensionName,
[in] string licenseText );
};
diff --git a/offapi/com/sun/star/document/MediaDescriptor.idl b/offapi/com/sun/star/document/MediaDescriptor.idl
index e94844d21..1daed7b0d 100644
--- a/offapi/com/sun/star/document/MediaDescriptor.idl
+++ b/offapi/com/sun/star/document/MediaDescriptor.idl
@@ -141,6 +141,11 @@ published service MediaDescriptor
for a special component type. Format of that depends from real
type of adressed component.
</p>
+
+ <p>
+ For extensibility, it is recommended to use values of type
+ sequence<com.sun.star.beans.PropertyValue> with this property.
+ </p>
*/
[optional,property] any ComponentData;
diff --git a/offapi/com/sun/star/embed/XVisualObject.idl b/offapi/com/sun/star/embed/XVisualObject.idl
index c2800e180..913507d42 100644
--- a/offapi/com/sun/star/embed/XVisualObject.idl
+++ b/offapi/com/sun/star/embed/XVisualObject.idl
@@ -71,13 +71,13 @@ published interface XVisualObject: ::com::sun::star::uno::XInterface
</p>
@param nAspect
- the aspect specifying the form of object representation
- can take values from <type>Aspects</type> constant set
+ the aspect specifying the form of object representation.
+ Can take values from <type>Aspects</type> constant set.
@param aSize
the new size of the visual area
- @thrown ::com::sun::star::lang::IllegalArgumentException
+ @throws ::com::sun::star::lang::IllegalArgumentException
one of arguments is illegal
@throws ::com::sun::star::embed::WrongStateException
@@ -101,13 +101,13 @@ published interface XVisualObject: ::com::sun::star::uno::XInterface
</p>
@param nAspect
- the aspect specifying the form of object representation
- can take values from <type>Aspects</type> constant set
+ the aspect specifying the form of object representation.
+ Can take values from <type>Aspects</type> constant set.
@return
the size of visual area
- @thrown ::com::sun::star::lang::IllegalArgumentException
+ @throws ::com::sun::star::lang::IllegalArgumentException
one of arguments is illegal
@throws ::com::sun::star::embed::WrongStateException
@@ -127,7 +127,8 @@ published interface XVisualObject: ::com::sun::star::uno::XInterface
</p>
@param nAspect
- the aspect the representation is requested for
+ the aspect the representation is requested for.
+ Can take values from <type>Aspects</type> constant set.
@return
the visual representation of the object in the default format and
@@ -153,7 +154,8 @@ published interface XVisualObject: ::com::sun::star::uno::XInterface
/** retrieves map mode the object communicates in.
@param nAspect
- the aspect the map mode is requested for
+ the aspect the map mode is requested for.
+ Can take values from <type>Aspects</type> constant set.
@return
the map mode the object communicates in, it can take values from
diff --git a/offapi/com/sun/star/script/XLibraryContainer3.idl b/offapi/com/sun/star/script/XLibraryContainer3.idl
new file mode 100644
index 000000000..f9ece55a7
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainer3.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XLibraryContainer2.idl,v $
+ * $Revision: 1.5 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_script_XLibraryContainer3_idl__
+#define __com_sun_star_script_XLibraryContainer3_idl__
+
+#ifndef __com_sun_star_script_XLibraryContainer2_idl__
+#include <com/sun/star/script/XLibraryContainer2.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/**
+ Extension of <type>XLibraryContainer2</type>.
+ */
+published interface XLibraryContainer3: com::sun::star::script::XLibraryContainer2
+{
+
+ /**
+ returns the location of the library link target.
+
+ The returned URL is literally the same as the one provided in
+ <member>XLibraryContainer::createLibraryLink</member>. Otherwise the behavior
+ is the same as <member>XLibraryContainer2::getLibraryLinkURL</member>
+ */
+ string getOriginalLibraryLinkURL( [in] string Name )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+
+};
+
+//=============================================================================
+
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/script/makefile.mk b/offapi/com/sun/star/script/makefile.mk
index b694a753f..24d5fcc83 100644
--- a/offapi/com/sun/star/script/makefile.mk
+++ b/offapi/com/sun/star/script/makefile.mk
@@ -43,6 +43,7 @@ IDLFILES=\
LibraryNotLoadedException.idl\
XLibraryContainer.idl\
XLibraryContainer2.idl\
+ XLibraryContainer3.idl\
XLibraryContainerPassword.idl\
XLibraryContainerExport.idl\
XPersistentLibraryContainer.idl\
diff --git a/offapi/com/sun/star/sheet/FunctionAccess.idl b/offapi/com/sun/star/sheet/FunctionAccess.idl
index 041849682..2112f5064 100644
--- a/offapi/com/sun/star/sheet/FunctionAccess.idl
+++ b/offapi/com/sun/star/sheet/FunctionAccess.idl
@@ -58,6 +58,32 @@ published service FunctionAccess
/** provides calculating the result of a spreadsheet function.
*/
interface com::sun::star::sheet::XFunctionAccess;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies whether the function call is performed as array function
+ call.
+
+ <p>If set to <TRUE/>, the result of the function call will be
+ calculated similar to array formulas in a spreadsheet document. The
+ return value of the function call will usually be a sequence of
+ sequences containing the values of the resulting array. Example: If the
+ function ABS is called for a 3x2 cell range, the result will be a 3x2
+ array containing the absolute values of the numbers contained in the
+ specified cell range.</p>
+
+ <p>If set to <FALSE/>, the result of the function call will be
+ calculated similar to simple cell formulas in a spreadsheet document.
+ The return value of the function call will usually be a single value.
+ Of course, some functions always return an array, for example the
+ MUNIT function.</p>
+
+ <p>For compatibility with older versions, the default value of this
+ property is <TRUE/>.</p>
+
+ @since OOo 3.3
+ */
+ [optional, property] boolean IsArrayFunction;
};
diff --git a/offapi/com/sun/star/sheet/Spreadsheet.idl b/offapi/com/sun/star/sheet/Spreadsheet.idl
index 670a05c42..5ba0e5345 100644
--- a/offapi/com/sun/star/sheet/Spreadsheet.idl
+++ b/offapi/com/sun/star/sheet/Spreadsheet.idl
@@ -96,6 +96,8 @@
#include <com/sun/star/sheet/XExternalSheetName.idl>
#endif
+#include <com/sun/star/util/Color.idl>
+
//=============================================================================
module com { module sun { module star { module sheet {
@@ -264,6 +266,9 @@ service Spreadsheet
*/
[optional, property] boolean AutomaticPrintArea;
+ /** specifies the color of the sheet tab, if any.
+ */
+ [optional, property] com::sun::star::util::Color TabColor;
};
//=============================================================================
diff --git a/offapi/com/sun/star/style/NumberingType.idl b/offapi/com/sun/star/style/NumberingType.idl
index 506e5ade2..8a408f667 100644
--- a/offapi/com/sun/star/style/NumberingType.idl
+++ b/offapi/com/sun/star/style/NumberingType.idl
@@ -121,6 +121,7 @@ published constants NumberingType
//-------------------------------------------------------------------------
/** Numbering for Chinese lower case number
+ as "一,二,三..."
*/
const short NUMBER_LOWER_ZH = 15;
@@ -136,11 +137,13 @@ published constants NumberingType
//-------------------------------------------------------------------------
/** Bullet for Chinese Tian Gan
+ as "甲,乙,丙..."
*/
const short TIAN_GAN_ZH = 18;
//-------------------------------------------------------------------------
/** Bullet for Chinese Di Zi
+ as "子,丑,寅..."
*/
const short DI_ZI_ZH = 19;
@@ -171,36 +174,43 @@ published constants NumberingType
//-------------------------------------------------------------------------
/** Numbering for Korean upper case number
+ as "壹,貳,參..."
*/
const short NUMBER_UPPER_KO = 25;
//-------------------------------------------------------------------------
/** Numbering for Korean hangul number
+ as "일,이,삼..."
*/
const short NUMBER_HANGUL_KO = 26;
//-------------------------------------------------------------------------
/** Bullet for Korean Hangul Jamo
+ as "ㄱ,ㄴ,ㄷ..."
*/
const short HANGUL_JAMO_KO = 27;
//-------------------------------------------------------------------------
/** Bullet for Korean Hangul Syllable
+ as "가,나,다..."
*/
const short HANGUL_SYLLABLE_KO = 28;
//-------------------------------------------------------------------------
/** Bullet for Korean Hangul Circled Jamo
+ as "㉠,㉡,㉢..."
*/
const short HANGUL_CIRCLED_JAMO_KO = 29;
//-------------------------------------------------------------------------
/** Bullet for Korean Hangul Circled Syllable
+ as "㉮,㉯,㉰..."
*/
const short HANGUL_CIRCLED_SYLLABLE_KO = 30;
//-------------------------------------------------------------------------
/** Numbering in Arabic alphabet letters
+ as "أ,ب,ت..."
@since OOo 1.1.2
*/
diff --git a/offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl b/offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl
new file mode 100755
index 000000000..abd3b08fa
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentMSPasswordRequest2.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2009.
+ * Copyright 2009 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DocumentMSPasswordRequest.idl,v $
+ * $Revision: 1.0 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_DocumentMSPasswordRequest2_idl__
+#define __com_sun_star_task_DocumentMSPasswordRequest2_idl__
+
+#include <com/sun/star/task/DocumentMSPasswordRequest.idl>
+
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** this request specifies if a password for opening or modifying of an encrypted Microsoft Office document is requested.
+
+ <P>
+ It is supported by <type>InteractionHandler</type> service, and can
+ be used to interact for a document password. Continuations for using with
+ the mentioned service are Abort and Approve.
+ </P>
+
+ @see com::sun::star::task::PasswordRequest
+ @see com::sun::star::task::DocumentMSPasswordRequest
+
+ @since OOo 3.3
+*/
+exception DocumentMSPasswordRequest2 : DocumentMSPasswordRequest
+{
+ //-------------------------------------------------------------------------
+ /** specifies if the requested password is for opening a document or for mofiying it.
+ */
+ boolean IsRequestPasswordToModify;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/DocumentPasswordRequest2.idl b/offapi/com/sun/star/task/DocumentPasswordRequest2.idl
new file mode 100755
index 000000000..a9500133e
--- /dev/null
+++ b/offapi/com/sun/star/task/DocumentPasswordRequest2.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DocumentPasswordRequest.idl,v $
+ * $Revision: 1.8 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_DocumentPasswordRequest2_idl__
+#define __com_sun_star_task_DocumentPasswordRequest2_idl__
+
+#include <com/sun/star/task/DocumentPasswordRequest.idl>
+
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** this request specifies if a password for opening or modifying a document is requested.
+
+ <P>
+ It is supported by <type>InteractionHandler</type> service, and can
+ be used to interact for a document password. Continuations for using with
+ the mentioned service are Abort and Approve.
+ </P>
+
+ @see com::sun::star::task::PasswordRequest
+ @see com::sun::star::task::DocumentPasswordRequest
+
+ @since OOo 3.3
+*/
+exception DocumentPasswordRequest2 : DocumentPasswordRequest
+{
+ //-------------------------------------------------------------------------
+ /** specifies if the requested password is for opening a document or for mofiying it.
+ */
+ boolean IsRequestPasswordToModify;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/task/OfficeRestartManager.idl b/offapi/com/sun/star/task/OfficeRestartManager.idl
new file mode 100644
index 000000000..8f835ae7e
--- /dev/null
+++ b/offapi/com/sun/star/task/OfficeRestartManager.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_OfficeRestartManager_idl__
+#define __com_sun_star_task_OfficeRestartManager_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+interface XRestartManager;
+
+//=============================================================================
+
+/** This singleton is intended to allow to restart the office asynchronously.
+
+ @since OOo 3.3
+ */
+singleton OfficeRestartManager : XRestartManager;
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+
+#endif
+
diff --git a/offapi/com/sun/star/task/XInteractionPassword2.idl b/offapi/com/sun/star/task/XInteractionPassword2.idl
new file mode 100644
index 000000000..97bd6aff5
--- /dev/null
+++ b/offapi/com/sun/star/task/XInteractionPassword2.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XInteractionPassword.idl,v $
+ * $Revision: 1.8 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_task_XInteractionPassword2_idl__
+#define __com_sun_star_task_XInteractionPassword2_idl__
+
+#ifndef __com_sun_star_task_XInteractionPassword_idl__
+#include <com/sun/star/task/XInteractionPassword.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** A continuation to get a password from interaction helper, extends
+ <type>XInteractionPassword</type> with possibility to provide password
+ to modify.
+
+ @since OOo 3.3
+*/
+published interface XInteractionPassword2 : ::com::sun::star::task::XInteractionPassword
+{
+ //-------------------------------------------------------------------------
+ /** stores "password to modify" to the continuation.
+ */
+ void setPasswordToModify( [in] string aPasswd );
+
+ //-------------------------------------------------------------------------
+ /** gets "password to modify" from the continuation.
+ */
+ string getPasswordToModify();
+
+ //-------------------------------------------------------------------------
+ /** stores "recommend readonly" to the continuation. It specifies whether
+ the document should be loaded readonly per default.
+ */
+ void setRecommendReadOnly( [in] boolean bReadOnly );
+
+ //-------------------------------------------------------------------------
+ /** gets "recommend readonly" from the continuation. It specifies whether
+ the document should be loaded readonly per default.
+ */
+ boolean getRecommendReadOnly();
+
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/task/XRestartManager.idl b/offapi/com/sun/star/task/XRestartManager.idl
new file mode 100644
index 000000000..0bea91ccd
--- /dev/null
+++ b/offapi/com/sun/star/task/XRestartManager.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_XRestartManager_idl__
+#define __com_sun_star_task_XRestartManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** allows to try to restart the office.
+
+ @since OOo3.3
+*/
+published interface XRestartManager : com::sun::star::uno::XInterface
+{
+ //------------------------------------------------------------------------
+ /** let the office restart asynchronously
+ @param xInteractionHandler
+ the <type scope="com::sun::star::task">InteractionHandler</type>
+ service implementation, that is used in case a problem is detected
+ during requesting the restart.
+
+ @throws com::sun::star::uno::Exception
+ to notify the caller about possible failures
+ */
+ void requestRestart(
+ [in] com::sun::star::task::XInteractionHandler xInteractionHandler )
+ raises( com::sun::star::uno::Exception );
+
+ //------------------------------------------------------------------------
+ /** allows to get info whether the restart has been requested and provide
+ the initialization status.
+
+ <p>
+ The office has to call this method just before the main loop has been
+ started, with the <TRUE/> as argument, so that the implementation
+ knows that the office is initialized. If the method returns <TRUE/>,
+ the office should restart without starting the main loop.
+ </p>
+
+ @param bInitialized
+ specifies whether the office process is initialized already,
+ if the caller does not have this information, he should provide
+ <FALSE/>.
+
+ @returns
+ <TRUE/> if the office restart has been requested,
+ <FALSE/> otherwise
+
+ @throws com::sun::star::uno::Exception
+ to notify the caller about possible failures
+ */
+ boolean isRestartRequested(
+ [in] boolean bInitialized )
+ raises( com::sun::star::uno::Exception );
+};
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/task/makefile.mk b/offapi/com/sun/star/task/makefile.mk
index 3b622b469..16b0be56e 100644..100755
--- a/offapi/com/sun/star/task/makefile.mk
+++ b/offapi/com/sun/star/task/makefile.mk
@@ -42,7 +42,9 @@ IDLFILES=\
ClassifiedInteractionRequest.idl\
DocumentMacroConfirmationRequest.idl\
DocumentPasswordRequest.idl\
+ DocumentPasswordRequest2.idl\
DocumentMSPasswordRequest.idl\
+ DocumentMSPasswordRequest2.idl\
ErrorCodeRequest.idl\
ErrorCodeIOException.idl\
FutureDocumentVersionProductUpdateRequest.idl\
@@ -57,6 +59,7 @@ IDLFILES=\
PasswordContainerInteractionHandler.idl\
PasswordRequest.idl\
PasswordRequestMode.idl\
+ OfficeRestartManager.idl\
UnsupportedOverwriteRequest.idl\
UrlRecord.idl\
UserRecord.idl\
@@ -65,12 +68,14 @@ IDLFILES=\
XInteractionAskLater.idl\
XInteractionDisapprove.idl\
XInteractionPassword.idl\
+ XInteractionPassword2.idl\
XJob.idl\
XJobExecutor.idl\
XJobListener.idl\
XMasterPasswordHandling.idl\
XMasterPasswordHandling2.idl\
XPasswordContainer.idl\
+ XRestartManager.idl\
XStatusIndicator.idl\
XStatusIndicatorFactory.idl\
XStatusIndicatorSupplier.idl\
diff --git a/offapi/com/sun/star/text/TextFrame.idl b/offapi/com/sun/star/text/TextFrame.idl
index a3af145e6..a3af145e6 100644..100755
--- a/offapi/com/sun/star/text/TextFrame.idl
+++ b/offapi/com/sun/star/text/TextFrame.idl
diff --git a/sal/inc/rtl/locale.h b/sal/inc/rtl/locale.h
index aaab61770..5306da225 100644
--- a/sal/inc/rtl/locale.h
+++ b/sal/inc/rtl/locale.h
@@ -49,7 +49,7 @@ extern "C" {
typedef struct _rtl_Locale
{
/**
- Lowercase two-letter ISO-639 code.
+ Lowercase two-letter ISO 639-1 or three-letter ISO 639-3 code.
*/
rtl_uString * Language;
/**
@@ -72,7 +72,7 @@ typedef struct _rtl_Locale
/**
Register a locale from language, country and variant.
- @param language lowercase two-letter ISO-639 code.
+ @param language lowercase two-letter ISO 639-1 or three-letter ISO 639-3 code.
@param country uppercase two-letter ISO-3166 code. May be null.
@param variant vendor and browser specific code. May be null.
*/
@@ -95,7 +95,7 @@ rtl_Locale * SAL_CALL rtl_locale_getDefault();
Sets the default.
Normally set once at the beginning of applet or application,
then never reset. <code>setDefault</code> does not reset the host locale.
- @param language lowercase two-letter ISO-639 code.
+ @param language lowercase two-letter ISO 639-1 or three-letter ISO 639-3 code.
@param country uppercase two-letter ISO-3166 code.
@param variant vendor and browser specific code. See class description.
*/
@@ -103,7 +103,7 @@ void SAL_CALL rtl_locale_setDefault( const sal_Unicode * language, const sal_Uni
/**
Getter for programmatic name of field,
- an lowercased two-letter ISO-639 code.
+ a lowercased two-letter ISO 639-1 or three-letter ISO 639-3 code.
@see #getDisplayLanguage
*/
rtl_uString * SAL_CALL rtl_locale_getLanguage( rtl_Locale * This );
diff --git a/sal/osl/unx/nlsupport.c b/sal/osl/unx/nlsupport.c
index f6d0b4a16..3cce0e6b0 100644
--- a/sal/osl/unx/nlsupport.c
+++ b/sal/osl/unx/nlsupport.c
@@ -105,7 +105,8 @@ _pair_search (const char *key, const _pair *base, unsigned int member )
static char * _compose_locale( rtl_Locale * pLocale, char * buffer, size_t n )
{
/* check if a valid locale is specified */
- if( pLocale && pLocale->Language && (pLocale->Language->length == 2) )
+ if( pLocale && pLocale->Language &&
+ (pLocale->Language->length == 2 || pLocale->Language->length == 3) )
{
size_t offset = 0;
@@ -193,16 +194,20 @@ static rtl_Locale * _parse_locale( const char * locale )
rtl_Locale * ret;
+ /* language is a two or three letter code */
+ if( (len > 3 && '_' == locale[3]) || (len == 3 && '_' != locale[2]) )
+ offset = 3;
+
/* convert language code to unicode */
- rtl_string2UString( &pLanguage, locale, 2, RTL_TEXTENCODING_ASCII_US, OSTRING_TO_OUSTRING_CVTFLAGS );
+ rtl_string2UString( &pLanguage, locale, offset, RTL_TEXTENCODING_ASCII_US, OSTRING_TO_OUSTRING_CVTFLAGS );
OSL_ASSERT(pLanguage != NULL);
/* convert country code to unicode */
- if( len >= 5 && '_' == locale[2] )
+ if( len >= offset+3 && '_' == locale[offset] )
{
- rtl_string2UString( &pCountry, locale + 3, 2, RTL_TEXTENCODING_ASCII_US, OSTRING_TO_OUSTRING_CVTFLAGS );
+ rtl_string2UString( &pCountry, locale + offset + 1, 2, RTL_TEXTENCODING_ASCII_US, OSTRING_TO_OUSTRING_CVTFLAGS );
OSL_ASSERT(pCountry != NULL);
- offset = 5;
+ offset += 3;
}
/* convert variant code to unicode - do not rely on "." as delimiter */
diff --git a/sal/systools/win32/uwinapi/DllMain.cpp b/sal/systools/win32/uwinapi/DllMain.cpp
index 4f39cfdd8..789604853 100644
--- a/sal/systools/win32/uwinapi/DllMain.cpp
+++ b/sal/systools/win32/uwinapi/DllMain.cpp
@@ -223,14 +223,13 @@ extern "C" BOOL WINAPI DllMain( HMODULE hModule, DWORD dwReason, LPVOID )
{
case DLL_PROCESS_ATTACH:
UWINAPI_BaseAddress = hModule;
+#ifdef __MINGW32__
+ return TRUE;
+#else
return DisableThreadLibraryCalls( hModule );
+#endif
default:
return TRUE;
}
}
-
-
-
-
-
diff --git a/sal/systools/win32/uwinapi/sntprintf.c b/sal/systools/win32/uwinapi/sntprintf.c
index fa0d96e64..a256812ad 100644
--- a/sal/systools/win32/uwinapi/sntprintf.c
+++ b/sal/systools/win32/uwinapi/sntprintf.c
@@ -10,7 +10,7 @@
#pragma warning(disable:4273) // inconsistent dll linkage
#endif
-#if _MSC_VER < 1300
+#if (defined(_MSC_VER) && (_MSC_VER < 1300)) || (defined(__MINGW32_VERSION) && ((__MINGW32_MAJOR_VERSION < 3)||((__MINGW32_MAJOR_VERSION == 3)&&(__MINGW32_MINOR_VERSION < 18))))
/* The non-debug versions of _vscprintf/_scprintf are just calls
to _vsprintf/_sprintf with string buffer pointer set to NULL,