summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-02-19 13:52:10 +0100
committerFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-02-19 13:52:10 +0100
commit52172f1f9a1d88f0d3241f46c9c87dc2d71d5d2d (patch)
tree3c74a4485d4a95c680ca3bc8dfcb5bb578ee5b78 /offapi/com/sun/star
parenta8b830c3346bbce395ed1d900e964d70940bd98a (diff)
parent0a62079a06fdd16e9b10ade75968d11643f0f27a (diff)
Automated merge with ssh://hg@hg.services.openoffice.org/cws/dba33e
Diffstat (limited to 'offapi/com/sun/star')
-rw-r--r--offapi/com/sun/star/document/XDocumentRecovery.idl127
-rw-r--r--offapi/com/sun/star/document/makefile.mk1
-rw-r--r--offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl15
-rw-r--r--offapi/com/sun/star/frame/XController2.idl11
-rw-r--r--offapi/com/sun/star/report/XReportDefinition.idl6
-rw-r--r--offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl71
-rw-r--r--offapi/com/sun/star/sdb/DefinitionContent.idl8
-rw-r--r--offapi/com/sun/star/sdb/DocumentDefinition.idl6
-rw-r--r--offapi/com/sun/star/sdb/InteractionHandler.idl55
-rw-r--r--offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl86
-rw-r--r--offapi/com/sun/star/sdb/makefile.mk1
-rw-r--r--offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl7
-rw-r--r--offapi/com/sun/star/task/DocumentMacroConfirmationRequest2.idl83
-rw-r--r--offapi/com/sun/star/task/InteractionHandler.idl32
-rw-r--r--offapi/com/sun/star/task/makefile.mk1
15 files changed, 350 insertions, 160 deletions
diff --git a/offapi/com/sun/star/document/XDocumentRecovery.idl b/offapi/com/sun/star/document/XDocumentRecovery.idl
new file mode 100644
index 000000000000..e5bf521d07f0
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentRecovery.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2009 by Sun Microsystems, Inc.
+*
+* 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 __offapcom_sun_star_document_XDocumentRecovery_idl__
+#define __offapcom_sun_star_document_XDocumentRecovery_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** is the interface to be implemented by documents who wish to participate in
+ the document emergency-save / recovery process.
+ */
+interface XDocumentRecovery
+{
+ /** determines whether the document has been modified since the last call to <member>storeToRecoveryFile</member>.
+
+ <p>If <code>storeToRecoveryFile</code> has not been called before, this method returns whether the document
+ has been modified since it has been loaded respectively created.</p>
+
+ <p>When saving a session, either in case of a emergency (when OpenOffice.org crashed), or during a
+ periodic session save as configured by the user, <member>storeToRecoveryFile</member> is called for every
+ document where <code>wasModifiedSinceLastSave</code> returns <TRUE/>.</p>
+
+ <p>It's allowed to implement this method sloppy, by returning <TRUE/> in cases where it is not sure whether
+ the document actually has been modified. So, the most simple implementation could simply delegate this call
+ to <member scope="com::sun::star::util">XModifiable::isModified</member>. (Well, actually that's the
+ second simple implementation, the <em>most</em> simple one would, still egitimately, always return <TRUE/>.)</p>
+
+ <p>However, in such a case, the document might be saved more often than needed. In particular during the
+ periodic session save, this might become a problem when saving is expensive, for a single document
+ or the sum of all open documents.</p>
+ */
+ boolean wasModifiedSinceLastSave();
+
+ /** does an emergency save of the document
+
+ <p>A default implementation of this method could simply delegate this call to
+ <member scope="com::sun::star::frame">XStorable::storeToURL</member>.</p>
+
+ @param TargetLocation
+ specifies the URL of the location to which the document should be emergency-saved.
+
+ @param MediaDescriptor
+ contains additional arguments for the save process, for instance an StatusIndicator.
+
+ @see MediaDescriptor
+ */
+ void storeToRecoveryFile(
+ [in] string TargetLocation,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > MediaDescriptor
+ )
+ raises ( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::WrappedTargetException
+ );
+
+ /** recovers the document after a previous emergency or session save.
+
+ <p>The document itself has previously been created, but <em>not</em> loaded
+ (via <member scope="com::sun::star::frame">XLoadable::load</member>) or initialized (via
+ <member scope="com::sun::star::frame">XLoadable::initNew</member>).</p>
+
+ <p>Upon successful return, the document must be fully initialized. In particular, the
+ caller is not responsible for calling <member scope="com::sun::star::frame">XModel::attachResource</member>.
+ Instead, the implementation is responsible to do so, if required.</p>
+
+ <p>A default implementation of this method could simply delegate this call to
+ <member scope="::com::sun::star::frame:">XLodable::load</member>, followed by
+ <member scope="com::sun::star::frame">XModel::attachResource</member>.</p>
+
+ @param SourceLocation
+ specifies the URL of the location to which the document was previously emergency-saved.
+
+ @param SalvagedFile
+ specifies the original URL of the file which had been emergency-saved. If this is empty,
+ then the file should be recovered from its original location.
+
+ @param MediaDescriptor
+ contains additional arguments for the load process, for instance an StatusIndicator.
+
+ @see MediaDescriptor
+ */
+ void recoverFromFile(
+ [in] string SourceLocation,
+ [in] string SalvagedFile,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > MediaDescriptor
+ )
+ raises ( ::com::sun::star::io::IOException,
+ ::com::sun::star::lang::WrappedTargetException
+ );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/makefile.mk b/offapi/com/sun/star/document/makefile.mk
index 3bc2db2f9e46..55542e45fea6 100644
--- a/offapi/com/sun/star/document/makefile.mk
+++ b/offapi/com/sun/star/document/makefile.mk
@@ -87,6 +87,7 @@ IDLFILES=\
XDocumentInsertable.idl\
XDocumentProperties.idl\
XDocumentPropertiesSupplier.idl\
+ XDocumentRecovery.idl\
XDocumentSubStorageSupplier.idl\
XEmbeddedObjectResolver.idl\
XEmbeddedObjectSupplier.idl\
diff --git a/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl b/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl
index be173afab5af..ba69f8e6f779 100644
--- a/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl
+++ b/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl
@@ -54,6 +54,8 @@
#include <com/sun/star/frame/XDispatchProviderInterceptor.idl>
#endif
+#include <com/sun/star/embed/XStorage.idl>
+
//============================================================================
module com { module sun { module star { module embed {
@@ -92,6 +94,19 @@ service EmbeddedObjectDescriptor
[optional,property] ::com::sun::star::frame::XDispatchProviderInterceptor
OutplaceDispatchInterceptor;
+ /** denotes the storage from which the embedded object is to be recovered.
+
+ <p>Upon activating the embedded object, it is normally loaded from a storage as denoted by
+ the parameters to the <type>XEmbedObjectCreator</type> method calls.</p>
+
+ <p>You can pass a non-<NULL/> <code>RecoveryStorage</code> in the object descriptor if you wish to load the
+ embedded object from an alternate storage.</p>
+
+ <p>The object will still be based on the storage denoted in the <code>XEmbedObjectCreator</code> method
+ call, i.e., subsequent save operations will still use that storage. <code>RecoveryStorage</code> is used
+ at loading time only, and then discarded.</p>
+ */
+ [optional, property] XStorage RecoveryStorage;
};
//============================================================================
diff --git a/offapi/com/sun/star/frame/XController2.idl b/offapi/com/sun/star/frame/XController2.idl
index ec4ae530feb0..e743a515076b 100644
--- a/offapi/com/sun/star/frame/XController2.idl
+++ b/offapi/com/sun/star/frame/XController2.idl
@@ -32,6 +32,7 @@
#include <com/sun/star/frame/XController.idl>
#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
//=============================================================================
@@ -61,6 +62,16 @@ interface XController2 : XController
- if it's passed there, a view/controller pair of the same type will be created.</p>
*/
[readonly, attribute] string ViewControllerName;
+
+ /** denotes the arguments used to create the instance.
+
+ <p>Usually, controllers are created via <member>XModel2::createViewController</member>, where the
+ caller can pass not only a controller name, but also arguments parametrizing the to-be-created instance.
+ Those arguments used at creation time can subsequently be retrieved using the <code>CreationArguments</code>
+ member.</p>
+ */
+ [readonly, attribute] sequence< ::com::sun::star::beans::PropertyValue >
+ CreationArguments;
};
//=============================================================================
diff --git a/offapi/com/sun/star/report/XReportDefinition.idl b/offapi/com/sun/star/report/XReportDefinition.idl
index 8eb6cbde0f9f..74d613f61cf2 100644
--- a/offapi/com/sun/star/report/XReportDefinition.idl
+++ b/offapi/com/sun/star/report/XReportDefinition.idl
@@ -75,8 +75,8 @@
#ifndef __com_sun_star_awt_Size_idl__
#include <com/sun/star/awt/Size.idl>
#endif
-#ifndef __com_sun_star_util_XModifiable_idl__
-#include <com/sun/star/util/XModifiable.idl>
+#ifndef __com_sun_star_util_XModifiable2_idl__
+#include <com/sun/star/util/XModifiable2.idl>
#endif
#ifndef __com_sun_star_document_XEventBroadcaster_idl__
#include <com/sun/star/document/XEventBroadcaster.idl>
@@ -158,7 +158,7 @@ interface XReportDefinition
of the document without saving any changes.
</p>
*/
- interface com::sun::star::util::XModifiable;
+ interface com::sun::star::util::XModifiable2;
/** allows the creation of sub reports.
*/
diff --git a/offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl b/offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl
new file mode 100644
index 000000000000..891929514826
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * 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: InteractionHandler.idl,v $
+ * $Revision: 1.12 $
+ *
+ * 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_sdb_InteractionHandler_idl__
+#define __com_sun_star_sdb_InteractionHandler_idl__
+
+module com { module sun { module star { module task {
+ interface XInteractionHandler2;
+}; }; }; };
+
+module com { module sun { module star { module sdb {
+
+/** describes a service which is able to handle database-related interactions.
+
+ <p>Usually, you will not instantiate this service directly. Instead, you'll instantiate a generic
+ <type scope="com::sun::star::task">InteractionHandler</type> service, and pass it your request. Based on
+ configuration data, this implementation will decide where to forward the request to.</p>
+
+ <p>By default, the <code>DatabaseInteractionHandler</code> feels responsible (as per configuration) for the
+ following interaction types:
+ <ul>
+ <li><b>database related errors</b><br/>
+ The general structure to transport such errors is the <type scope="com::sun::star::sdbc">SQLException</type>,
+ and if your interaction request supplies such a <code>SQLException</code> (or an instance of any derived class),
+ the handler will display a generic error dialog, which is able to travel the object chain which may be contained
+ in the exception.
+ </li>
+ <li><b>parameter requests</b><br/>
+ If your interaction request supplies an <type scope="com::sun::star::sdb">ParametersRequest</type>,
+ the handler will open a standard dialog asking the user to fill in parameter values.
+ <br/>
+ In the case you want to use this feature of the handler, you should supply a special continuation
+ (<type scope="com::sun::star::sdb">XInteractionSupplyParameters</type>) as well, so the
+ handler can return the entered information.
+ </li>
+ </ul>
+ </p>
+*/
+service DatabaseInteractionHandler: com::sun::star::task::XInteractionHandler2;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sdb/DefinitionContent.idl b/offapi/com/sun/star/sdb/DefinitionContent.idl
index 1b987a3084cd..74444a7e55cf 100644
--- a/offapi/com/sun/star/sdb/DefinitionContent.idl
+++ b/offapi/com/sun/star/sdb/DefinitionContent.idl
@@ -30,9 +30,8 @@
#ifndef __com_sun_star_sdb_DefinitionContent_idl__
#define __com_sun_star_sdb_DefinitionContent_idl__
-#ifndef __com_sun_star_ucb_Content_idl__
#include <com/sun/star/ucb/Content.idl>
-#endif
+#include <com/sun/star/container/XHierarchicalName.idl>
//=============================================================================
@@ -63,6 +62,11 @@ service DefinitionContent
<p>Additional commands might be supported by derived services.</p>
*/
service ::com::sun::star::ucb::Content;
+
+ /** provides access to the complete name of the content within its hierarchy
+ @since OOo 3.3
+ */
+ interface ::com::sun::star::container::XHierarchicalName;
};
//=============================================================================
diff --git a/offapi/com/sun/star/sdb/DocumentDefinition.idl b/offapi/com/sun/star/sdb/DocumentDefinition.idl
index 2fc44f444f22..8ce0b9be262a 100644
--- a/offapi/com/sun/star/sdb/DocumentDefinition.idl
+++ b/offapi/com/sun/star/sdb/DocumentDefinition.idl
@@ -74,6 +74,12 @@ service DocumentDefinition
the sub document could be closed. Reasons for not closing the document include vetos by
third parties, for instance, because the user opened a dialog modal to the sub document,
or a long-running task such as printing is currently running.</li>
+ <li><strong>show</strong>: shows the sub document. This is useful if you previously opened the
+ document hidden, or if you previously hide it using the <em>hide</em> command.<br/>
+ The <em>open</em> command is not available if the sub document has not been loaded, yet.</li>
+ <li><strong>hide</strong>: hides the sub document. In opposite to the <em>close</em> command,
+ only the document window is hidden, but the document is kept loaded. A subsequent execution
+ of the <em>show</em> command will show the window, again.</li>
</ul>
*/
service DefinitionContent;
diff --git a/offapi/com/sun/star/sdb/InteractionHandler.idl b/offapi/com/sun/star/sdb/InteractionHandler.idl
index 62fe7ccbfa92..48c024b01eca 100644
--- a/offapi/com/sun/star/sdb/InteractionHandler.idl
+++ b/offapi/com/sun/star/sdb/InteractionHandler.idl
@@ -37,56 +37,11 @@ module com { module sun { module star { module task {
module com { module sun { module star { module sdb {
/** is a service for user interaction for databases.
- <p>
- interaction requests that the handler can provide are:
- <ul>
- <li><b>database related errors</b><br/>
- The general structure to transport such errors is the
- <type scope="com::sun::star::sdbc">SQLException</type>
- , and if your
- <type scope="com::sun::star::task">XInteractionRequest</type>
- supplies such a
- <type scope="com::sun::star::sdbc">SQLException</type>
- (or an instance of any derived class),
- the handler will display a generic error dialog, which is able
- to travel the object chain which may be contained in the exception.
- </li>
- <li><b>authentication</b><br/>
- If your
- <type scope="com::sun::star::task">XInteractionRequest</type>
- (see
- <member scope="com::sun::star::task">XInteractionHandler::handle()</member>
- ) supplies a
- <type scope="com::sun::star::ucb">AuthenticationRequest</type>
- , the handler will open a standard login
- dialog to allow user authentication.
- <br/>
- Besides the using the members of the AuthenticationRequest in the usual manner, the member <em>Server</em>
- (if not empty) is interpreted as datasource name, thus leading to a slightly different message when
- requesting the user to enter it's login data.
- <br/>
- In the case you want to use this authentication feature, you should supply a special authentication
- continuation (
- <type scope="com::sun::star::ucb">XInteractionSupplyAuthentication</type>
- ) as well, so the
- handler can return to you, the entered information.
- </li>
- <li><b>parameter requests</b><br/>
- If your
- <type scope="com::sun::star::task">XInteractionRequest</type>
- supplies an
- <type scope="com::sun::star::sdb">ParametersRequest</type>
- , the handler will open a standard dialog asking
- the user to fill in parameter values.
- <br/>
- In the case you want to use this feature of the handler, you should supply a special continuation
- (
- <type scope="com::sun::star::sdb">XInteractionSupplyParameters</type>
- ) as well, so the
- handler can return to you, the entered information.
- </li>
- </ul>
- </p>
+ @deprecated
+ Do not use this service anymore. Instead, create a generic <type scope="com::sun::star::task">InteractionHandler</type>
+ instance, and pass it your request. It will determine, based on configuration data, which concrete interaction
+ handler implementation to use for a specific request. In particular, requests formerly server by this service here
+ are by default passed to a <type>DatabaseInteractionHandler</type>.
*/
published service InteractionHandler: com::sun::star::task::XInteractionHandler;
diff --git a/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl b/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
index 91e84aafc1b3..938d98269d34 100644
--- a/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
+++ b/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
@@ -31,30 +31,15 @@
#ifndef __com_sun_star_sdb_application_XDatabaseDocumentUI_idl__
#define __com_sun_star_sdb_application_XDatabaseDocumentUI_idl__
-#ifndef __com_sun_star_sdbc_XDataSource_idl__
#include <com/sun/star/sdbc/XDataSource.idl>
-#endif
-#ifndef __com_sun_star_sdbc_SQLException_idl__
#include <com/sun/star/sdbc/SQLException.idl>
-#endif
-#ifndef __com_sun_star_sdbc_XConnection_idl__
#include <com/sun/star/sdbc/XConnection.idl>
-#endif
-#ifndef __com_sun_star_awt_XWindow_idl__
#include <com/sun/star/awt/XWindow.idl>
-#endif
-#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
#include <com/sun/star/lang/IllegalArgumentException.idl>
-#endif
-#ifndef __com_sun_star_container_NoSuchElementException_idl__
#include <com/sun/star/container/NoSuchElementException.idl>
-#endif
-#ifndef __com_sun_star_lang_XComponent_idl__
#include <com/sun/star/lang/XComponent.idl>
-#endif
-#ifndef __com_sun_star_beans_PropertyValue_idl__
#include <com/sun/star/beans/PropertyValue.idl>
-#endif
+#include <com/sun/star/beans/Pair.idl>
//=============================================================================
@@ -136,6 +121,29 @@ interface XDatabaseDocumentUI
[attribute, readonly] sequence< ::com::sun::star::lang::XComponent >
SubComponents;
+ /** identifies the given sub component
+
+ @param SubComponent
+ the component to identify. Must be one of the components in <member>SubComponents</member>.
+
+ @return
+ a record describing the sub component. The first element of the returned pair is the type
+ of the component, denoted by one of the <type>DatabaseObject</type> constants. The second
+ element is the name of the component. For object types which support nested structures (forms
+ and reports, actually), this might be a hierachical name. If the sub component has been newly created,
+ and not yet saved, this name is empty.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given component is not one of the controller's sub components
+ */
+ ::com::sun::star::beans::Pair< long, string >
+ identifySubComponent(
+ [in] ::com::sun::star::lang::XComponent SubComponent
+ )
+ raises (
+ ::com::sun::star::lang::IllegalArgumentException
+ );
+
/** closes all sub components of the database document.
<p>During working with the database, the user might open different sub components:
@@ -267,6 +275,52 @@ interface XDatabaseDocumentUI
raises ( ::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::container::NoSuchElementException,
::com::sun::star::sdbc::SQLException );
+
+ /** creates a new sub component of the given type
+
+ @param ObjectType
+ specifies the type of the object, must be one of the <type>DatabaseObject</type>
+ constants.
+
+ @param DocumentDefinition
+ Upon successful return, and if and only if <arg>ObjectType</arg> equals <member>DatabaseObject::FORM</member>
+ or <member>DatabaseObject::REPORT</member>, this will contain the <type scope="com::sun::star::sdb">DocumentDefinition</type>
+ object which controls the sub component.
+ */
+ ::com::sun::star::lang::XComponent createComponent(
+ [in] long ObjectType,
+ [out] ::com::sun::star::lang::XComponent DocumentDefinition )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::sdbc::SQLException );
+
+ /** creates a new sub component of the given type
+
+ <p>In opposite to <member>createComponent</member>, this method allows you to specify
+ additional arguments which are passed to the to-be-loaded component.</p>
+
+ <p>The meaning of the the arguments is defined at the service which is effectively
+ created. See the <a href="#component_types">above table</a> for a list of those
+ services.</p>
+
+ @param ObjectType
+ specifies the type of the object, must be one of the <type>DatabaseObject</type>
+ constants.
+
+ @param DocumentDefinition
+ Upon successful return, and if and only if <arg>ObjectType</arg> equals <member>DatabaseObject::FORM</member>
+ or <member>DatabaseObject::REPORT</member>, this will contain the <type scope="com::sun::star::sdb">DocumentDefinition</type>
+ object which controls the sub component.<br/>
+ You can use this object to control various aspects of the sub component. For instance, you could decide
+ to create the component hidden, by passing a <code>Hidden</code> flag (set to <TRUE/>) in <arg>Arguments</arg>,
+ manipulate the component, and then finally show it by invoking the <code>show</code> command at the
+ definition object.
+ */
+ ::com::sun::star::lang::XComponent createComponentWithArguments(
+ [in] long ObjectType,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > Arguments,
+ [out] ::com::sun::star::lang::XComponent DocumentDefinition )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::sdbc::SQLException );
};
//=============================================================================
diff --git a/offapi/com/sun/star/sdb/makefile.mk b/offapi/com/sun/star/sdb/makefile.mk
index 3e76283ecf18..19ceccd1a420 100644
--- a/offapi/com/sun/star/sdb/makefile.mk
+++ b/offapi/com/sun/star/sdb/makefile.mk
@@ -62,6 +62,7 @@ IDLFILES=\
DatabaseContext.idl \
DatabaseDocument.idl \
DatabaseEnvironment.idl \
+ DatabaseInteractionHandler.idl \
DatabaseRegistrationEvent.idl \
DataColumn.idl \
DataSettings.idl \
diff --git a/offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl b/offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl
index de6c5b3d070b..923d4433abfa 100644
--- a/offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl
+++ b/offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl
@@ -51,7 +51,8 @@ exception DocumentMacroConfirmationRequest : ClassifiedInteractionRequest
*/
string DocumentURL;
- /** refers to the storage which the document was last committed to.
+ /** refers to the storage related to the last commited version of the
+ document.
This storage is necessary e.g. for displaying the existing signatures to
the user, to allow him a decision whether or not to trust those signatures
@@ -62,6 +63,10 @@ exception DocumentMacroConfirmationRequest : ClassifiedInteractionRequest
::com::sun::star::embed::XStorage
DocumentStorage;
+ /** contains informations about the ODF version of the document
+ */
+ string DocumentVersion;
+
/** contains informations about the signatures in the document
*/
sequence< ::com::sun::star::security::DocumentSignatureInformation >
diff --git a/offapi/com/sun/star/task/DocumentMacroConfirmationRequest2.idl b/offapi/com/sun/star/task/DocumentMacroConfirmationRequest2.idl
deleted file mode 100644
index 422f1ab2a9d0..000000000000
--- a/offapi/com/sun/star/task/DocumentMacroConfirmationRequest2.idl
+++ /dev/null
@@ -1,83 +0,0 @@
-/*************************************************************************
- *
- * 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: DocumentMacroConfirmationRequest.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 __com_sun_star_task_DocumentMacroConfirmationRequest2_idl__
-#define __com_sun_star_task_DocumentMacroConfirmationRequest2_idl__
-
-#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
-#include <com/sun/star/embed/XStorage.idl>
-#include <com/sun/star/security/DocumentSignatureInformation.idl>
-
-
-//=============================================================================
-
-module com { module sun { module star { module task {
-
-//=============================================================================
-
-/** describes the request to approve or deny the execution of macros contained in
- a document.
- */
-exception DocumentMacroConfirmationRequest2 : ClassifiedInteractionRequest
-{
- /** specifies the URL of the document which contains macros whose execution
- should be approved or rejected.
- */
- string DocumentURL;
-
- /** refers to the zip-storage related to the last commited version of the
- document.
-
- This storage is necessary e.g. for displaying the existing signatures to
- the user, to allow him a decision whether or not to trust those signatures
- and thus the signed macros.
-
- @see ::com::sun::star::security::XDocumentDigitalSignatures::showScriptingContentSignatures
- */
- ::com::sun::star::embed::XStorage
- DocumentZipStorage;
-
- /** contains informations about the ODF version of the document
- */
- string DocumentVersion;
-
- /** contains informations about the signatures in the document
- */
- sequence< ::com::sun::star::security::DocumentSignatureInformation >
- DocumentSignatureInformation;
-};
-
-//=============================================================================
-
-}; }; }; };
-
-//=============================================================================
-
-#endif
diff --git a/offapi/com/sun/star/task/InteractionHandler.idl b/offapi/com/sun/star/task/InteractionHandler.idl
index 3376de1936ae..f3096412d678 100644
--- a/offapi/com/sun/star/task/InteractionHandler.idl
+++ b/offapi/com/sun/star/task/InteractionHandler.idl
@@ -39,11 +39,15 @@ module com { module sun { module star {
module com { module sun { module star { module task {
//============================================================================
-/** An interaction request handler that lets the user handle a number of well
- known requests via GUI dialogs (and the
- <type scope="com::sun::star::task">PasswordContainer</type> service).
+/** An interaction request handler that lets the user handle requests via GUI dialogs.
- <P>The well known requests handled by this service include
+ <p>The interaction handler service has a numerof of <a href="#built_in_handler">built-in handlers</a>, responsible
+ for a lot of well known interactions. Additionally, there's a configuration module which allows to
+ <a href="#configuring_handlers">configure additional handlers</a>, responsible for arbitrary requests.</a></p>
+
+ <a name="built_in_handler"></a>
+ <h3>Built-in Handlers</h3>
+ The following well-known requests can be dealt with by the built-in handlers:
<UL>
<LI><type scope="com::sun::star::ucb">AuthenticationRequest</type></LI>
<LI><type scope="com::sun::star::ucb">CertificateValidationRequest</type></LI>
@@ -134,6 +138,26 @@ module com { module sun { module star { module task {
only. The names of the two volumes involved (two
<atom>string</atom>s).</DD>
</DL></P>
+
+ <a name="configuring_handlers"></a>
+ <h3>Configurating additional Handlers</h3>
+
+ <p>It is possible to configure additional interaction handlers, to which certain requests can be delegated. The
+ configuration node <code>/org.openoffice.Interaction/InteractionHandlers</code> is evaluated and respected
+ by the <code>InteractionHandler</code> implementation.</p>
+
+ <p>A custom interaction handler can declare itself responsible for an arbitrary number of UNO types, specified
+ by full-qualified type name. Also, for each type, it can specify whether it is responsible for only this particular
+ type, or all possibly existent derived types.</p>
+
+ <p>Whenever the <code>InteractionHandler</code> encounteres a request it cannot fulfill itself, it will examine
+ the configuration, to find a handler implementation for the request, and delegate it to the first matching
+ handler.</p>
+
+ <p>If multiple custom interaction handlers declare themself responsible for the same request type, it is not
+ defined which handler will actully be invoked. Thus, when deploying a custom interaction handler, ensure
+ that the types you specify are general enough to cover all requests you want to handle, but also specific
+ enough to not cover requests which other handlers might be interested in.</p>
*/
published service InteractionHandler
{
diff --git a/offapi/com/sun/star/task/makefile.mk b/offapi/com/sun/star/task/makefile.mk
index d77b1d6022e7..ac6dac61bc06 100644
--- a/offapi/com/sun/star/task/makefile.mk
+++ b/offapi/com/sun/star/task/makefile.mk
@@ -45,7 +45,6 @@ PACKAGE=com$/sun$/star$/task
IDLFILES=\
ClassifiedInteractionRequest.idl\
DocumentMacroConfirmationRequest.idl\
- DocumentMacroConfirmationRequest2.idl\
DocumentPasswordRequest.idl\
DocumentMSPasswordRequest.idl\
ErrorCodeRequest.idl\