diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-02-19 13:52:10 +0100 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-02-19 13:52:10 +0100 |
commit | 52172f1f9a1d88f0d3241f46c9c87dc2d71d5d2d (patch) | |
tree | 3c74a4485d4a95c680ca3bc8dfcb5bb578ee5b78 /offapi/com/sun/star | |
parent | a8b830c3346bbce395ed1d900e964d70940bd98a (diff) | |
parent | 0a62079a06fdd16e9b10ade75968d11643f0f27a (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.idl | 127 | ||||
-rw-r--r-- | offapi/com/sun/star/document/makefile.mk | 1 | ||||
-rw-r--r-- | offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl | 15 | ||||
-rw-r--r-- | offapi/com/sun/star/frame/XController2.idl | 11 | ||||
-rw-r--r-- | offapi/com/sun/star/report/XReportDefinition.idl | 6 | ||||
-rw-r--r-- | offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl | 71 | ||||
-rw-r--r-- | offapi/com/sun/star/sdb/DefinitionContent.idl | 8 | ||||
-rw-r--r-- | offapi/com/sun/star/sdb/DocumentDefinition.idl | 6 | ||||
-rw-r--r-- | offapi/com/sun/star/sdb/InteractionHandler.idl | 55 | ||||
-rw-r--r-- | offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl | 86 | ||||
-rw-r--r-- | offapi/com/sun/star/sdb/makefile.mk | 1 | ||||
-rw-r--r-- | offapi/com/sun/star/task/DocumentMacroConfirmationRequest.idl | 7 | ||||
-rw-r--r-- | offapi/com/sun/star/task/DocumentMacroConfirmationRequest2.idl | 83 | ||||
-rw-r--r-- | offapi/com/sun/star/task/InteractionHandler.idl | 32 | ||||
-rw-r--r-- | offapi/com/sun/star/task/makefile.mk | 1 |
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\ |