summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/document
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/document')
-rw-r--r--offapi/com/sun/star/document/AmbigousFilterRequest.idl75
-rw-r--r--offapi/com/sun/star/document/BrokenPackageRequest.idl56
-rw-r--r--offapi/com/sun/star/document/ChangedByOthersRequest.idl61
-rw-r--r--offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl57
-rw-r--r--offapi/com/sun/star/document/DocumentEvent.idl85
-rw-r--r--offapi/com/sun/star/document/DocumentInfo.idl272
-rwxr-xr-xoffapi/com/sun/star/document/DocumentProperties.idl64
-rw-r--r--offapi/com/sun/star/document/DocumentRevisionListPersistence.idl51
-rwxr-xr-xoffapi/com/sun/star/document/EmptyUndoStackException.idl51
-rw-r--r--offapi/com/sun/star/document/EventDescriptor.idl68
-rw-r--r--offapi/com/sun/star/document/EventObject.idl63
-rw-r--r--offapi/com/sun/star/document/Events.idl105
-rw-r--r--offapi/com/sun/star/document/ExportFilter.idl136
-rw-r--r--offapi/com/sun/star/document/ExtendedTypeDetection.idl109
-rw-r--r--offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl154
-rw-r--r--offapi/com/sun/star/document/FilterAdapter.idl53
-rw-r--r--offapi/com/sun/star/document/FilterFactory.idl251
-rw-r--r--offapi/com/sun/star/document/FilterOptionsRequest.idl68
-rw-r--r--offapi/com/sun/star/document/HeaderFooterSettings.idl73
-rw-r--r--offapi/com/sun/star/document/ImportFilter.idl136
-rw-r--r--offapi/com/sun/star/document/LinkTarget.idl69
-rw-r--r--offapi/com/sun/star/document/LinkTargets.idl58
-rw-r--r--offapi/com/sun/star/document/LinkUpdateModes.idl61
-rw-r--r--offapi/com/sun/star/document/LockFileIgnoreRequest.idl61
-rw-r--r--offapi/com/sun/star/document/LockedDocumentRequest.idl68
-rw-r--r--offapi/com/sun/star/document/LockedOnSavingRequest.idl69
-rw-r--r--offapi/com/sun/star/document/MacroExecMode.idl132
-rw-r--r--offapi/com/sun/star/document/MediaDescriptor.idl640
-rw-r--r--offapi/com/sun/star/document/NoSuchFilterRequest.idl69
-rw-r--r--offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl48
-rw-r--r--offapi/com/sun/star/document/OfficeDocument.idl200
-rw-r--r--offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl64
-rw-r--r--offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl72
-rw-r--r--offapi/com/sun/star/document/PDFDialog.idl64
-rw-r--r--offapi/com/sun/star/document/PrinterIndependentLayout.idl66
-rw-r--r--offapi/com/sun/star/document/RedlineDisplayType.idl60
-rw-r--r--offapi/com/sun/star/document/Settings.idl291
-rw-r--r--offapi/com/sun/star/document/StandaloneDocumentInfo.idl79
-rw-r--r--offapi/com/sun/star/document/TypeDetection.idl198
-rwxr-xr-xoffapi/com/sun/star/document/UndoContextNotClosedException.idl51
-rwxr-xr-xoffapi/com/sun/star/document/UndoFailedException.idl56
-rwxr-xr-xoffapi/com/sun/star/document/UndoManagerEvent.idl63
-rw-r--r--offapi/com/sun/star/document/UpdateDocMode.idl75
-rw-r--r--offapi/com/sun/star/document/XActionLockable.idl88
-rw-r--r--offapi/com/sun/star/document/XBinaryStreamResolver.idl84
-rwxr-xr-xoffapi/com/sun/star/document/XCodeNameQuery.idl56
-rw-r--r--offapi/com/sun/star/document/XDocumentEventBroadcaster.idl125
-rw-r--r--offapi/com/sun/star/document/XDocumentEventListener.idl65
-rw-r--r--offapi/com/sun/star/document/XDocumentInfo.idl147
-rw-r--r--offapi/com/sun/star/document/XDocumentInfoSupplier.idl74
-rw-r--r--offapi/com/sun/star/document/XDocumentInsertable.idl72
-rw-r--r--offapi/com/sun/star/document/XDocumentLanguages.idl64
-rwxr-xr-xoffapi/com/sun/star/document/XDocumentProperties.idl460
-rw-r--r--offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl70
-rw-r--r--offapi/com/sun/star/document/XDocumentRecovery.idl127
-rw-r--r--offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl90
-rw-r--r--offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl87
-rw-r--r--offapi/com/sun/star/document/XEmbeddedObjectResolver.idl54
-rw-r--r--offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl60
-rw-r--r--offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl80
-rw-r--r--offapi/com/sun/star/document/XEmbeddedScripts.idl72
-rw-r--r--offapi/com/sun/star/document/XEventBroadcaster.idl72
-rw-r--r--offapi/com/sun/star/document/XEventListener.idl66
-rw-r--r--offapi/com/sun/star/document/XEventsSupplier.idl57
-rw-r--r--offapi/com/sun/star/document/XExporter.idl78
-rw-r--r--offapi/com/sun/star/document/XExtendedFilterDetection.idl82
-rw-r--r--offapi/com/sun/star/document/XFilter.idl88
-rw-r--r--offapi/com/sun/star/document/XFilterAdapter.idl67
-rw-r--r--offapi/com/sun/star/document/XGraphicObjectResolver.idl54
-rw-r--r--offapi/com/sun/star/document/XImporter.idl78
-rw-r--r--offapi/com/sun/star/document/XInteractionFilterOptions.idl69
-rw-r--r--offapi/com/sun/star/document/XInteractionFilterSelect.idl80
-rw-r--r--offapi/com/sun/star/document/XLinkTargetSupplier.idl65
-rw-r--r--offapi/com/sun/star/document/XMLBasicExporter.idl84
-rw-r--r--offapi/com/sun/star/document/XMLBasicImporter.idl75
-rw-r--r--offapi/com/sun/star/document/XMLOasisBasicExporter.idl84
-rw-r--r--offapi/com/sun/star/document/XMLOasisBasicImporter.idl75
-rw-r--r--offapi/com/sun/star/document/XMimeTypeInfo.idl63
-rw-r--r--offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl105
-rw-r--r--offapi/com/sun/star/document/XRedlinesSupplier.idl60
-rw-r--r--offapi/com/sun/star/document/XScriptInvocationContext.idl73
-rw-r--r--offapi/com/sun/star/document/XStandaloneDocumentInfo.idl105
-rw-r--r--offapi/com/sun/star/document/XStorageBasedDocument.idl123
-rw-r--r--offapi/com/sun/star/document/XStorageChangeListener.idl70
-rw-r--r--offapi/com/sun/star/document/XTypeDetection.idl124
-rwxr-xr-xoffapi/com/sun/star/document/XUndoAction.idl76
-rwxr-xr-xoffapi/com/sun/star/document/XUndoManager.idl337
-rwxr-xr-xoffapi/com/sun/star/document/XUndoManagerListener.idl144
-rwxr-xr-xoffapi/com/sun/star/document/XUndoManagerSupplier.idl55
-rw-r--r--offapi/com/sun/star/document/XViewDataSupplier.idl76
-rw-r--r--offapi/com/sun/star/document/makefile.mk131
91 files changed, 9193 insertions, 0 deletions
diff --git a/offapi/com/sun/star/document/AmbigousFilterRequest.idl b/offapi/com/sun/star/document/AmbigousFilterRequest.idl
new file mode 100644
index 000000000000..479f404f681b
--- /dev/null
+++ b/offapi/com/sun/star/document/AmbigousFilterRequest.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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_document_AmbigousFilterRequest_idl__
+#define __com_sun_star_document_AmbigousFilterRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** should be used for interaction to handle states of ambigous filter detection
+
+ <p>
+ This exception indicates, that generic filter detection can't decide which of
+ two filters is the right one. In this case an interaction will be made.
+ Given URL can be used to decide between given two filters.
+ Decision can be made e.g. by a dialog, on which the user must select one
+ of these filters.
+ A possible continuation of type <type>XInteractionFilterSelect</type>
+ transport this decision back to source of started interaction.
+ </p>
+
+ @see XInteractionFilterSelect
+*/
+published exception AmbigousFilterRequest : ::com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+ /** transport URL which couldn't be detected right
+ */
+ string URL;
+
+ //-------------------------------------------------------------------------
+ /** transport the pre selected filter
+ */
+ string SelectedFilter;
+
+ //-------------------------------------------------------------------------
+ /** transport the real detected filter, which stands in conflict to the pre selected one
+ */
+ string DetectedFilter;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/BrokenPackageRequest.idl b/offapi/com/sun/star/document/BrokenPackageRequest.idl
new file mode 100644
index 000000000000..04b9b795027d
--- /dev/null
+++ b/offapi/com/sun/star/document/BrokenPackageRequest.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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_document_BrokenPackageRequest_idl__
+#define __com_sun_star_document_BrokenPackageRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** Is used for interaction handle in case package is broken.
+
+ @since OOo 1.1.2
+*/
+published exception BrokenPackageRequest : ::com::sun::star::uno::Exception
+{
+ /** The name of the document that is broken
+ */
+ string aName;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/ChangedByOthersRequest.idl b/offapi/com/sun/star/document/ChangedByOthersRequest.idl
new file mode 100644
index 000000000000..04e22ce539f9
--- /dev/null
+++ b/offapi/com/sun/star/document/ChangedByOthersRequest.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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_document_ChangedByOthersRequest_idl__
+#define __com_sun_star_document_ChangedByOthersRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** Is used for interaction handle to query user decision in case the document
+ being saved was already stored by another user during the editing.
+
+ @since OOo 3.1
+*/
+published exception ChangedByOthersRequest : ::com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl
new file mode 100644
index 000000000000..e3fbf81c7223
--- /dev/null
+++ b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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_document_CorruptedFilterConfigurationException_idl__
+#define __com_sun_star_document_CorruptedFilterConfigurationException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** This exception is thrown in case the global filter configuration
+ does not exists or contains corrupted data.
+
+ @since OOo 2.0
+ */
+published exception CorruptedFilterConfigurationException : ::com::sun::star::uno::RuntimeException
+{
+ /** Instead of the message part of an exception, this value
+ describe the type of corruption more in detail. */
+ string Details;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/DocumentEvent.idl b/offapi/com/sun/star/document/DocumentEvent.idl
new file mode 100644
index 000000000000..bd22f6fef522
--- /dev/null
+++ b/offapi/com/sun/star/document/DocumentEvent.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ * 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_document_DocumentEvent_idl__
+#define __com_sun_star_document_DocumentEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+#ifndef __com_sun_star_frame_XController2_idl__
+#include <com/sun/star/frame/XController2.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** describes an event happening in an <type>OfficeDocument</type>
+
+ <p>The <member scope="com::sun::star::lang">EventObject::Source</member> member
+ of the base type refers to the document which broadcasts the event.</p>
+
+ <p>This type is the successor of the EventObject type, which should not be used
+ anymore.</p>
+
+ @see XDocumentEventBroadcaster
+ @since OOo 3.1
+ */
+published struct DocumentEvent : ::com::sun::star::lang::EventObject
+{
+ /** specifies the name of the event.
+
+ <p>It's the responsibility of the component supporting the <type>XDocumentEventBroadcaster</type>
+ interface to specify which events it supports.</p>
+ */
+ string EventName;
+
+ /** denotes the view respectively controller which the event applies to.
+
+ <p>Might be <NULL/> if the event is not related to a concrete view of
+ the document.</p>
+ */
+ ::com::sun::star::frame::XController2
+ ViewController;
+
+ /** contains supplemental information about the even which is being notified
+
+ <p>The semantics of this additional information needs to be specified by the broadcaster
+ of the event.</p>
+ */
+ any Supplement;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/DocumentInfo.idl b/offapi/com/sun/star/document/DocumentInfo.idl
new file mode 100644
index 000000000000..f754013d665f
--- /dev/null
+++ b/offapi/com/sun/star/document/DocumentInfo.idl
@@ -0,0 +1,272 @@
+/*************************************************************************
+ *
+ * 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_document_DocumentInfo_idl__
+#define __com_sun_star_document_DocumentInfo_idl__
+
+#ifndef __com_sun_star_document_XDocumentInfo_idl__
+#include <com/sun/star/document/XDocumentInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XFastPropertySet_idl__
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module document {
+
+//=============================================================================
+/** this service provides document-specific information like the
+ author, creation date and user fields
+
+ <p>
+ Contrary to the service <type>StandaloneDocumentInfo</type> the document - which
+ contains such informations - must be loaded completly. As a result of that this
+ DocumengInfo service is available on an open document via the interface
+ <type>XDocumentInfoSupplier</type> only.
+ </p>
+
+ @deprecated Use <type>DocumentProperties</type> instead.
+
+ @see StandaloneDocumentInfo
+ @see XDocumentInfoSupplier
+ */
+published service DocumentInfo
+{
+ //-------------------------------------------------------------------------
+ /** provides access to the user fields for the information regarding the
+ document
+
+ <p>
+ These fields are additional to normal properties.
+ (see below)
+ </p>
+ */
+ interface XDocumentInfo;
+
+ //-------------------------------------------------------------------------
+ /** neccessary to support normal properties
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ //-------------------------------------------------------------------------
+ /** supports faster access on well known properties by using index
+ */
+ interface com::sun::star::beans::XFastPropertySet;
+
+ //-------------------------------------------------------------------------
+ /** provides access to the user fields, which (instead to the user fields set
+ by the interface XDocumentInfo) will be typesafe.
+
+ <p>
+ These fields are additional to normal properties (see below) and
+ additional to the user fields set by the interface XDocumentInfo (see before).
+ </p>
+ */
+ [optional] interface com::sun::star::beans::XPropertyContainer;
+
+ //-------------------------------------------------------------------------
+ /** contains the intial author of the document
+ */
+ [property] string Author;
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [property] boolean AutoloadEnabled;
+
+ //-------------------------------------------------------------------------
+ /** contains the number of seconds after which a specified
+ URL is to be loaded after the document is loaded into a desktop
+ frame
+ */
+ [property] long AutoloadSecs;
+
+ //-------------------------------------------------------------------------
+ /** contains the URL to load automatically after a
+ specified time after the document is loaded into a desktop frame
+ */
+ [property] string AutoloadURL;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time of the first time the
+ document was stored
+ */
+ [property] com::sun::star::util::DateTime CreationDate;
+
+ //-------------------------------------------------------------------------
+ /** contains the name of the default frame into which
+ links should be loaded if no target is specified
+
+ <p>
+ This applies to the autoload feature too, but to others as well.
+ </p>
+ */
+ [property] string DefaultTarget;
+
+ //-------------------------------------------------------------------------
+ /** contains a multi-line comment of the document
+
+ <p>
+ Line delimiters can be UNIX, Macintosh or DOS style.
+ </p>
+ */
+ [property] string Description;
+
+ //-------------------------------------------------------------------------
+ /** contains some statistics about the document
+
+ <p>
+ The exact name and type of the values depends on the document type
+ </p>
+ */
+ [property] sequence< com::sun::star::beans::NamedValue > DocumentStatistic;
+
+ //-------------------------------------------------------------------------
+ /** describes how often the document was edited and saved
+ */
+ [property] short EditingCycles;
+
+ //-------------------------------------------------------------------------
+ /** contains the net time of editing the document (in seconds)
+ */
+ [property] long EditingDuration;
+
+ //-------------------------------------------------------------------------
+ /** identifies application was used to create or last modify the document
+ */
+ [property] string Generator;
+
+ //-------------------------------------------------------------------------
+ /** contains a comma separated list of keywords for
+ the document
+ */
+ [property] string Keywords;
+
+ //-------------------------------------------------------------------------
+ /** contains the MIME-type of the document's resource
+
+ <p>
+ The MIME-type is neither stored in the document information nor in
+ the document; it is sent within a protocol header or is
+ detected, thus it cannot be changed.
+ </p>
+ */
+ [readonly, property] string MIMEType;
+
+ //-------------------------------------------------------------------------
+ /** default language of the document
+ */
+ [property] com::sun::star::lang::Locale Language;
+
+ //-------------------------------------------------------------------------
+ /** contains the name of the editor who was the last
+ person to store this document
+ */
+ [property] string ModifiedBy;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time of the last time the
+ document was stored
+ */
+ [property] com::sun::star::util::DateTime ModifyDate;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time of when the document was
+ last printed
+ */
+ [property] com::sun::star::util::DateTime PrintDate;
+
+ //-------------------------------------------------------------------------
+ /** contains the name of the editor who was the last
+ person to print the document
+ */
+ [property] string PrintedBy;
+
+ //-------------------------------------------------------------------------
+ /** subject of document
+ */
+ [property] string Subject;
+
+ //-------------------------------------------------------------------------
+ /** contains logical name of the template from
+ which the document was created
+
+ <p>
+ The value is an empty string if the document was not created
+ from a template or if it was detached from the template.
+ </p>
+ */
+ [property] string Template;
+
+ //-------------------------------------------------------------------------
+ /** contains the file path name of the template from
+ which the document was created
+ */
+ [property] string TemplateFileName;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time of when the document
+ was created or updated from the template
+ */
+ [property] com::sun::star::util::DateTime TemplateDate;
+
+ //-------------------------------------------------------------------------
+ /** contains the title of the document
+ */
+ [property] string Title;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/DocumentProperties.idl b/offapi/com/sun/star/document/DocumentProperties.idl
new file mode 100755
index 000000000000..5b00f6c9a8e2
--- /dev/null
+++ b/offapi/com/sun/star/document/DocumentProperties.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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_document_DocumentProperties_idl__
+#define __com_sun_star_document_DocumentProperties_idl__
+
+#ifndef __com_sun_star_document_XDocumentProperties_idl__
+#include <com/sun/star/document/XDocumentProperties.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** provides document-specific information such as the author, creation date,
+ and user-defined fields.
+
+ <p>
+ This service replaces the deprecated <type>DocumentInfo</type> and
+ <type>StandaloneDocumentInfo</type> services.
+ </p>
+
+ @since OOo 3.0
+
+ @see XDocumentProperties
+ @see XDocumentPropertiesSupplier
+ */
+published service DocumentProperties : XDocumentProperties
+{
+ /** constructs default-initialized instance
+ */
+ create();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/DocumentRevisionListPersistence.idl b/offapi/com/sun/star/document/DocumentRevisionListPersistence.idl
new file mode 100644
index 000000000000..6a2567abfab5
--- /dev/null
+++ b/offapi/com/sun/star/document/DocumentRevisionListPersistence.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ *
+ * 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_document_DocumentRevisionListPersistence_idl__
+#define __com_sun_star_document_DocumentRevisionListPersistence_idl__
+
+#ifndef __com_sun_star_document_XDocumentRevisionListPersistence_idl__
+#include <com/sun/star/document/XDocumentRevisionListPersistence.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** interface to maintain a list of document revisions
+
+ <p>
+ <p>
+ */
+service DocumentRevisionListPersistence : XDocumentRevisionListPersistence;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/EmptyUndoStackException.idl b/offapi/com/sun/star/document/EmptyUndoStackException.idl
new file mode 100755
index 000000000000..476a82bbe705
--- /dev/null
+++ b/offapi/com/sun/star/document/EmptyUndoStackException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ * 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_document_EmptyUndoStackException_idl__
+#define __com_sun_star_document_EmptyUndoStackException_idl__
+
+#include <com/sun/star/util/InvalidStateException.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** is raised when an operation is attemption at an XUndoManager which requires a non-empty stack
+ of undo actions, and this requirement is not fullfilled.
+ */
+published exception EmptyUndoStackException : ::com::sun::star::util::InvalidStateException
+{
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/EventDescriptor.idl b/offapi/com/sun/star/document/EventDescriptor.idl
new file mode 100644
index 000000000000..50f2ae16f875
--- /dev/null
+++ b/offapi/com/sun/star/document/EventDescriptor.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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_document_EventDescriptor_idl__
+#define __com_sun_star_document_EventDescriptor_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** specifies an event binding for a document or a document content
+
+ @see Events
+ @see XEventsSupplier
+ */
+published service EventDescriptor
+{
+ //-------------------------------------------------------------------------
+ /** specifies the type of the event handler
+
+ <p>
+ Usually this is one of the following:
+ <ul>
+ <li>"None"</li>
+ <li>"StarBasic"</li>
+ <li>"JavaScript"</li>
+ <li>"Presentation"</li>
+ </ul>
+ This list is extensible.
+ </p>
+ */
+ [property] string EventType;
+
+ //-------------------------------------------------------------------------
+ /** specifies the script source code
+ */
+ [property] string Script;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/EventObject.idl b/offapi/com/sun/star/document/EventObject.idl
new file mode 100644
index 000000000000..9cfbc48f449f
--- /dev/null
+++ b/offapi/com/sun/star/document/EventObject.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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_document_EventObject_idl__
+#define __com_sun_star_document_EventObject_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** is thrown on document and document content events
+
+ @see XEventListener
+ @see XEventBroadcaster
+
+ @deprecated
+ @see DocumentEvent
+ */
+published struct EventObject: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** specifies the name of the occured event
+
+ <p>
+ For a list of possible event names see <type>Events</type>.
+ </p>
+ */
+ string EventName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/Events.idl b/offapi/com/sun/star/document/Events.idl
new file mode 100644
index 000000000000..267f9c5329d0
--- /dev/null
+++ b/offapi/com/sun/star/document/Events.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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_document_Events_idl__
+#define __com_sun_star_document_Events_idl__
+
+#ifndef __com_sun_star_container_XNameReplace_idl__
+#include <com/sun/star/container/XNameReplace.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** is a collection of all events supported by a document or content of a
+ document
+
+ <p>
+ Such Events will be broadcasted by a <type>XEventBroadcaster</type>
+ to any <type>XEventListener</type> packed as <type>EventObject</type>s.
+ </p>
+ */
+published service Events
+{
+ //-------------------------------------------------------------------------
+ /** offers access to the list of <type>EventDescriptor</type>s
+
+ <p>
+ The following events are usually available:
+ <dl>
+ <dt>OnAlphaCharInput</dt>
+ <dt>OnClick</dt>
+ <dt>OnCloseApp</dt>
+ <dt>OnCopyTo</dt>
+ <dt>OnCopyToDone</dt>
+ <dt>OnError</dt>
+ <dt>OnFocus</dt>
+ <dt>OnInsertDone</dt>
+ <dt>OnInsertStart</dt>
+ <dt>OnLoad</dt>
+ <dt>OnLoadCancel</dt>
+ <dt>OnLoadDone</dt>
+ <dt>OnLoadError</dt>
+ <dt>OnLoadFinished</dt>
+ <dt>OnMailMerge</dt>
+ <dt>OnMailMergeFinished</dt>
+ <dt>OnModifyChanged</dt>
+ <dt>OnMouseOut</dt>
+ <dt>OnMouseOver</dt>
+ <dt>OnMove</dt>
+ <dt>OnNew</dt>
+ <dt>OnNewMail</dt>
+ <dt>OnNonAlphaCharInput</dt>
+ <dt>OnPageCountChange</dt>
+ <dt>OnPrepareUnload</dt>
+ <dt>OnPrepareViewClosing</dt>
+ <dt>OnPrint</dt>
+ <dt>OnResize</dt>
+ <dt>OnSave</dt>
+ <dt>OnSaveAs</dt>
+ <dt>OnSaveAsDone</dt>
+ <dt>OnSaveDone</dt>
+ <dt>OnSaveFinished</dt>
+ <dt>OnSelect</dt>
+ <dt>OnStartApp</dt>
+ <dt>OnToggleFullscreen</dt>
+ <dt>OnUnfocus</dt>
+ <dt>OnUnload</dt>
+ <dt>OnViewCreated</dt>
+ <dt>OnViewClosed</dt>
+ </dl>
+ </p>
+ */
+ interface com::sun::star::container::XNameReplace;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/ExportFilter.idl b/offapi/com/sun/star/document/ExportFilter.idl
new file mode 100644
index 000000000000..f8a4611feab7
--- /dev/null
+++ b/offapi/com/sun/star/document/ExportFilter.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * 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_document_ExportFilter_idl__
+#define __com_sun_star_document_ExportFilter_idl__
+
+#ifndef __com_sun_star_document_XExporter_idl__
+#include <com/sun/star/document/XExporter.idl>
+#endif
+
+#ifndef __com_sun_star_document_XFilter_idl__
+#include <com/sun/star/document/XFilter.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** filter for exports
+
+ <p>
+ Such filters can be used for exporting a content.
+ Of course it's possible to combine it with the service <type>ImportFilter</type>
+ if import functionality should be available at same implementation too.
+ </p>
+
+ @see ImportFilter
+ */
+published service ExportFilter
+{
+ //-------------------------------------------------------------------------
+ /** set source(!) document for this filter
+
+ <p>
+ The document must be used as the source for following filter operation.
+ Any content from there will be exported to another format.
+ </p>
+ */
+ interface XExporter;
+
+ //-------------------------------------------------------------------------
+ /** filter interface
+
+ <p>
+ It's used to filter a document at saving time.
+ The source document should be already setted by using another interface
+ <type>XExporter</type> which is supported by this service too.
+ </p>
+
+ <p>
+ Tip:<br>
+ If same implementation provides the service <type>ImportFilter</type> too,
+ code must distinguish between filtering from a source document (for export) or
+ filtering to a target document (for import). This can be recognized by saving
+ state of used interfaces <type>XExporter</type> or <type>XImporter</type>!
+ Otherwise it's not clear which action is required here.
+ </p>
+ */
+ interface XFilter;
+
+ //-------------------------------------------------------------------------
+ /** support initialization of filter with its own configuration
+
+ <p>
+ A filter object must be created by global service <type>FilterFactory</type>.
+ If filter supports this optional interface, he will be initialized by the factory directly
+ after creation. The factory will pass follow informations to this new instance:
+ <ul>
+ <li>first item will be a set of configuration data of the filter</li>
+ <li>after that will follow may given optional parameters of call
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ of service <type>FilterFactory</type>.
+ </li>
+ </ul>
+ See description of service <member>FilterFactory::XNameContainer</member> for a description of
+ possible configuration data.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** provides access to the internal name of this filter
+
+ <p>
+ This internal filter name can be used on service <type>FilterFactory</type>
+ to get further informations about it (e.g. his registration for mime types or extensions etc.)
+ It's important that returned string is the "internal name" of the filter which must be
+ unambigous against all other registered filter in current instalation.
+ </p>
+ <p>
+ <strong>Attention!</strong><br>
+ Supported method setName() sould be ignored or forwarded to the FilterFactory.
+ It's not allowed to set it directly to the configuration. Because it depends
+ from real implementation of the FilterFactory if it will be allowed or not!
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/ExtendedTypeDetection.idl b/offapi/com/sun/star/document/ExtendedTypeDetection.idl
new file mode 100644
index 000000000000..f4f5b85d3e13
--- /dev/null
+++ b/offapi/com/sun/star/document/ExtendedTypeDetection.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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_document_ExtendedTypeDetection_idl__
+#define __com_sun_star_document_ExtendedTypeDetection_idl__
+
+#ifndef __com_sun_star_document_XExtendedFilterDetection_idl__
+#include <com/sun/star/document/XExtendedFilterDetection.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** describes a class of service which will be used for deep <type>TypeDetection</type>
+ in a generic way
+
+ <p>
+ Due to the registered types, flat <type>TypeDetection</type> is already possible, i.e.
+ the assignment of types (e.g. to a URL) only on the basis of configuration data.
+ If, however, you imagine special cases (e.g. modifying the file extension of a
+ Writer file from .sdw to .doc), it quickly becomes clear that you cannot always
+ get a correct result with flat detection. To be certain to get correct results,
+ you need deep detection, i.e. the file itself has to be examined.
+ And that is exactly the function of DetectServices. They get all the information
+ collected so far on a document and then decide which type to assign it to.
+ In the new modular model, such a detector is meant as UNO service which registers
+ itself in the office and is requested by the generic type detection if necessary.
+ <br>
+ Therefore you need two pieces of information:
+ <ul>
+ <li>
+ The <strong>ServiceName</strong> - This must be a valid UNO service name.
+ It is also an entry in the corresponding configuration list.
+ <br>
+ Example: "com.company.devision.DetectService"
+ <br>
+ Note that this realy means the implementation name of the service.
+ Because it's not possible otherwise to distinguish between more then one
+ registered detect services in same office installation! But it's possible for
+ the generic type detection to create an uno service by his implementation name too.
+ </li>
+ <li>
+ A list of <strong>Types</strong> able to be recognized by this service -
+ You can also implement and register detectors for groups of types.
+ </li>
+ </ul>
+ See service <type>TypeDetection</type> and his configuration for further informations.
+ </p>
+
+ @see TypeDetection
+ */
+published service ExtendedTypeDetection
+{
+ //-------------------------------------------------------------------------
+ /** makes the deep detection
+
+ <p>
+ Generic type detection searchs for a registered DetectService for an
+ already flat detected type. If any could be found it will be created and
+ used by calling methods of this interface. It gets a <type>MediaDescriptor</type>
+ which contains information about the document which should be detected and must return
+ <ul>
+ <li>an internal type name for detected format</li>
+ <li>or <NULL/> if format is unknown nor supported.</li>
+ </ul>
+ May be that given descriptor already includes the opened document stream as parameter
+ <member>MediaDescriptor::InputStream</member>. Then this one should be used everytime.
+ If it's not included in descriptor the value of <member>MediaDescriptor::URL</member>
+ must be used to open requested ressource by this service.
+ <br>
+ Note: The stream should be added to the descriptor if it wasn't a part of them before.
+ So further steps on the whole detection process can use it and will perform her work.
+ It's further not allowed to hold a reference to this stream any longer. Only copies
+ will be valid then. Otherwise nobody can close this stream then.
+ </p>
+ */
+ interface XExtendedFilterDetection;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl b/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl
new file mode 100644
index 000000000000..bcab3aab75a9
--- /dev/null
+++ b/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * 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_document_ExtendedTypeDetectionFactory_idl__
+#define __com_sun_star_document_ExtendedTypeDetectionFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerQuery_idl__
+#include <com/sun/star/container/XContainerQuery.idl>
+#endif
+
+#ifndef __com_sun_star_util_XFlushable_idl__
+#include <com/sun/star/util/XFlushable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** factory to create extended type detection components.
+
+ <p>
+ This factory implements read/write access on the underlying configuration set.
+ and further a validate and flush mechanism for more performance and a special query mode
+ can be used here too.
+ </p>
+
+ @since OOo 1.1.2
+ */
+published service ExtendedTypeDetectionFactory
+{
+ //-------------------------------------------------------------------------
+ /** factory interface to create and initialize extended type detection components.
+
+ <p>
+ A detection component must be specified by it's uno implementation name and will be crated then.
+ Every new created component can be intialized with it's own configuration data
+ and may given optional arguments of the corresponding createInstanceWithArguments() request. To do so the
+ service must support the optional interface <type scope="com::sun::star::lang">XInitialization</type>.
+ The arguments parameter will have the following structure:
+ <ul>
+ <li>sequence< Any >[0] contains a sequence< <type scope="com::sun::star::beans">PropertyValue</type> >,
+ which represent the configuration data set of this detector component. The used properties are the same, as
+ they are available at the container interface of this factoyr service. (see below)</li>
+ <li>Every following item of the argument list sequence< Any >[1..n] contains the copied argument of the
+ corresponding createInstanceWithArguments() call. That means: Item 0 or the original list was copied as
+ item 1 of the destination list ... etc.
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ //-------------------------------------------------------------------------
+ /** provides read access to the complete set of configuration data.
+
+ <p>
+ Every container item is specified as a set of properties and will be
+ represented by a sequence< <type scope="com::sun::star::beans">PropertyValue</type> > structure.
+ Follow properties are supported:
+ (But note: not all of them must be present everytimes!)
+ </p>
+ <table border=1>
+ <tr>
+ <td><strong>Property Name</strong></td>
+ <td><strong>Value Type</strong></td>
+ <td><strong>Description</strong></td>
+ </tr>
+ <tr>
+ <td><em>Name</em></td>
+ <td>[string]</td>
+ <td>It means the uno implementation name of the detector component.
+ Note: It means the realy the implementation instead of the uno service name.
+ Because it's not possible to distinguish between more then one components; if all of them
+ uses a generic service identifier!</td>
+ </tr>
+ <tr>
+ <td><em>Types</em></td>
+ <td>[sequence< string >]</td>
+ <td>It's a list of all types, which can be detected by this extended detection component.
+ All items of this list must match an item of the <type>TypeDetection</type> container service.</td>
+ </tr>
+ </table>
+ </p>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ //-------------------------------------------------------------------------
+ /** provides a write access to the configuration data.
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+
+ //-------------------------------------------------------------------------
+ /** provides search on the configuration data set.
+
+ <p>
+ Against simple property search it provides some complex algorithms too.
+ For further informations please read the SDK documentation.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XContainerQuery;
+
+ //-------------------------------------------------------------------------
+ /** can be used to perform container changes.
+
+ <p>
+ Because the complexness of such configuration set can be very high,
+ it seams not very usefull to update the undelying configuration layer
+ on every container change request immediatly. Another strategy can be to
+ make all changes (adding/changing/removing of items) and call flush at the end.
+ That will validate the whole container and reject inconsistent data sets.
+ Only in case all made changes was correct, they will be written back to the
+ configuration. Further this interface provides the possibelity, that interested
+ changes listener can be registered too.
+ </p>
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/FilterAdapter.idl b/offapi/com/sun/star/document/FilterAdapter.idl
new file mode 100644
index 000000000000..800ba1372115
--- /dev/null
+++ b/offapi/com/sun/star/document/FilterAdapter.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_DOCUMENT_FILTERADAPTOR_IDL__
+#define _COM_SUN_STAR_DOCUMENT_FILTERADAPTOR_IDL__
+
+#ifndef _COM_SUN_STAR_DOCUMENT_XFILTERADAPTOR_IDL__
+#include <com/sun/star/document/XFilterAdapter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+ /* Provides access to user to filters written to use the FilterAdapter
+ @author Aidan Butler
+
+ @since OOo 1.1.2
+ */
+published service FilterAdapter
+ {
+ interface XFilterAdapter;
+ };
+ };
+ };
+ };
+};
+
+#endif
diff --git a/offapi/com/sun/star/document/FilterFactory.idl b/offapi/com/sun/star/document/FilterFactory.idl
new file mode 100644
index 000000000000..ddb4bcb5ebf6
--- /dev/null
+++ b/offapi/com/sun/star/document/FilterFactory.idl
@@ -0,0 +1,251 @@
+/*************************************************************************
+ *
+ * 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_document_FilterFactory_idl__
+#define __com_sun_star_document_FilterFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerQuery_idl__
+#include <com/sun/star/container/XContainerQuery.idl>
+#endif
+
+#ifndef __com_sun_star_util_XFlushable_idl__
+#include <com/sun/star/util/XFlushable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** factory to create filter components.
+
+ <p>
+ After a generic <type>TypeDetection</type> an internal type name
+ will be known. Further a generic <type scope="com::sun::star::frame">FrameLoader</type>
+ can use this information, to search a suitable filter (may the default filter) at
+ this factory and use it for loading the document into a specified frame.
+ </p>
+
+ <p>
+ This factory implements read/write access on the underlying configuration set.
+ and further a validate and flush mechanism for more performance and a special query mode
+ can be used here too.
+ </p>
+ */
+published service FilterFactory
+{
+ //-------------------------------------------------------------------------
+ /** factory interface to create and initialize filter components.
+
+ <p>
+ <strong>Current behaviour</strong><p>
+ The methods createInstance() or createInstanceWithArguments() of this interface must be
+ called with an internal type name!. This name is used internaly to search a suitable
+ (mostly the default) filter for this type then. The found filter will be created, initialized
+ and returned then. Creation of a filter by using it's internal filter name directly can be
+ reached by using createInstanceWithArguments() with an optional property "FilterName" only.
+ See the following example:
+
+ <listing>
+ private com.sun.star.uno.XInterface createFilterDirect( com.sun.star.lang.XMultiServiceFactory xFilterFactory ,
+ java.lang.String sInternalFilterName )
+ {
+ com.sun.star.beans.PropertyValue aFilterProp = new com.sun.star.beans.PropertyValue();
+ aFilterProp.Name = "FilterName";
+ aFilterProp.Value = sInternalFilterName;
+
+ com.sun.star.uno.Any[] lProps = new com.sun.star.uno.Any[1];
+ lProps[0] = aFilterProp;
+
+ java.lang.Object aFilter = xFilterFactory.createInstanceWithArguments("", lProps);
+ return (com.sun.star.uno.XInterface)UnoRuntime.queryInterface(com.sun.star.uno.XInterface.class, aFilter);
+ }
+ </listing>
+ </p>
+
+ <p>
+ <strong>Proposed behaviour</strong><p>
+ Searching of a suitable filter for a given internal type name, must be done by the new interface
+ <type scope="com::sun::star::container">XContainerQuery</type>, available on this factory too.
+ The factory interface can be used to create filter components by it's internal filter name only.
+ </p>
+
+ <p>
+ <strong>How it can be distinguished?</strong><p>
+ The new prosposed implementation will throw an <type scope="com::sun::star::container">NoSuchElementException</type>
+ if the first parameter of createInstance() or createInstanceWithArguments() does not match to a valid container (means
+ filter) item. Further it will throw an <type scope="com::sun::star::lang">IllegalArgumentException</type> if the optional
+ parameter "FilterName" could not be detected inside the argument list of call createInstanceWithArguments().
+ </p>
+
+ <p>
+ <strong>Initialization of a filter component</strong><p>
+ Every filter, which was created by this factory can(!) be intialized with it's own configuration data
+ and may given optional arguments of the corresponding createInstanceWithArguments() request. To do so the filter
+ instance must support the optional interface <type scope="com::sun::star::lang">XInitialization</type>.
+ The arguments parameter will have the following structure:
+ <ul>
+ <li>sequence< Any >[0] contains a sequence< <type scope="com::sun::star::beans">PropertyValue</type> >,
+ which represent the configuration data set of this filter. The used properties are the same, as
+ they are available at the container interface of this factoyr service. (see below)</li>
+ <li>Every following item of the argument list sequence< Any >[1..n] contains the copied argument of the
+ corresponding createInstanceWithArguments() call. That means: Item 0 or the original list was copied as
+ item 1 of the destination list ... etc.
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ //-------------------------------------------------------------------------
+ /** provides read access to the complete set of configuration data.
+
+ <p>
+ Every container item is specified as a set of properties and will be
+ represented by a sequence< <type scope="com::sun::star::beans">PropertyValue</type> > structure.
+ Follow properties are supported:
+ (But note: not all of them must be present everytimes!)
+ </p>
+ <table border=1>
+ <tr>
+ <td><strong>Property Name</strong></td>
+ <td><strong>Value Type</strong></td>
+ <td><strong>Description</strong></td>
+ </tr>
+ <tr>
+ <td><em>Name</em></td>
+ <td>[string]</td>
+ <td>The internal name is the only value, which makes a container item unique.</td>
+ </tr>
+ <tr>
+ <td><em>UIName</em></td>
+ <td>[string]</td>
+ <td>It contains the localized name for this filter for the current locale.</td>
+ </tr>
+ <tr>
+ <td><em>UINames</em></td>
+ <td>[sequence< string >]</td>
+ <td>It contains all available localized names for this filter. The are organized
+ in pairs and represented as a structure of sequence< <type scope="com::sun::star::beans">PropertyValue</type> >.
+ The name of such property must be interpreted as locale; it's value as the localized
+ filter name corresponding to this locale.</td>
+ </tr>
+ <tr>
+ <td><em>Type</em></td>
+ <td>[string]</td>
+ <td>Every filter is registered for a type. This value contains the internal name of it.
+ (see service <type>TypeDetection</type> for further informations)</td>
+ </tr>
+ <tr>
+ <td><em>DocumentService</em></td>
+ <td>[string]</td>
+ <td>It's the uno service name of the document type, which can be handled by this filter.
+ (e.g. <type scope="com::sun::star::text">TextDocument</type>)</td>
+ </tr>
+ <tr>
+ <td><em>FilterService</em></td>
+ <td>[string]</td>
+ <td>It means the uno implementation name of the filter component.
+ Note: It means the realy the implementation instead of the uno service name.
+ Because it's not possible to distinguish between more then one filters; if all of them
+ uses a generic identifier!</td>
+ </tr>
+ <tr>
+ <td><em>Flags</em></td>
+ <td>[integer]</td>
+ <td>They describe the filter more specific.<br>
+ (e.g. they mark it as IMPORT/EXPORT or DEFAULT filter.)</td>
+ </tr>
+ <tr>
+ <td><em>UserData</em></td>
+ <td>[string]</td>
+ <td>This field contains filter specific configuration data.</td>
+ </tr>
+ <tr>
+ <td><em>FileFormatVersion</em></td>
+ <td>[integer]</td>
+ <td>It specifies the supported file format version if there exist more then ones.</td>
+ </tr>
+ <tr>
+ <td><em>TemplateName</em></td>
+ <td>[string]</td>
+ <td>It's the name of a suitable default template.</td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ Note:<br>
+ All elements of this container will be adressed by his internal name,
+ and it must be an unambigous value.
+ </p>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ //-------------------------------------------------------------------------
+ /** provides a write access to the configuration data.
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+
+ //-------------------------------------------------------------------------
+ /** provides search on the configuration data set.
+
+ <p>
+ Against simple property search it provides some complex algorithms too.
+ For further informations please read the SDK documentation.
+ </p>
+ */
+ interface com::sun::star::container::XContainerQuery;
+
+ //-------------------------------------------------------------------------
+ /** can be used to perform container changes.
+
+ <p>
+ Because the complexness of such configuration set can be very high,
+ it seams not very usefull to update the undelying configuration layer
+ on every container change request immediatly. Another strategy can be to
+ make all changes (adding/changing/removing of items) and call flush at the end.
+ That will validate the whole container and reject inconsistent data sets.
+ Only in case all made changes was correct, they will be written back to the
+ configuration. Further this interface provides the possibelity, that interested
+ changes listener can be registered too.
+ </p>
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/FilterOptionsRequest.idl b/offapi/com/sun/star/document/FilterOptionsRequest.idl
new file mode 100644
index 000000000000..4b6bcb70e729
--- /dev/null
+++ b/offapi/com/sun/star/document/FilterOptionsRequest.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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_document_AmbigousFilterRequest_idl__
+#define __com_sun_star_document_AmbigousFilterRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** Is used for interaction handle to get filter options.
+
+ @since OOo 1.1.2
+*/
+published exception FilterOptionsRequest : ::com::sun::star::uno::Exception
+{
+ /** The model of the document that should be provided to filters
+ that supports XExporter interface.
+ */
+ ::com::sun::star::frame::XModel rModel;
+
+ /** The Media-descriptor of the document
+ */
+ sequence< com::sun::star::beans::PropertyValue > rProperties;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/HeaderFooterSettings.idl b/offapi/com/sun/star/document/HeaderFooterSettings.idl
new file mode 100644
index 000000000000..f81e227e5644
--- /dev/null
+++ b/offapi/com/sun/star/document/HeaderFooterSettings.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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_document_HeaderFooterSettings_idl__
+#define __com_sun_star_document_HeaderFooterSettings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+// Note: Where is the distinction between header and footer ?
+/** describes properties that control the formatting of headers and
+ footers for documents that do not allow individual settings for
+ individual parts like pages or slides.
+ */
+published service HeaderFooterSettings
+{
+ /** gives access to the properties implemented by this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ //-------------------------------------------------------------------------
+
+ /** enables or disables the printing of the page name in the
+ header or footer
+ */
+ [optional, property] boolean IsPrintPageName;
+
+ /** enables or disables the printing of the date in the
+ header or footer
+ */
+ [optional, property] boolean IsPrintDate;
+
+ /** enables or disables the printinge of the current time in the
+ header or footer
+ */
+ [optional, property] boolean IsPrintTime;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/ImportFilter.idl b/offapi/com/sun/star/document/ImportFilter.idl
new file mode 100644
index 000000000000..40ca14c1d94b
--- /dev/null
+++ b/offapi/com/sun/star/document/ImportFilter.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * 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_document_ImportFilter_idl__
+#define __com_sun_star_document_ImportFilter_idl__
+
+#ifndef __com_sun_star_document_XImporter_idl__
+#include <com/sun/star/document/XImporter.idl>
+#endif
+
+#ifndef __com_sun_star_document_XFilter_idl__
+#include <com/sun/star/document/XFilter.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNamed_idl__
+#include <com/sun/star/container/XNamed.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** filter for imports
+
+ <p>
+ Such filters can be used for importing a content.
+ Of course it's possible to combine it with the service <type>ExportFilter</type>
+ if export functionality should be available at same implementation too.
+ </p>
+
+ @see ExportFilter
+ */
+published service ImportFilter
+{
+ //-------------------------------------------------------------------------
+ /** set target(!) document for this filter
+
+ <p>
+ The document must be used as the target of the filter.
+ Any external content will be written there.
+ </p>
+ */
+ interface XImporter;
+
+ //-------------------------------------------------------------------------
+ /** filter interface
+
+ <p>
+ It's used to filter a document at loading time.
+ The target document should be already setted by using another interface
+ <member>ImportFilter::XImporter</member> which is supported by this service too.
+ </p>
+
+ <p>
+ Tip:<br>
+ If same implementation provides the service <type>ExportFilter</type> too,
+ code must distinguish between filtering into a target document (for import) or
+ filtering from a source document (for export). This can be recognized by saving
+ state of used interfaces <type>XExporter</type> or <type>XImporter</type>!
+ Otherwise it's not clear which action is required here.
+ </p>
+ */
+ interface XFilter;
+
+ //-------------------------------------------------------------------------
+ /** support initialization of filter with its own configuration
+
+ <p>
+ A filter object must be created by global service <type>FilterFactory</type>.
+ If filter supports this optional interface, he will be initialized by the factory directly
+ after creation. The factory will pass follow informations to this new instance:
+ <ul>
+ <li>first item will be a set of configuration data of the filter</li>
+ <li>after that will follow may given optional parameters of call
+ <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
+ of service <type>FilterFactory</type>.
+ </li>
+ </ul>
+ See description of service <member>FilterFactory::XNameContainer</member> for a description of
+ possible configuration data.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** provides access to the internal name of this filter
+
+ <p>
+ This internal filter name can be used on service <type>FilterFactory</type>
+ to get further informations about it (e.g. his registration for mime types or extensions etc.)
+ It's important that returned string is the "internal name" of the filter which must be
+ unambigous against all other registered filter in current instalation.
+ </p>
+ <p>
+ <strong>Attention!</strong><br>
+ Supported method setName() sould be ignored or forwarded to the FilterFactory.
+ It's not allowed to set it directly to the configuration. Because it depends
+ from real implementation of the FilterFactory if it will be allowed or not!
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/LinkTarget.idl b/offapi/com/sun/star/document/LinkTarget.idl
new file mode 100644
index 000000000000..3c4ba768c6d5
--- /dev/null
+++ b/offapi/com/sun/star/document/LinkTarget.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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_document_LinkTarget_idl__
+#define __com_sun_star_document_LinkTarget_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_document_XLinkTargetSupplier_idl__
+#include <com/sun/star/document/XLinkTargetSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** This service is implemented by objects inside a document object model that
+ can be the target of a link inside a document
+ */
+published service LinkTarget
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ /** a link target may have child objects which can be link targets too.
+ These are accessible by this optinonal interface.
+ */
+ [optional] interface com::sun::star::document::XLinkTargetSupplier;
+
+ //-------------------------------------------------------------------------
+ /** contains a human readable name for this object that could be displayed in a user
+ interface.
+ */
+ [readonly, property] string LinkDisplayName;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/LinkTargets.idl b/offapi/com/sun/star/document/LinkTargets.idl
new file mode 100644
index 000000000000..cd5fb928a6eb
--- /dev/null
+++ b/offapi/com/sun/star/document/LinkTargets.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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_document_LinkTargets_idl__
+#define __com_sun_star_document_LinkTargets_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** This service gives access to a collection of names that are child links
+ of the parent object that supplied this service.
+
+ <p>The <type scope="com::sun::star::container">XNameAccess</type> returns elements
+ of <type scope="com::sun::star::beans">XPropertySet</type> that implement
+ the service <type>LinkTarget</type>. </p>
+ */
+published service LinkTargets
+{
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/LinkUpdateModes.idl b/offapi/com/sun/star/document/LinkUpdateModes.idl
new file mode 100644
index 000000000000..98fbea289092
--- /dev/null
+++ b/offapi/com/sun/star/document/LinkUpdateModes.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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_document_LinkUpdateModes_idl__
+#define __com_sun_star_document_LinkUpdateModes_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+published constants LinkUpdateModes
+{
+ /** never update links
+ */
+ const long NEVER = 0;
+
+ /** update links when confirmed on request during loading the
+ document
+ */
+ const long MANUAL = 1;
+
+ /** automatic update on load
+ */
+ const long AUTO = 2;
+
+ /** use the setting that is configured in your installed
+ application. This may be one of the above behaviours.
+ */
+ const long GLOBAL_SETTING = 3;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/LockFileIgnoreRequest.idl b/offapi/com/sun/star/document/LockFileIgnoreRequest.idl
new file mode 100644
index 000000000000..d13a904ab80b
--- /dev/null
+++ b/offapi/com/sun/star/document/LockFileIgnoreRequest.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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_document_LockFileIgnoreRequest_idl__
+#define __com_sun_star_document_LockFileIgnoreRequest_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** Is used for interaction handle to query user decision regarding storing
+ to a location where no lock file can be created.
+
+ @since OOo 3.0
+*/
+published exception LockFileIgnoreRequest : ::com::sun::star::io::IOException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/LockedDocumentRequest.idl b/offapi/com/sun/star/document/LockedDocumentRequest.idl
new file mode 100644
index 000000000000..23059c9c176c
--- /dev/null
+++ b/offapi/com/sun/star/document/LockedDocumentRequest.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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_document_LockedDocumentRequest_idl__
+#define __com_sun_star_document_LockedDocumentRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** Is used for interaction handle to query user decision regarding locked document.
+
+ @since OOo 3.0
+*/
+published exception LockedDocumentRequest : ::com::sun::star::uno::Exception
+{
+ /** The URL of the locked document.
+ */
+ string DocumentURL;
+
+ /** The user information of the locked document.
+ */
+ string UserInfo;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/LockedOnSavingRequest.idl b/offapi/com/sun/star/document/LockedOnSavingRequest.idl
new file mode 100644
index 000000000000..2dc63260bfad
--- /dev/null
+++ b/offapi/com/sun/star/document/LockedOnSavingRequest.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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_document_LockedOnSavingRequest_idl__
+#define __com_sun_star_document_LockedOnSavingRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** Is used for interaction handle to query user decision regarding locked
+ document on saving.
+
+ @since OOo 3.1
+*/
+published exception LockedOnSavingRequest : ::com::sun::star::uno::Exception
+{
+ /** The URL of the locked document.
+ */
+ string DocumentURL;
+
+ /** The user information of the locked document.
+ */
+ string UserInfo;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/MacroExecMode.idl b/offapi/com/sun/star/document/MacroExecMode.idl
new file mode 100644
index 000000000000..f74511445f61
--- /dev/null
+++ b/offapi/com/sun/star/document/MacroExecMode.idl
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * 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_document_MacroExecMode_idl__
+#define __com_sun_star_document_MacroExecMode_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** Specify whether a macro can be executed.
+
+ @since OOo 1.1.2
+*/
+published constants MacroExecMode
+{
+ //-------------------------------------------------------------------------
+ /** A macro should not be executed at all.
+ */
+
+ const short NEVER_EXECUTE = 0;
+
+ //-------------------------------------------------------------------------
+ /** Execute macros from secure list quietly.
+
+ <p>
+ If a macro is not in the list a conformation for it executing will
+ appear.
+ </p>
+ */
+
+ const short FROM_LIST = 1;
+
+ //-------------------------------------------------------------------------
+ /** Execute any macro, macros signed with trusted sertificates and macros
+ from secure list are executed quietly.
+
+ <p>
+ If the macro is neither in secure list nor signed a conformation
+ will be requested.
+ </p>
+ */
+
+ const short ALWAYS_EXECUTE = 2;
+
+ //-------------------------------------------------------------------------
+ /** Use configuration to retrieve macro settings. In case a user
+ confirmation is required a dialog is output.
+ */
+
+ const short USE_CONFIG = 3;
+
+
+ //-------------------------------------------------------------------------
+ /** A macro should be executed always no conformation should be provided.
+ */
+
+ const short ALWAYS_EXECUTE_NO_WARN = 4;
+
+ //-------------------------------------------------------------------------
+ /** Use configuration to retrieve macro settings. Treat cases when user
+ confirmation required as rejected.
+ */
+
+ const short USE_CONFIG_REJECT_CONFIRMATION = 5;
+
+ //-------------------------------------------------------------------------
+ /** Use configuration to retrieve macro settings. Treat cases when user
+ confirmation required as approved.
+ */
+
+ const short USE_CONFIG_APPROVE_CONFIRMATION = 6;
+
+ //-------------------------------------------------------------------------
+ /** Execute only macros from secure list. Macros that are not from the list
+ are not executed.
+ */
+ const short FROM_LIST_NO_WARN = 7;
+
+ //-------------------------------------------------------------------------
+ /** Execute only macros from secure list or macros that are signed by
+ trusted certificates.
+
+ <p> If the macro is neither in secure list nor signed it will not be
+ executed.
+ </p>
+
+ <p> If the macro is signed with unknown certificate a warning will
+ appear. The macro either will not be executed or if the warning
+ allows conformation, it will be executed after user agrees.
+ </p>
+ */
+ const short FROM_LIST_AND_SIGNED_WARN = 8;
+
+ //-------------------------------------------------------------------------
+ /** Execute only macros from secure list or macros that are signed by
+ trusted certificates. No warning/conformation should be shown.
+ */
+ const short FROM_LIST_AND_SIGNED_NO_WARN = 9;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/MediaDescriptor.idl b/offapi/com/sun/star/document/MediaDescriptor.idl
new file mode 100644
index 000000000000..a0aaed88a929
--- /dev/null
+++ b/offapi/com/sun/star/document/MediaDescriptor.idl
@@ -0,0 +1,640 @@
+/*************************************************************************
+ *
+ * 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_document_MediaDescriptor_idl__
+#define __com_sun_star_document_MediaDescriptor_idl__
+
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_task_XStatusIndicator_idl__
+#include <com/sun/star/task/XStatusIndicator.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** describes properties of a document, regarding the relationship
+ between the loaded document and the resource the document is
+ loaded from / stored to.
+
+ <p>
+ This service may be represented by a
+ <type scope="com::sun::star::beans" dim="[]">PropertyValue</type>.
+ Such descriptors will be passed to different functions, included into possible
+ load/save proccesses. Every member of such process can use this descriptor
+ and may change it if to actualize the informations about the document.
+ So this descriptor should be used as an in/out parameter.
+ </p>
+
+ <p>
+ Note:<br>
+ It's not allowed to hold member of this descriptor by references longer the they
+ will be used (especialy a possible stream). It's allowed to use it directly
+ or by copying it only.
+ </p>
+
+ @see com::sun::star::beans::PropertyValue
+ */
+published service MediaDescriptor
+{
+ //-------------------------------------------------------------------------
+ /** May be set by filters or detection services if user has choosen to
+ abort loading/saving, e.g. while entering a password.
+ */
+ [optional,property] boolean Aborted;
+
+ //-------------------------------------------------------------------------
+ /** document is a template
+
+ <p>
+ Loading a component of type "template" creates a new untitled document
+ by default, but setting the "AsTemplate" property to <FALSE/> loads the
+ template document for editing. Setting "AsTemplate" to <TRUE/> creates a
+ new untitled document out of the loaded document, even if it has not
+ a "template" type.
+ </p>
+ */
+ [optional,property] boolean AsTemplate;
+
+ //-------------------------------------------------------------------------
+ /** the author of the document
+
+ <p>
+ Only for storing versions in components supporting versioning:
+ author of version.
+ </p>
+ */
+ [optional,property] string Author;
+
+ //-------------------------------------------------------------------------
+ /** identifier of used character set
+
+ <p>
+ Defines the character set for document formats that contain single
+ byte characters (if necessary).
+ </p>
+ */
+ [optional,property] string CharacterSet;
+
+ //-------------------------------------------------------------------------
+ /** description of document
+
+ <p>
+ Only for storing versions in components supporting versioning:
+ comment (description) for stored version.
+ </p>
+ */
+ [optional,property] string Comment;
+
+ //-------------------------------------------------------------------------
+ /** pack specific properties of caller
+
+ <p>
+ This is a parameter that can be used for any properties specific
+ 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.NamedValue> with this property.
+ </p>
+ */
+ [optional,property] any ComponentData;
+
+ //-------------------------------------------------------------------------
+ /** The base URL of the document to be used to resolve relative links.
+ */
+ [optional,property] string DocumentBaseURL;
+
+ //-------------------------------------------------------------------------
+ /** document title
+
+ <p>
+ This parameter can be used to specify a title for a document.
+ </p>
+ */
+ [optional,property] string DocumentTitle;
+
+ //-------------------------------------------------------------------------
+ /** encryption information for encryption/decryption of documents
+
+ <p>
+ It contains the necessary information for encryption/decryption of
+ a component (if necessary).
+ If neither password nor encryption data is specified, loading of
+ a password protected document will fail, storing will be done without
+ encryption. If both are provided, the encryption data is used
+ ( if the filter supports it ).
+ </p>
+ <p>
+ The encryption data is generated based on the password.
+ </p>
+ */
+ [optional,property] sequence< ::com::sun::star::beans::NamedValue > EncryptionData;
+
+ //-------------------------------------------------------------------------
+ /** same as <member>MediaDescriptor::URL</member>
+
+ <p>
+ It will be supported for compatibility reasons only.
+ </p>
+
+ @deprecated
+ */
+ [optional,property] string FileName;
+
+ //-------------------------------------------------------------------------
+ /** internal filter name
+
+ <p>
+ Name of a filter that should be used for loading or storing the component.
+ Names must match the names of the <type>TypeDetection</type> configuration,
+ invalid names are ignored. If a name is specified on loading,
+ it still will be verified by a filter detection, but in case of doubt
+ it will be preferred.
+ </p>
+ */
+ [optional,property] string FilterName;
+
+ //-------------------------------------------------------------------------
+ /** same as <member>MediaDescriptor::FilterOptions</member>
+
+ <p>
+ It will be supported for compatibility reasons only.
+ </p>
+
+ @deprecated
+ */
+ [optional,property] string FilterFlags;
+
+ //-------------------------------------------------------------------------
+ /** additional properties for filter
+
+ <p>
+ Some filters need additional parameters; use only together with property
+ <member>MediaDescriptor::FilterName</member>. Details must be documented
+ by the filter. This is an old format for some filters. If a string is not
+ enough, filters can use the property <member>MediaDescriptor::FilterData</member>.
+ </p>
+ */
+ [optional,property] string FilterOptions;
+
+ //-------------------------------------------------------------------------
+ /** additional properties for filter
+
+ <p>
+ This is a parameter that can be used for any properties specific
+ for a special filter type. It should be used if
+ <member>MediaDescriptor::FilterOptions</member> isn't enough.
+ </p>
+ */
+ [optional,property] any FilterData;
+
+ //-------------------------------------------------------------------------
+ /** load document invisible
+
+ <p>
+ Defines if the loaded component is made visible. If this property is not
+ specified, the component is made visible by default.
+ </p>
+ */
+ [optional,property] boolean Hidden;
+
+ //-------------------------------------------------------------------------
+ /** The hierarchical path to the embedded document from topmost container.
+ */
+ [optional,property] string HierarchicalDocumentName;
+
+ //-------------------------------------------------------------------------
+ /** a stream to receive the document data.
+
+ <p>
+ If used when storing a document: writing must be done using this stream.
+ If no stream is provided, the loader will create a stream by itself using
+ the other properties. It is not allowed to keep a reference to this
+ OutputStream after storing the component.
+ </p>
+ */
+ [optional,property] com::sun::star::io::XOutputStream OutputStream;
+
+ //-------------------------------------------------------------------------
+ /** content of document
+
+ <p>
+ If used when loading a document: reading must be done using this stream.
+ If no stream is provided, the loader will create a stream by itself using
+ the other properties. It is not allowed to keep a reference to this
+ InputStream after loading the component, and it would be useless, because
+ in general an InputStream is usable for readong only once, except when it
+ also implements the <type scope="com::sun::star::io">XSeekable</type> interface.
+ </p>
+ */
+ [optional,property] com::sun::star::io::XInputStream InputStream;
+
+ //-------------------------------------------------------------------------
+ /** handle exceptional situations
+
+ <p>
+ Object implementing the <type scope="com::sun::star::task">InteractionHandler</type>
+ service that is used to handle exceptional situations where proceeding with the task
+ is impossible without additional information or impossible at all.
+ The implemented api provides a default implementation for it that can handle many situations.
+ If no InteractionHandler is set, a suitable exception is thrown.
+ It is not allowed to keep a reference to this object, even not in the loaded
+ or stored components' copy of the MediaDescriptor provided by its arguments attribute.
+ </p>
+ */
+ [optional,property] com::sun::star::task::XInteractionHandler InteractionHandler;
+
+ //-------------------------------------------------------------------------
+ /** jump to a marked position after loading
+
+ <p>
+ This is the same as the text behind a '#' in a http URL. But
+ this syntax with a '#' is not specified in most URL schemas.
+ </p>
+ */
+ [optional,property] string JumpMark;
+
+ //-------------------------------------------------------------------------
+ /** specify mime type of content
+
+ <p>
+ Type of the medium to load, that must match to one of the types defined
+ in the <type>TypeDetection</type> configuration (otherwise it's ignored).
+ This bypasses the type detection of the <type scope="com::sun::star::frame">Desktop</type> environment,
+ so passing a wrong MediaType will cause failure of loading.
+ </p>
+ */
+ [optional,property] string MediaType;
+
+ //-------------------------------------------------------------------------
+ /** please use the corresponding parameters of this descriptor instead
+
+ <p>
+ String that summarizes some flags for loading. The string contains capital
+ letters for the flags:<br>
+ <table border=1>
+ <tr>
+ <td><strong>flag</strong></td>
+ <td><strong>value</strong></td>
+ <td><strong>replacement</strong></td>
+ </tr>
+ <tr>
+ <td><em>ReadOnly</em></td>
+ <td>R</td>
+ <td><member>MediaDescriptor::ReadOnly</member></td>
+ </tr>
+ <tr>
+ <td><em>Preview</em></td>
+ <td>B</td>
+ <td><member>MediaDescriptor::Preview</member></td>
+ </tr>
+ <tr>
+ <td><em>AsTemplate</em></td>
+ <td>T</td>
+ <td><member>MediaDescriptor::AsTemplate</member></td>
+ </tr>
+ <tr>
+ <td><em>Hidden</em></td>
+ <td>H</td>
+ <td><member>MediaDescriptor::Hidden</member></td>
+ </tr>
+ </table>
+ </p>
+
+ @deprecated
+ */
+ [optional,property] string OpenFlags;
+
+ //-------------------------------------------------------------------------
+ /** opens a new view for an already loaded document
+
+ <p>
+ Setting this to <TRUE/> forces the component to create a new window on loading
+ in any case. If the component supports multiple views, a second view is
+ opened, if not, the component is loaded one more time. Otherwise the behavior
+ depends on the default window handling of the <type scope="com::sun::star::frame">Desktop</type> environment.
+ </p>
+ */
+ [optional,property] boolean OpenNewView;
+
+
+ //-------------------------------------------------------------------------
+ /** overwrite any existing file
+
+ <p>
+ For storing only: overwrite any existing file, default is <FALSE/>,
+ so an error occurs if the target file already exists.
+ </p>
+ */
+ [optional,property] boolean Overwrite;
+
+ //-------------------------------------------------------------------------
+ /** pasword for loading storing documents
+
+ <p>
+ It contains a password for loading or storing a component (if necessary).
+ If neither password nor encryption data is specified, loading of
+ a password protected document will fail, storing will be done without
+ encryption. If both are provided, the encryption data is used
+ ( if the filter supports it ).
+ </p>
+ */
+ [optional,property] string Password;
+
+ //-------------------------------------------------------------------------
+ /** contains the data for HTTP post method as a sequence of bytes.
+
+ <p>
+ Data to send to a location described by the media descriptor to get
+ a result in return that will be loaded as a component
+ (usually in webforms). Default is: no PostData.
+ </p>
+ */
+ [optional,property] sequence< byte > PostData;
+
+ //-------------------------------------------------------------------------
+ /** use <member>MediaDescriptor::PostData</member> instead of this
+
+ <p>
+ Same as PostData, but the data is transferred as a string
+ (just for compatibility).
+ </p>
+
+ @deprecated
+ */
+ [optional,property] string PostString;
+
+ //-------------------------------------------------------------------------
+ /** show preview
+
+ <p>
+ Setting this to <TRUE/> tells the a loaded component that it is loaded as
+ a preview, so it can optimize loading and viewing for this special purpose.
+ Default is <FALSE/>.
+ </p>
+ */
+ [optional,property] boolean Preview;
+
+ //-------------------------------------------------------------------------
+ /** open document readonly
+
+ <p>
+ Tells whether a document should be loaded in a (logical) readonly or in
+ read/write mode. If opening in the desired mode is impossible, an error occurs.
+ By default the loaded content decides what to do: if its UCB content supports
+ a "readonly" property, the logical open mode depends on that, otherwise
+ it will be read/write. This is only a UI related property, opening a
+ document in read only mode will not prevent the component from being
+ modified by API calls, but all modifying functionality in the UI will
+ be disabled or removed.
+ </p>
+ */
+ [optional,property] boolean ReadOnly;
+
+ //-------------------------------------------------------------------------
+ /** start presentation from a document
+
+ <p>
+ Tells the component loading the document that a presentation that is in the
+ document is to be started right away.
+ </p>
+ */
+ [optional,property] boolean StartPresentation;
+
+ //-------------------------------------------------------------------------
+ /** name of document referrer
+
+ <p>
+ A URL describing the environment of the request; f.e. a referrer may be a
+ URL of a document, if a hyperlink inside this document is clicked to load
+ another document. The referrer may be evaluated by the addressed UCB content
+ or the loaded document. Without a referrer the processing of URLs that
+ needs security checks will be denied, f.e. "macro:" URLs.
+ <br>
+ Don't be confused about the wrong spelling; is kept for compatibility reasons.
+ </p>
+ */
+ [optional,property] string Referer;
+
+ //-------------------------------------------------------------------------
+ /** let the document be opened in repair mode
+
+ <p>
+ For loading of corrupted zip packages: Setting this to <TRUE/> let the document
+ be opened in repair mode, so as much as possible information will be retrieved.
+ </p>
+
+ @since OOo 1.1.2
+ */
+ [optional,property] boolean RepairPackage;
+
+ //-------------------------------------------------------------------------
+ /** can be used for status informations
+
+ <p>
+ Object implementing the <type scope="com::sun::star::task">XStatusIndicator</type>
+ interface that can be used to give status information (text or progress) for the task.
+ The office provides a default implementation for it. It is not allowed to keep
+ a reference to this object, even not in the loaded or stored components'
+ copy of the MediaDescriptor provided by its arguments attribute.
+ </p>
+ */
+ [optional,property] com::sun::star::task::XStatusIndicator StatusIndicator;
+
+ //-------------------------------------------------------------------------
+ /** allows to specify the URL that is used next time SaveAs dialog is opened
+
+ <p>
+ If the parameter is specified, the URL will be used by SaveAs dialog
+ next time as target folder.
+ </p>
+ */
+ [optional,property] string SuggestedSaveAsDir;
+
+ //-------------------------------------------------------------------------
+ /** allows to specify the suggested file name that is used next time SaveAs
+ dialog is opened
+
+ <p>
+ If the parameter is specified, the file name will be suggested by
+ SaveAs dialog next time.
+ </p>
+ */
+ [optional,property] string SuggestedSaveAsName;
+
+ //-------------------------------------------------------------------------
+ /** name of the template instead of the URL
+
+ <p>
+ The logical name of a template to load. Together with the <member>MediaDescriptor::TemplateRegion</member>
+ property it can be used instead of the URL of the template. Use always in conjunction with
+ <member>MediaDescriptor::TemplateRegionName</member>.
+ </p>
+ */
+ [optional,property] string TemplateName;
+
+ //-------------------------------------------------------------------------
+ /** name of the template instead of the URL
+
+ <p>
+ The logical name of a template to load. Together with the <member>MediaDescriptor::TemplateRegion</member>
+ property it can be used instead of the URL of the template. Use always in conjunction with
+ <member>MediaDescriptor::TemplateRegionName</member>.
+ </p>
+ */
+ [optional,property] string TemplateRegionName;
+
+ //-------------------------------------------------------------------------
+ /** regulate using of compressing
+
+ <p>
+ For storing: Setting this to <TRUE/> means, don't use a zip file to save
+ the document, use a folder instead (only usable for UCB contents, that
+ support folders). Default is <FALSE/>.
+ </p>
+ */
+ [optional,property] boolean Unpacked;
+
+ //-------------------------------------------------------------------------
+ /** URL of the document
+
+ <p>
+ The location of the component in URL syntax. It must be the full qualified URL and
+ must include f.e. an optional <member>MediaDescriptor::JumpMark</member> too.
+ </p>
+ */
+ [optional,property] string URL;
+
+ //-------------------------------------------------------------------------
+ /** storage version
+
+ <p>
+ For components supporting versioning: the number of the version to be
+ loaded or saved. Default is zero and means: no version is created or
+ loaded, the "main" document is processed.
+ </p>
+ */
+ [optional,property] short Version;
+
+ //-------------------------------------------------------------------------
+ /** set special view state
+ <p>
+ Data to set a special view state after loading. The type depends on
+ the component and is usually retrieved from a <type scope="com::sun::star::frame">Controller</type>
+ object by its <type scope="com::sun::star::frame">XController</type>
+ interface. Default is: no view data.
+ </p>
+ */
+ [optional,property] any ViewData;
+
+ //-------------------------------------------------------------------------
+ /** id of the initial view
+
+ <p>
+ For components supporting different views: a number to define the view
+ that should be constructed after loading. Default is: zero, and this
+ should be treated by the component as the default view.
+ </p>
+ */
+ [optional,property] short ViewId;
+
+ //-------------------------------------------------------------------------
+ /** should the macro be executed.
+ the value should be one from <type scope="com::sun::star::document">MacroExecMode</type>
+ constant list.
+
+ @since OOo 1.1.2
+ */
+ [optional,property] short MacroExecutionMode;
+
+ //-------------------------------------------------------------------------
+ /** can the document be updated depending from links.
+ the value should be one from <type scope="com::sun::star::document">UpdateDocMode</type>
+ constant list.
+
+ @since OOo 1.1.2
+ */
+ [optional,property] short UpdateDocMode;
+
+ //-------------------------------------------------------------------------
+ /** specifies the name of the view controller to create when loading a document
+
+ <p>If this property is used when loading a document into a frame, then it
+ specifies the name of the view controller to create. That is, the property
+ is passed to the document's <member scope="com::sun::star::frame">XModel2::createViewController</member>
+ method.<br/>
+ If the loaded document does not support the <code>XModel2</code> interface,
+ the property is ignored.</p>
+
+ @see ::com::sun::star::frame::XModel2::createViewController
+ @see ::com::sun::star::frame::XController2::ViewControllerName
+
+ @since OOo 3.0
+ */
+ [optional,property] string ViewControllerName;
+ //-------------------------------------------------------------------------
+
+ /** specifies the frame containing the document. May be empty.
+ */
+ [optional,property] com::sun::star::frame::XFrame Frame;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/NoSuchFilterRequest.idl b/offapi/com/sun/star/document/NoSuchFilterRequest.idl
new file mode 100644
index 000000000000..604143bac339
--- /dev/null
+++ b/offapi/com/sun/star/document/NoSuchFilterRequest.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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_document_NoSuchFilterRequest_idl__
+#define __com_sun_star_document_NoSuchFilterRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** should be used for interaction to handle states of unknown filter during detection
+
+ <p>
+ If during loading time the filter can't be detected and wasn't given at calling time,
+ a possible <type scope="com::sun::star::task">InteractionHandler</type> will be used.
+ (it's a a part of used <type>MediaDescriptor</type>)
+ Such "NoSuchFilterRequest" will be used then to start right interaction on that to
+ get a decision wich filter should be used for given URL. A possible continiuation
+ of type <type>XInteractionFilterSelect</type> will transport this decision back to
+ generic filter detection and force using of it. Of course it's possible to abort
+ the loading process by use another continuation <type scope="com::sun::star::task">XInteractionAbort</type>.
+ </p>
+
+ @see MediaDescriptor
+ @see com::sun::star::task::InteractionHandler
+ @see XInteractionFilterSelect
+ @see com::sun::star::task::XInteractionAbort
+*/
+published exception NoSuchFilterRequest : ::com::sun::star::uno::Exception
+{
+ //-------------------------------------------------------------------------
+ /** transport URL which couldn't be detected
+ */
+ string URL;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl b/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl
new file mode 100644
index 000000000000..afb96812e6f3
--- /dev/null
+++ b/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * 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_document_OOXMLDocumentPropertiesImporter_idl__
+#define __com_sun_star_document_OOXMLDocumentPropertiesImporter_idl__
+
+#ifndef __com_sun_star_document_XOOXMLDocumentPropertiesImporter_idl__
+#include <com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** allows to import document properties from OOXML format
+ */
+service OOXMLDocumentPropertiesImporter : XOOXMLDocumentPropertiesImporter;
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/OfficeDocument.idl b/offapi/com/sun/star/document/OfficeDocument.idl
new file mode 100644
index 000000000000..8467d206ff38
--- /dev/null
+++ b/offapi/com/sun/star/document/OfficeDocument.idl
@@ -0,0 +1,200 @@
+/*************************************************************************
+ *
+ * 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_document_OfficeDocument_idl__
+#define __com_sun_star_document_OfficeDocument_idl__
+
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/util/XModifiable.idl>
+#include <com/sun/star/frame/XStorable.idl>
+#include <com/sun/star/view/XPrintable.idl>
+#include <com/sun/star/view/XPrintJobBroadcaster.idl>
+#include <com/sun/star/document/XEventBroadcaster.idl>
+#include <com/sun/star/document/XEventsSupplier.idl>
+#include <com/sun/star/document/XDocumentInfoSupplier.idl>
+#include <com/sun/star/document/XViewDataSupplier.idl>
+#include <com/sun/star/document/XDocumentEventBroadcaster.idl>
+#include <com/sun/star/document/XEmbeddedScripts.idl>
+#include <com/sun/star/document/XDocumentPropertiesSupplier.idl>
+#include <com/sun/star/document/XUndoManagerSupplier.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** abstract service which specifies a storable and printable document
+
+ <p>
+ All major document-like components should support this service
+ instead of simple components which supports a <type scope="com::sun::star::frame">Controller</type>
+ or pure <type scope="com::sun::star::awt">XWindow</type> only.
+ </p>
+
+ @see com::sun::star::frame::Controller
+ */
+published service OfficeDocument
+{
+ //-------------------------------------------------------------------------
+ /** represents a component which is created from an URL and arguments
+
+ <p>
+ It is a representation of a resource in the sense that it was
+ created/loaded from the resource. The arguments are passed to the loader
+ to modify its behavior.
+ </p>
+ */
+ interface com::sun::star::frame::XModel;
+
+ //-------------------------------------------------------------------------
+ /** a storable document should provide information about his modify state
+
+ <p>
+ With this interface it's possible too, to reset the modify state.
+ That can be neccessary to prevent code against problem during closing
+ of the document without saving any changes.
+ </p>
+ */
+ interface com::sun::star::util::XModifiable;
+
+ //-------------------------------------------------------------------------
+ /** offers a simple way to store a component to an URL
+
+ <p>
+ This interface supports functionality
+ <ul>
+ <li>to make a copy of current component by saving it to another location</li>
+ <li>to commit made changes</li>
+ <li>to convert it by saving it by using suitable filter name.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::frame::XStorable;
+
+ //-------------------------------------------------------------------------
+ /** offers a way to print a component
+
+ <p>
+ It's possible to specify wich printer should be used and of course
+ print the document on it.
+ </p>
+ */
+ interface com::sun::star::view::XPrintable;
+
+ //-------------------------------------------------------------------------
+ /** is an old and deprecated version of the <type>XDocumentEventBroadcaster</type> interface
+ @deprecated
+ */
+ [optional] interface XEventBroadcaster;
+
+ //-------------------------------------------------------------------------
+ /** makes it possible to register listeners which are called whenever
+ a document event occurs
+ */
+ [optional] interface XDocumentEventBroadcaster;
+
+ //-------------------------------------------------------------------------
+ /** access to bound event handlers
+ */
+ [optional] interface XEventsSupplier;
+
+ //-------------------------------------------------------------------------
+ /** document can provide a <type>DocumentInfo</type>
+
+ <p>
+ Instead of the <type>StandaloneDocumentInfo</type> service the <type>DocumentInfo</type>
+ will be available on an already opened document only.
+ </p>
+
+ @deprecated Use <type>XDocumentPropertiesSupplier</type> instead.
+ */
+ [optional] interface XDocumentInfoSupplier;
+
+ //-------------------------------------------------------------------------
+ /** access to some properties describing all open views to a document
+ */
+ [optional] interface XViewDataSupplier;
+
+ //-------------------------------------------------------------------------
+ /** allows for getting information about a print job
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::view::XPrintJobBroadcaster;
+
+ /** is supported when the document can contain scripts and dialogs
+
+ @since OOo 2.4
+ */
+ [optional] interface XEmbeddedScripts;
+
+ //-------------------------------------------------------------------------
+ /** access to the <type>DocumentProperties</type>.
+
+ @since OOo 3.0
+ */
+ [optional] interface XDocumentPropertiesSupplier;
+
+ /** provides access to the document's undo manager.
+ */
+ [optional] interface XUndoManagerSupplier;
+
+ //-------------------------------------------------------------------------
+ /** controls the focus behaviour of the form controls in the document
+
+ <p>
+ If this flag is set to <TRUE/>, any view belonging to the document
+ should focus the first control in the document. With this, you may
+ control if your document works primarily as a form document.
+ </p>
+ */
+ [property, optional] boolean AutomaticControlFocus;
+
+ //-------------------------------------------------------------------------
+ /** controls the initial (on-load) behavior of the form controls in the document
+
+ <p>If set to <TRUE/>, upon loading the document, the form controls will be in design mode.<br/>
+ If set to <FALSE/>, they will be alive, i.e. operational.<br/>
+ With this, you may control if your document works primarily as a form document.
+ </p>
+ */
+ [property, optional] boolean ApplyFormDesignMode;
+
+ //-------------------------------------------------------------------------
+ /** contains a unique id for the document
+
+ <p>Once calculated, the id must not change until the document has been
+ closed. Upon closing it will not be made persistent. Thus, the document
+ may get a different id every time it gets loaded.</p>
+ */
+ [property, optional, readonly] string RuntimeUID;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl b/offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl
new file mode 100644
index 000000000000..b47abb27aeda
--- /dev/null
+++ b/offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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_document_OleEmbeddedServerRegistration_idl__
+#define __com_sun_star_document_OleEmbeddedServerRegistration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** registers embedded server for StarOffice documents
+ <p>
+ This service is only used to register embedded server support
+ for StarOffice documents.
+ </p>
+
+ @since OOo 1.1.2
+ */
+published service OleEmbeddedServerRegistration
+{
+
+ interface com::sun::star::uno::XInterface;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
+
diff --git a/offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl b/offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl
new file mode 100644
index 000000000000..c2448f65ab42
--- /dev/null
+++ b/offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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_document_OwnLockOnDocumentRequest_idl__
+#define __com_sun_star_document_OwnLockOnDocumentRequest_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** Is used for interaction handle to query user decision regarding locked
+ document.
+
+ @since OOo 3.1
+*/
+published exception OwnLockOnDocumentRequest : ::com::sun::star::uno::Exception
+{
+ /** The URL of the locked document.
+ */
+ string DocumentURL;
+
+ /** The time from which the document is locked.
+ */
+ string TimeInfo;
+
+ /** Whether the request is related to storing process
+ */
+ boolean IsStoring;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/PDFDialog.idl b/offapi/com/sun/star/document/PDFDialog.idl
new file mode 100644
index 000000000000..6de6e05497c1
--- /dev/null
+++ b/offapi/com/sun/star/document/PDFDialog.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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_document_PDFDialog_idl__
+#define __com_sun_star_document_PDFDialog_idl__
+
+#ifndef __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__
+#include <com/sun/star/ui/dialogs/FilterOptionsDialog.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** This service is for a PDFDialog
+ */
+service PDFDialog
+{
+ service com::sun::star::ui::dialogs::FilterOptionsDialog;
+
+ //-------------------------------------------------------------------------
+ /** PDFDialog options can be set as sequence of
+ com.sun.star.beans.PropertyValue at the FilterData property of the
+ MediaDescriptor. The PropertyValues which are supported within the
+ sequence are described in the registry at Office.Common/Filter/PDF/Export
+
+ The source of this registry can be found in following file:
+ "officecfg/registry/schema/org/openoffice/Office/Common.xcs"
+ */
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/PrinterIndependentLayout.idl b/offapi/com/sun/star/document/PrinterIndependentLayout.idl
new file mode 100644
index 000000000000..edefba369eb8
--- /dev/null
+++ b/offapi/com/sun/star/document/PrinterIndependentLayout.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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_document_PrinterIndependentLayout_idl__
+#define __com_sun_star_document_PrinterIndependentLayout_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** specifies whether the document printer metric is used.
+
+ @since OOo 1.1.2
+*/
+published constants PrinterIndependentLayout
+{
+ /** use printer-dependent metrics for layout */
+ const short DISABLED = 1;
+
+ /** use printer-independent metrics for layout,
+ assuming a generic 600dpi printer */
+ const short LOW_RESOLUTION = 2;
+
+ /** @deprecated ENABLED changed to LOW_RESOLUTION,
+ to distinguish from HIGH_RESOLUTION */
+ const short ENABLED = LOW_RESOLUTION;
+
+ /** use printer-independent metrics for layout,
+ assuming a generic high-resolution printer (4800dpi) */
+ const short HIGH_RESOLUTION = 3;
+
+ /** [future:] use printer-independent-layout settings from parent object
+ const short LIKE_PARENT = 4;
+ */
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/RedlineDisplayType.idl b/offapi/com/sun/star/document/RedlineDisplayType.idl
new file mode 100644
index 000000000000..991ecc190b9c
--- /dev/null
+++ b/offapi/com/sun/star/document/RedlineDisplayType.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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_document_RedlineDisplayType_idl__
+#define __com_sun_star_document_RedlineDisplayType_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** specifies which changes in a document are displayed.
+ */
+published constants RedlineDisplayType
+{
+ /** no changes are displayed.
+ */
+ const short NONE = 0;
+
+ /** only inserted parts are displayed and attributed.
+ */
+ const short INSERTED = 1;
+
+ /** only inserted parts are displayed and attributed.
+ */
+ const short INSERTED_AND_REMOVED = 2;
+
+ /** only removed parts are displayed and attributed.
+ */
+ const short REMOVED = 3;
+};
+
+};};};};
+#endif
+
+
diff --git a/offapi/com/sun/star/document/Settings.idl b/offapi/com/sun/star/document/Settings.idl
new file mode 100644
index 000000000000..aa55320c773c
--- /dev/null
+++ b/offapi/com/sun/star/document/Settings.idl
@@ -0,0 +1,291 @@
+/*************************************************************************
+ *
+ * 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_document_Settings_idl__
+#define __com_sun_star_document_Settings_idl__
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+#ifndef __com_sun_star_i18n_XForbiddenCharacters_idl__
+#include <com/sun/star/i18n/XForbiddenCharacters.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** describes properties that apply to the whole document of any
+ application.
+
+ <p>For application specific settings, please refer to the
+ individual services.</p>
+
+ @see com::sun::star::text::DocumentSettings
+ @see com::sun::star::sheet::DocumentSettings
+ @see com::sun::star::drawing::DocumentSettings
+ @see com::sun::star::presentation::DocumentSettings
+ */
+published service Settings
+{
+ /** gives access to the properties implemented by this service.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ //-------------------------------------------------------------------------
+
+ // Note: These settings are global. However there is a note at
+ // every property that shows which application currently makes use
+ // of it.
+
+ // Writer and Draw/Impress and Calc
+ //-------------------------------------------------------------------------
+ /** gives access to the set of forbidden characters.
+
+ @return the
+ <type scope="com::sun::star::i18n">XForbiddenCharacters</type>
+ interface to allow retreival and modification of the
+ forbidden characters set.
+ */
+ [optional, property] com::sun::star::i18n::XForbiddenCharacters ForbiddenCharacters;
+
+ // Writer and Calc
+ //-------------------------------------------------------------------------
+ /** specifies the update mode for links when loading text documents.
+
+ <p>For supported values see the constants group
+ <type>LinkUpdateModes</type>.</p>
+ */
+ [optional, property] short LinkUpdateMode;
+
+ // Writer and Draw/Impress and Calc
+ //-------------------------------------------------------------------------
+ /** printer used by the document.
+ */
+ [property] string PrinterName;
+
+ // Writer and Draw/Impress and Calc
+ //-------------------------------------------------------------------------
+ /** platform and driver dependent printer setup data.
+
+ <p>This property serves to capture the current printer setup
+ settings, such as paper tray, printer options, etc. The data
+ can typically be interpreted only by the system that generated
+ it. The PrinterSetup property may be used to save and restore
+ the user's printer settings.</p>
+ */
+ [property] sequence< byte > PrinterSetup;
+
+ // Writer and Draw/Impress and Calc
+ //-------------------------------------------------------------------------
+ /** specifies if kerning is applied to Asian punctuation.
+
+ <p>Applies only if kerning is enabled.</p>
+ */
+ [optional, property] boolean IsKernAsianPunctuation;
+
+ // Writer and Draw/Impress and Calc
+ //-------------------------------------------------------------------------
+ /** specifies the compression (character spacing) type used for
+ Asian characters.
+
+ @see com::sun::star::text::CharacterCompressionType
+ */
+ [optional, property] short CharacterCompressionType;
+
+ // Writer and Draw/Impress and Calc
+ //-------------------------------------------------------------------------
+ /** specifies if the user-specific settings saved within a
+ document should be loaded with the document.
+ */
+ [optional, property] boolean ApplyUserData;
+
+ // Writer and Calc
+ //-------------------------------------------------------------------------
+ /** specifies if a new version is created if a document has
+ been modified and you want to close it.
+ */
+ [optional, property] boolean SaveVersionOnClose;
+
+ // Writer and Draw/Impress and Calc
+ //-------------------------------------------------------------------------
+ /** specifies if the document should be updated when the
+ template it was created from changes.
+
+ <p>Applies only for documents that were created from a template.</p>
+ */
+ [optional, property] boolean UpdateFromTemplate;
+
+ // Writer
+ //-------------------------------------------------------------------------
+ /** specifies if fields in text documents are updated automatically.
+ */
+ [optional, property] boolean FieldAutoUpdate;
+
+ // Writer
+ //-------------------------------------------------------------------------
+ /** The name of the globally registered
+ <type scope="com::sun::star::sdb">DataSource</type>
+ from which the current data is taken.
+
+ <p>The data source can e.g. be used for feeding a form
+ letter.</p>
+ */
+ [optional, property] string CurrentDatabaseDataSource;
+
+ // Writer
+ //-------------------------------------------------------------------------
+ /** a string value, specifying the name of the object displayed
+ currently (or the SQL statement used).
+ */
+ [optional, property] string CurrentDatabaseCommand;
+
+ // Writer
+ //-------------------------------------------------------------------------
+ // Note: What is the property DataTableName? Is this Writer-specific?
+ /** determines the interpretation of the property DataTableName.
+
+ @see com::sun::star::sdb::CommandType
+ */
+ [optional, property] long CurrentDatabaseCommandType;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ /**
+ */
+ [optional, property] long DefaultTabStop;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ /** determines if the document will be printed as a booklet
+ (brochure), i.e., two document pages are put together on one
+ physical page, such that you can fold the print result and get
+ a booklet.
+
+ <p>Note, that you have to print in duplex mode, if both,
+ <member>IsPrintBookletFront</member> and
+ <member>IsPrintBookletBack</member> are set to <TRUE/>.</p>
+ */
+ [optional, property] boolean IsPrintBooklet;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ /** is only effective, if <member>IsPrintBooklet</member> is
+ <TRUE/>. If this property is also <TRUE/>, only the fronts of
+ the pages of your booklet are printed.
+
+ <p>This is especially useful, if your printer does not supply
+ duplex printing.</p>
+ */
+ [optional, property] boolean IsPrintBookletFront;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ /** is only effective, if <member>IsPrintBooklet</member> is
+ <TRUE/>. If this property is also <TRUE/>, only the backs of
+ the pages of your booklet are printed.
+
+ <p>This is especially useful, if your printer does not supply
+ duplex printing.</p>
+ */
+ [optional, property] boolean IsPrintBookletBack;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ // Note: Define a constant group for that?
+ /**
+ */
+ [optional, property] long PrintQuality;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ /** contains the URL that points to a color table (file extension
+ .soc) that will be used for showing a palette in dialogs using
+ colors.
+ */
+ [optional, property] string ColorTableURL;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ /**
+ */
+ [optional, property] string DashTableURL;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ /**
+ */
+ [optional, property] string LineEndTableURL;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ /**
+ */
+ [optional, property] string HatchTableURL;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ /**
+ */
+ [optional, property] string GradientTableURL;
+
+ // Draw and Impress
+ //-------------------------------------------------------------------------
+ /**
+ */
+ [optional, property] string BitmapTableURL;
+
+ // Calc
+ //-------------------------------------------------------------------------
+ /**
+ */
+ [optional, property] boolean AutoCalculate;
+
+ // Writer, later others
+ //-------------------------------------------------------------------------
+ /** forbid use of printer metrics for layout
+
+ <p>For supported values see the constants group
+ <type>PrinterIndependentLayout</type>.</p>
+ */
+ [optional, property] short PrinterIndependentLayout;
+
+ // Writer, maybe later other applications, too
+ //-------------------------------------------------------------------------
+ /** layout engine should add value of a Font's 'external leading'
+ * attribute to the line spacing.
+ */
+ [optional, property] boolean AddExternalLeading;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/StandaloneDocumentInfo.idl b/offapi/com/sun/star/document/StandaloneDocumentInfo.idl
new file mode 100644
index 000000000000..a10515c7568b
--- /dev/null
+++ b/offapi/com/sun/star/document/StandaloneDocumentInfo.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * 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_document_StandaloneDocumentInfo_idl__
+#define __com_sun_star_document_StandaloneDocumentInfo_idl__
+
+#ifndef __com_sun_star_document_DocumentInfo_idl__
+#include <com/sun/star/document/DocumentInfo.idl>
+#endif
+
+#ifndef __com_sun_star_document_XStandaloneDocumentInfo_idl__
+#include <com/sun/star/document/XStandaloneDocumentInfo.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module document {
+
+//=============================================================================
+/** extends the service <type>DocumentInfo</type> to have access on such
+ document properties without loading the whole document
+
+ <p>
+ First action on this service must be to specify which document should be handled.
+ Otherwise all supported properties of <type>DocumentInfo</type> will be set to
+ void values. Loading of a document doesn't mean - loading all. It means reading
+ of special part only, which includes searched information. Same procedure for saving
+ of may changed values back to the document.
+ </p>
+
+ @deprecated Use <type>DocumentProperties</type> instead.
+
+ @see DocumentInfo
+ */
+published service StandaloneDocumentInfo
+{
+ //-------------------------------------------------------------------------
+ /** use it to specify ressource or target of document info data
+
+ <p>
+ Must be the first action on this service. Otherwise all properties will be void.
+ </p>
+ */
+ interface XStandaloneDocumentInfo;
+
+ //-------------------------------------------------------------------------
+ /** access to document info data
+ */
+ service DocumentInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/TypeDetection.idl b/offapi/com/sun/star/document/TypeDetection.idl
new file mode 100644
index 000000000000..eb754e62a12e
--- /dev/null
+++ b/offapi/com/sun/star/document/TypeDetection.idl
@@ -0,0 +1,198 @@
+/*************************************************************************
+ *
+ * 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_document_TypeDetection_idl__
+#define __com_sun_star_document_TypeDetection_idl__
+
+#ifndef __com_sun_star_document_XTypeDetection_idl__
+#include <com/sun/star/document/XTypeDetection.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerQuery_idl__
+#include <com/sun/star/container/XContainerQuery.idl>
+#endif
+
+#ifndef __com_sun_star_util_XFlushable_idl__
+#include <com/sun/star/util/XFlushable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** capsulate a type detection service and provide read/write access on it's configuration data.
+
+ <p>
+ It's possible to make a "flat" detection wich may use internal configuration
+ data only - or a "deep" detection which use special <type>ExtendedTypeDetection</type>
+ services to look into the document stream. Last mode can be supressed to perform the operation.
+ Of course the results can't be guaranteed then. (e.g. in case the extension was changed)
+ </p>
+ */
+published service TypeDetection
+{
+ //-------------------------------------------------------------------------
+ /** can be used to make a flat or deep type detection.
+
+ <p>
+ Use this interface to get information about the type of the given resource.
+ Return value will be always an internal name of a registered document type.
+ It can be used may on other services (e.g. <type scope="com::sun::star::frame">FrameLoaderFactory</type>)
+ to do further things, which base on it (e.g. to load it into a frame).
+ </p>
+ */
+ interface XTypeDetection;
+
+ //-------------------------------------------------------------------------
+ /** provides read access to the complete set of type configuration data.
+
+ <p>
+ Every container item is specified as a set of properties and will be
+ represented by a sequence< <type scope="com::sun::star::beans">PropertyValue</type> > structure.
+ Follow properties are supported:
+ (But note: not all of them must be present everytimes!)
+
+ <table border=1>
+ <tr>
+ <td><strong>Property Name</strong></td>
+ <td><strong>Value Type</strong></td>
+ <td><strong>Description</strong></td>
+ </tr>
+ <tr>
+ <td><em>Name</em></td>
+ <td>[string]</td>
+ <td>The internal name is the only value, which makes a container item unique.</td>
+ </tr>
+ <tr>
+ <td><em>UIName</em></td>
+ <td>[string]</td>
+ <td>It contains the localized name for this type for the current locale.</td>
+ </tr>
+ <tr>
+ <td><em>UINames</em></td>
+ <td>[sequence< string >]</td>
+ <td>It contains all available localized names for this type. The are organized
+ in pairs and represented as a structure of sequence< <type scope="com::sun::star::beans">PropertyValue</type> >.
+ The name of such property must be interpreted as locale; it's value as the localized
+ type name corresponding to this locale.</td>
+ </tr>
+ <tr>
+ <td><em>MediaType</em></td>
+ <td>[string]</td>
+ <td>It contains the MIME or content type descriptor. The differences between a MIME type and
+ an internal type name was made, to resolve existing ambigities.</td>
+ </tr>
+ <tr>
+ <td><em>ClipboardFormat</em><strong>deprecated!</strong></td>
+ <td>[string]</td>
+ <td>It was interepreted as an identifier inside clipboard.
+ Please use new property ContentFormat instead of this now.</td>
+ </tr>
+ <tr>
+ <td><em>ContentFormat</em></td>
+ <td>[string]</td>
+ <td>It's and identifier, which is used for a deep format detection.
+ An <type>ExtendedTypeDetection</type> use this value to match
+ a given content to this type. e.g. It's interpreted as the doc type
+ of an XML stream or as an identifier inside a file header.
+ </td>
+ </tr>
+ <tr>
+ <td><em>URLPattern</em></td>
+ <td>[sequence< string >]</td>
+ <td>This list contains different URL patterns, which identify this type.
+ E.g. data base contents can be described by an new defined protocol like "sql://select*".
+ In combination with a sutable <type scope="com::sun::star::frame">FrameLoader</type> or
+ <type>ImportFilter</type>/<type>ExportFilter</type> it woul be possible then, to
+ layout a sql query output into an office frame.</td>
+ </tr>
+ <tr>
+ <td><em>Extensions</em></td>
+ <td>[sequence< string >]</td>
+ <td>It contains a list of file extensions, which match this type.
+ They must be specified as pure extension, without any special signs.
+ E.g.: "doc", "html" ... but not ".doc".
+ Using of wildcards is allowed but not very usefull. The may resulting
+ ambigities with other type registrations can't be resolved anytimes.</td>
+ </tr>
+ <tr>
+ <td><em>DocumentIconID</em></td>
+ <td>[integer]</td>
+ <td>It's an ID, which present the number of a corresponding icon.</td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ Note:<br>
+ All elements of this container will be adressed by his internal name,
+ and it must be an unambigous value.
+ </p>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ //-------------------------------------------------------------------------
+ /** provides a write access to the configuration data.
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+
+ //-------------------------------------------------------------------------
+ /** provides search on the configuration data set.
+
+ <p>
+ Against simple property search it provides some complex algorithms too.
+ For further informations please read the SDK documentation.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XContainerQuery;
+
+ //-------------------------------------------------------------------------
+ /** can be used to perform container changes.
+
+ <p>
+ Because the complexness of such configuration set can be very high,
+ it seams not very usefull to update the undelying configuration layer
+ on every container change request immediatly. Another strategy can be to
+ make all changes (adding/changing/removing of items) and call flush at the end.
+ That will validate the whole container and reject inconsistent data sets.
+ Only in case all made changes was correct, they will be written back to the
+ configuration. Further this interface provides the possibelity, that interested
+ changes listener can be registered too.
+ </p>
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/UndoContextNotClosedException.idl b/offapi/com/sun/star/document/UndoContextNotClosedException.idl
new file mode 100755
index 000000000000..81eeca83c7ac
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoContextNotClosedException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ * 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_document_UndoContextNotClosedException_idl__
+#define __com_sun_star_document_UndoContextNotClosedException_idl__
+
+#include <com/sun/star/util/InvalidStateException.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** is thrown when an operation is attempted at an <type>XUndoManager</type> which requires all undo
+ contexts to be closed, but this requirement is not fullfilled.
+ */
+published exception UndoContextNotClosedException : ::com::sun::star::util::InvalidStateException
+{
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/UndoFailedException.idl b/offapi/com/sun/star/document/UndoFailedException.idl
new file mode 100755
index 000000000000..65b23148ad37
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoFailedException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ * 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_document_UndoFailedException_idl__
+#define __com_sun_star_document_UndoFailedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** thrown when reverting to re-applying an undoable action fails.
+
+ @see XUndoAction::undo
+ @see XUndoManager::undo
+ */
+published exception UndoFailedException : ::com::sun::star::uno::Exception
+{
+ /** describes the reason why the operation failed. Usually, this member will carry an exception.
+ */
+ any Reason;
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/UndoManagerEvent.idl b/offapi/com/sun/star/document/UndoManagerEvent.idl
new file mode 100755
index 000000000000..163b9c6dd33d
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoManagerEvent.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ * 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_document_UndoManagerEvent_idl__
+#define __com_sun_star_document_UndoManagerEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** is an event sent by an <type>XUndoManager</type> implementation when the Undo/Redo stacks of the manager are
+ modified.
+ @see XUndoManager
+ @see XUndoManagerListener
+ @see XUndoAction
+ */
+published struct UndoManagerEvent : ::com::sun::star::lang::EventObject
+{
+ /** the title of the undo action which is described by the event
+ @see XUndoAction::Title
+ */
+ string UndoActionTitle;
+
+ /** denotes the number of Undo contexts which are open, and not yet closed, at the time the event is fired.
+ @see XUndoManager::enterUndoContext
+ */
+ long UndoContextDepth;
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/UpdateDocMode.idl b/offapi/com/sun/star/document/UpdateDocMode.idl
new file mode 100644
index 000000000000..52e8a37cb011
--- /dev/null
+++ b/offapi/com/sun/star/document/UpdateDocMode.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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_document_UpdateDocMode_idl__
+#define __com_sun_star_document_UpdateDocMode_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** Specify the way a document can be updated.
+
+ @since OOo 1.1.2
+*/
+published constants UpdateDocMode
+{
+ //-------------------------------------------------------------------------
+ /** Do not update document.
+ */
+
+ const short NO_UPDATE = 0;
+
+ //-------------------------------------------------------------------------
+ /** Update document if it does not require a dialog.
+ Otherwise do not update. For example a link to a database
+ can require a dialog to get password for an update.
+ */
+
+ const short QUIET_UPDATE = 1;
+
+ //-------------------------------------------------------------------------
+ /** Produce update according to configuration settings.
+ If there are no settings use dialog.
+ */
+
+ const short ACCORDING_TO_CONFIG = 2;
+
+ //-------------------------------------------------------------------------
+ /** Update document even if it does require a dialog.
+ */
+
+ const short FULL_UPDATE = 3;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XActionLockable.idl b/offapi/com/sun/star/document/XActionLockable.idl
new file mode 100644
index 000000000000..62add1717cd8
--- /dev/null
+++ b/offapi/com/sun/star/document/XActionLockable.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * 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_document_XActionLockable_idl__
+#define __com_sun_star_document_XActionLockable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** makes it possible to prevent object internal updates for a certain period
+ to be able to quickly change multiple parts of the objects, where the
+ updates would invalidate each other, anyway.
+ */
+published interface XActionLockable: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @returns
+ <TRUE/> if at least one lock exists.
+ */
+ boolean isActionLocked();
+
+ //-------------------------------------------------------------------------
+ /** increments the lock count of the object by one.
+ */
+ void addActionLock();
+
+ //-------------------------------------------------------------------------
+ /** decrements the lock count of the object by one.
+ */
+ void removeActionLock();
+
+ //-------------------------------------------------------------------------
+ /** sets the locking level.
+
+ <p>This method is used for debugging purposes. The programming
+ environment can restore the locking after a break of a debug
+ session.</p>
+ */
+ void setActionLocks( [in] short nLock );
+
+ //-------------------------------------------------------------------------
+ /** resets the locking level.
+
+ <p>This method is used for debugging purposes. The debugging
+ environment of a programming language can reset the locks
+ to allow refreshing of the view if a breakpoint is reached or
+ step execution is used. </p>
+ */
+ short resetActionLocks();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XBinaryStreamResolver.idl b/offapi/com/sun/star/document/XBinaryStreamResolver.idl
new file mode 100644
index 000000000000..0f38a6d85606
--- /dev/null
+++ b/offapi/com/sun/star/document/XBinaryStreamResolver.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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_document_XBinaryStreamResolver_idl__
+#define __com_sun_star_document_XBinaryStreamResolver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_io_XInputStream_idl__
+#include <com/sun/star/io/XInputStream.idl>
+#endif
+#ifndef __com_sun_star_io_XOututStream_idl__
+#include <com/sun/star/io/XOutputStream.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/**
+ <p>This interface encapsulates functionality to get/resolve binary data streams.
+ It is used to transform binary data to an url or to transform an url to binary
+ data. The binary data is represented through input and output streams.</p>
+
+ <p>In the case of transforming an url to binary data, the <code>getInputStream</code>
+ method is used. This returns a <type scope="com::sun::star::io">XInputStream</type>
+ from which the binary data, transformed from the given url, can be read.</p>
+
+ <p>In the case of transforming binary data to an url, a
+ <type scope="com::sun::star::io">XOutputStream</type> is created first to write
+ the binary data to. After this, the <code>resolveOutputStream</code> method can
+ be used to transform the binary data, represented through the
+ <type scope="com::sun::star::io">XOutputStream</type> interface, to an url.</p>
+ */
+published interface XBinaryStreamResolver: com::sun::star::uno::XInterface
+{
+ /** converts the given URL from the source URL namespace to an input stream,
+ from which binary data can be read
+ */
+ com::sun::star::io::XInputStream getInputStream( [in] string aURL );
+
+ /** creates an output stream, to which binary data can be written.
+ After writing, an URL can be retrieved by a call to
+ <method>XBinaryStreamResolver::resolveOutputStream</method>.
+ */
+ com::sun::star::io::XOutputStream createOutputStream();
+
+ /** converts the output stream, data has been written to, to an URL in
+ source URL namespace.
+ */
+ string resolveOutputStream( [in] com::sun::star::io::XOutputStream aBinaryStream );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XCodeNameQuery.idl b/offapi/com/sun/star/document/XCodeNameQuery.idl
new file mode 100755
index 000000000000..948c86debf3a
--- /dev/null
+++ b/offapi/com/sun/star/document/XCodeNameQuery.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDocumentPropertiesSupplier.idl,v $
+ *
+ * $Revision$
+ *
+ * last change: $Author$ $Date$
+ *
+ * The Contents of this file are made available subject to
+ * the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2005 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_document_XCodeNameQuery_idl__
+#define __com_sun_star_document_XCodeNameQuery_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+//=============================================================================
+interface XCodeNameQuery
+{
+ //-------------------------------------------------------------------------
+ string getCodeNameForObject( [in] com::sun::star::uno::XInterface aObj );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl b/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl
new file mode 100644
index 000000000000..7274083fcf1e
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl
@@ -0,0 +1,125 @@
+/*************************************************************************
+ * 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_document_XDocumentEventBroadcaster_idl__
+#define __com_sun_star_document_XDocumentEventBroadcaster_idl__
+
+#ifndef __com_sun_star_frame_XController2_idl__
+#include <com/sun/star/frame/XController2.idl>
+#endif
+
+#ifndef __com_sun_star_document_DocumentEvent_idl__
+#include <com/sun/star/document/DocumentEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+published interface XDocumentEventListener;
+
+//=============================================================================
+
+/** allows to be notified of events happening in an <type>OfficeDocument</type>, and to cause notification
+ of such events.
+
+ <p>This interface is the successor of the XEventBroadcaster interface, which should not be used
+ anymore.</p>
+
+ @see DocumentEvent
+ @since OOo 3.1
+*/
+published interface XDocumentEventBroadcaster
+{
+ /** registers a listener which is notified about document events
+
+ @param _Listener
+ the listener to register. The behaviour of the method is undefined this listener
+ is <NULL/>.
+ */
+ void addDocumentEventListener( [in] XDocumentEventListener _Listener );
+
+ /** revokes a listener which has previously been registered to be notified about document events.
+
+ @param _Listener
+ the listener to revoke. The behaviour of the method is undefined this listener
+ is <NULL/>.
+ */
+ void removeDocumentEventListener( [in] XDocumentEventListener _Listener );
+
+ /** causes the broadcaster to notify all registered listeners of the given event
+
+ <p>The method will create a <type>DocumentEvent</type> instance with the given parameters,
+ and fill in the <code>Source</code> member (denoting the broadcaster) as appropriate.</p>
+
+ <p>Whether the actual notification happens synchronously or asynchronously is up to the
+ implementator of this method. However, implementations are encouraged to specify this, for the
+ list of supported event types, in their service contract.</p>
+
+ <p>Implementations might also decide to limit the list of allowed events (means event names) at
+ their own discretion. Again, in this case they're encouraged to document this in their service
+ contract.</p>
+
+ @param _EventName
+ the name of the event to be notified.
+ @param _ViewController
+ the view/controller which the event applies to. May be <NULL/>
+ @param _Supplement
+ supplemental information related to the event.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if <arg>_EventName</arg> is empty, or if <arg>_EventName</arg> is not supported by the
+ document implementation.
+
+ @throws ::com::sun::star::lang::NoSupportException
+ if the broadcaster implementation does not supported broadcasting events induced externally.
+ This is usually used for components which multiplex events from multiple sources, and thus would
+ be unable to fill in the <code>Source</code> member of the <type>DocumentEvent</type> instance.
+ */
+ void notifyDocumentEvent(
+ [in] string _EventName,
+ [in] ::com::sun::star::frame::XController2 _ViewController,
+ [in] any _Supplement
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::NoSupportException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentEventListener.idl b/offapi/com/sun/star/document/XDocumentEventListener.idl
new file mode 100644
index 000000000000..94548e52b578
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentEventListener.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ * 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_document_XDocumentEventListener_idl__
+#define __com_sun_star_document_XDocumentEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_document_DocumentEvent_idl__
+#include <com/sun/star/document/DocumentEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** allows to be notified of events happening in an <type>OfficeDocument</type>
+
+ <p>This interface is the successor of the XEventListener interface, which should not be used
+ anymore.</p>
+
+ @see XDocumentEventBroadcaster
+ @since OOo 3.1
+ */
+published interface XDocumentEventListener : ::com::sun::star::lang::XEventListener
+{
+ /** is called whenever a document event occured
+ */
+ void documentEventOccured( [in] DocumentEvent Event );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentInfo.idl b/offapi/com/sun/star/document/XDocumentInfo.idl
new file mode 100644
index 000000000000..ea67495f44b9
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentInfo.idl
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * 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_document_XDocumentInfo_idl__
+#define __com_sun_star_document_XDocumentInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_ArrayIndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/ArrayIndexOutOfBoundsException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** provides access to the user fields for the information regarding the
+ document
+
+ <p>
+ These fields are special one of the set of available document properties.
+ Other ones are accessed as properties (by using the interface
+ <type scope="com::sun::star::beans">XPropertySet</type>) of service
+ <type>DocumentInfo</type>.
+ </p>
+
+ @deprecated Use <type>XDocumentProperties</type> instead.
+
+ @see DocumentInfo
+ @see StandaloneDocumentInfo
+ @see com::sun::star::beans::XPropertySet
+ */
+published interface XDocumentInfo: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** provides information about count of available fields
+
+ <p>
+ This count marks the top range of possible requests for get/set
+ any of these fields. Range = [0..count-1]
+ </p>
+
+ @returns
+ current count
+ */
+ short getUserFieldCount();
+
+ //-------------------------------------------------------------------------
+ /** returns the name of an user field
+
+ @param Index
+ specifies the position of requested field
+ Range = [0..count-1]
+
+ @returns
+ the name of the requested field
+
+ @throws com::sun::star::lang::ArrayIndexOutOfBoundsException
+ if <var>Index</var> don't fit range of [0..count-1]
+ */
+ string getUserFieldName( [in] short Index )
+ raises( com::sun::star::lang::ArrayIndexOutOfBoundsException );
+
+ //-------------------------------------------------------------------------
+ /** returns the value of an user field
+
+ @param Index
+ specifies the position of requested field
+ Range = [0..count-1]
+
+ @returns
+ the value of the requested field
+
+ @throws com::sun::star::lang::ArrayIndexOutOfBoundsException
+ if <var>Index</var> don't fit range of [0..count-1]
+ */
+ string getUserFieldValue( [in] short Index )
+ raises( com::sun::star::lang::ArrayIndexOutOfBoundsException );
+
+ //-------------------------------------------------------------------------
+ /** changes the name of one of the user fields
+
+ @param Index
+ specifies the position of requested field
+ Range = [0..count-1]
+
+ @param Name
+ the new name for this field to be set
+
+ @throws com::sun::star::lang::ArrayIndexOutOfBoundsException
+ if <var>Index</var> don't fit range of [0..count-1]
+ */
+ void setUserFieldName(
+ [in] short Index ,
+ [in] string Name )
+ raises( com::sun::star::lang::ArrayIndexOutOfBoundsException );
+
+ //-------------------------------------------------------------------------
+ /** changes the value of one of the user fields
+
+ @param Index
+ specifies the position of requested field
+ Range = [0..count-1]
+
+ @param Value
+ the new value for this field to be set
+
+ @throws com::sun::star::lang::ArrayIndexOutOfBoundsException
+ if <var>Index</var> don't fit range of [0..count-1]
+ */
+ void setUserFieldValue(
+ [in] short Index ,
+ [in] string Value )
+ raises( com::sun::star::lang::ArrayIndexOutOfBoundsException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentInfoSupplier.idl b/offapi/com/sun/star/document/XDocumentInfoSupplier.idl
new file mode 100644
index 000000000000..ceb17d1bcc5b
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentInfoSupplier.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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_document_XDocumentInfoSupplier_idl__
+#define __com_sun_star_document_XDocumentInfoSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_document_XDocumentInfo_idl__
+#include <com/sun/star/document/XDocumentInfo.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** through this interface documents can provide a <type>DocumentInfo</type>
+
+ <p>
+ A <type>DocumentInfo</type> is available on already opened documents only
+ and must be provides by this supplier interface.
+ Instead of that you can use the service <type>StandaloneDocumentInfo</type>
+ to have access to such informations without opening the whole file.
+ It read/write parts of the document, which include the required informations,
+ only.
+ </p>
+
+ @deprecated Use <type>XDocumentPropertiesSupplier</type> instead.
+
+ @see DocumentInfo
+ @see StandaloneDocumentInfo
+ */
+published interface XDocumentInfoSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** provides the document information object
+
+ @returns
+ an object of type <type>DocumentInfo</type>
+ */
+ XDocumentInfo getDocumentInfo();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentInsertable.idl b/offapi/com/sun/star/document/XDocumentInsertable.idl
new file mode 100644
index 000000000000..60208ee05014
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentInsertable.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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_document_XDocumentInsertable_idl__
+#define __com_sun_star_document_XDocumentInsertable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** makes it possible to import a document from a given URL
+ into this document.
+ */
+published interface XDocumentInsertable: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** inserts the document that is specified by the URL.
+ */
+ void insertDocumentFromURL( [in] string aURL,
+ [in] sequence<com::sun::star::beans::PropertyValue> aOptions )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::io::IOException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentLanguages.idl b/offapi/com/sun/star/document/XDocumentLanguages.idl
new file mode 100644
index 000000000000..c6f17125d050
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentLanguages.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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_document_XDocumentLanguages_idl__
+#define __com_sun_star_document_XDocumentLanguages_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+interface XDocumentLanguages: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** retrieve the list of languages already used in current document
+
+ @returns
+ sequence
+ */
+ sequence< com::sun::star::lang::Locale > getDocumentLanguages( [in] short nScriptTypes, [in] short nCount )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentProperties.idl b/offapi/com/sun/star/document/XDocumentProperties.idl
new file mode 100755
index 000000000000..8a3b2c1843aa
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentProperties.idl
@@ -0,0 +1,460 @@
+/*************************************************************************
+ *
+ * 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_document_XDocumentProperties_idl__
+#define __com_sun_star_document_XDocumentProperties_idl__
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_util_DateTime_idl__
+#include <com/sun/star/util/DateTime.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_io_WrongFormatException_idl__
+#include <com/sun/star/io/WrongFormatException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** provides document-specific information such as the author, creation date,
+ and user-defined fields.
+
+ <p>
+ This interface manages access to document meta-data properties.
+ Such properties may be set from the outside via the setter methods
+ (e.g. when importing arbitrary document formats that support
+ document properties), or imported from an ODF package via the methods
+ <member>loadFromStorage</member> and <member>loadFromMedium</member>.
+ The properties may also be stored via the methods
+ <member>storeToStorage</member> and <member>storeToMedium</member>.
+ </p>
+
+ @since OOo 3.0
+
+ @see XDocumentPropertiesSupplier
+ for getting access to an instance from a loaded document
+ @see DocumentProperties for a service that implements this interface
+ */
+published interface XDocumentProperties
+{
+ //-------------------------------------------------------------------------
+ /** contains the initial author of the document.
+ */
+
+ [attribute] string Author;
+
+ //-------------------------------------------------------------------------
+ /** identifies which application was used to create or last modify the
+ document.
+ <p>
+ The generating application will set this attribute when it creates a
+ new document or it saves a document. When a document is loaded that
+ itself contains such an attribute it will be preserved until the
+ document is saved again.
+ </p>
+ */
+
+ [attribute] string Generator;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time when the document was created.
+ */
+
+ [attribute] com::sun::star::util::DateTime CreationDate;
+
+ //-------------------------------------------------------------------------
+ /** contains the title of the document.
+ */
+
+ [attribute] string Title;
+
+ //-------------------------------------------------------------------------
+ /** contains the subject of the document.
+ */
+
+ [attribute] string Subject;
+
+ //-------------------------------------------------------------------------
+ /** contains a multi-line comment describing the document.
+ <p>
+ Line delimiters can be UNIX, Macintosh or DOS style.
+ </p>
+ */
+
+ [attribute] string Description;
+
+ //-------------------------------------------------------------------------
+ /** contains a list of keywords for the document.
+ */
+
+ [attribute] sequence< string > Keywords;
+
+ //-------------------------------------------------------------------------
+ /** contains the default language of the document.
+ */
+
+ [attribute] com::sun::star::lang::Locale Language;
+
+ //-------------------------------------------------------------------------
+ /** contains the name of the person who most recently stored the document.
+ */
+
+ [attribute] string ModifiedBy;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time of the last time the document was stored.
+ <p>
+ If the document has never been stored, contains a default value.
+ </p>
+ */
+
+ [attribute] com::sun::star::util::DateTime ModificationDate;
+
+ //-------------------------------------------------------------------------
+ /** contains the name of the person who most recently printed the document.
+ */
+
+ [attribute] string PrintedBy;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time when the document was last printed.
+ <p>
+ If the document has never been printed, contains a default value.
+ </p>
+ */
+
+ [attribute] com::sun::star::util::DateTime PrintDate;
+
+ //-------------------------------------------------------------------------
+ /** contains the name of the template from which the document was created.
+ <p>
+ The value is an empty <atom>string</atom> if the document was not
+ created from a template or if it was detached from the template.
+ </p>
+ */
+
+ [attribute] string TemplateName;
+
+ //-------------------------------------------------------------------------
+ /** contains the URL of the template from which the document was created.
+ <p>
+ The value is an empty <atom>string</atom> if the document was not
+ created from a template or if it was detached from the template.
+ </p>
+ */
+
+ [attribute] string TemplateURL;
+
+ //-------------------------------------------------------------------------
+ /** contains the date and time of when the document
+ was created or updated from the template.
+ */
+
+ [attribute] com::sun::star::util::DateTime TemplateDate;
+
+ //-------------------------------------------------------------------------
+ /** contains the URL to load automatically at a
+ specified time after the document is loaded into a desktop frame.
+ <p>
+ An empty URL is valid and describes a case where the document shall be
+ reloaded from its original loction after some time described by the
+ attribute <member>AutoloadSecs</member>.
+ An empty <atom>string</atom> together with an
+ <member>AutoloadSecs</member> value of 0
+ describes a case where no autoload is specified.
+ </p>
+
+ @see AutoloadSecs
+ */
+
+ [attribute] string AutoloadURL;
+
+ //-------------------------------------------------------------------------
+ /** contains the number of seconds after which a specified
+ URL is to be loaded after the document is loaded into a desktop
+ frame.
+ <p>
+ A value of 0 is valid and describes a redirection.
+ A value of 0 together with an empty <atom>string</atom> as
+ <member>AutoloadURL</member>
+ describes a case where no autoload is specified.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if argument is negative
+
+ @see AutoloadURL
+ */
+
+ [attribute] long AutoloadSecs {
+ set raises ( com::sun::star::lang::IllegalArgumentException );
+ };
+
+ //-------------------------------------------------------------------------
+ /** contains the name of the default frame into which
+ links should be loaded if no target is specified.
+ <p>
+ This applies to the autoload feature too, but to others as well.
+ </p>
+ */
+
+ [attribute] string DefaultTarget;
+
+ //-------------------------------------------------------------------------
+ /** contains some statistics about the document.
+ <p>
+ The contained statistics may be specific to the type of the document.
+ </p>
+ */
+
+ [attribute]
+ sequence< com::sun::star::beans::NamedValue > DocumentStatistics;
+
+ //-------------------------------------------------------------------------
+ /** describes how often the document was edited and saved.
+ <p>
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if argument is negative
+ */
+
+ [attribute] short EditingCycles {
+ set raises ( com::sun::star::lang::IllegalArgumentException );
+ };
+
+ //-------------------------------------------------------------------------
+ /** contains the net time of editing the document (in seconds).
+ <p>
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if argument is negative
+ */
+
+ [attribute] long EditingDuration {
+ set raises ( com::sun::star::lang::IllegalArgumentException );
+ };
+
+ //-------------------------------------------------------------------------
+ /** resets all attributes that could identify the user.
+ <p>
+ Clears the document properties, such that it apperars the document
+ has just been created.
+ This is a convenience method which resets several attributes at once,
+ as follows:
+ <ul>
+ <li><member>Author</member> is set to the given parameter.</li>
+ <li><member>CreationDate</member> is set to the current date and time.
+ </li>
+ <li><member>ModifiedBy</member> is cleared.</li>
+ <li><member>ModificationDate</member> is cleared.</li>
+ <li><member>PrintedBy</member> is cleared.</li>
+ <li><member>PrintDate</member> is cleared.</li>
+ <li><member>EditingDuration</member> is cleared.</li>
+ <li><member>EditingCycles</member> is set to 1.</li>
+ </ul>
+
+ @param Author
+ the new value of the <member>Author</member> attribute.
+ </p>
+ */
+ void resetUserData( [in] string Author );
+
+ //-------------------------------------------------------------------------
+ /** provides access to a container for user-defined properties.
+ <p>
+ The returned object also implements the interface
+ <type>com::sun::star::beans::XPropertySet</type>.
+ </p>
+ @returns a container that provides access to user-defined properties
+ */
+
+ com::sun::star::beans::XPropertyContainer getUserDefinedProperties();
+
+ //-------------------------------------------------------------------------
+ /** loads document properties from an ODF package.
+ <p>
+ This method is used for accessing an ODF package that is owned by
+ someone else, e.g., a document.
+ </p>
+
+ @param Storage
+ the <type>com::sun::star::embed::Storage</type> representing the
+ ODF package
+
+ @param Medium
+ the <type>com::sun::star::document::MediaDescriptor</type>
+ representing the source
+ <p>
+ This is unfortunately necessary in order to properly resolve
+ relative URLs in the meta-data.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if argument is <NULL/>
+ @throws com::sun::star::io::WrongFormatException
+ if parsing the XML document fails
+ @throws com::sun::star::lang::WrappedTargetException
+ if thrown when trying to open a stream in the given storage
+ @throws com::sun::star::io::IOException
+ if thrown when trying to open a stream in the given storage
+ */
+
+ void loadFromStorage( [in] com::sun::star::embed::XStorage Storage,
+ [in] sequence < com::sun::star::beans::PropertyValue > Medium )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::io::WrongFormatException,
+ com::sun::star::lang::WrappedTargetException,
+ com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** loads document properties from an ODF package or an OLE container.
+
+ @param URL
+ the URL of the source document
+ <p>
+ The URL could be part of the Medium parameter, but because often
+ no other parameters except the URL are needed, providing it
+ separately was added for convenience.
+ </p>
+
+ @param Medium
+ the <type>com::sun::star::document::MediaDescriptor</type>
+ representing the source
+
+ @throws com::sun::star::io::WrongFormatException
+ if parsing the XML document fails
+ @throws com::sun::star::lang::WrappedTargetException
+ if thrown when trying to open a stream in the given storage
+ @throws com::sun::star::io::IOException
+ if thrown when trying to open a stream in the given storage
+ */
+
+ void loadFromMedium( [in] string URL,
+ [in] sequence < com::sun::star::beans::PropertyValue > Medium )
+ raises( com::sun::star::io::WrongFormatException,
+ com::sun::star::lang::WrappedTargetException,
+ com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** stores document properties to an ODF package.
+ <p>
+ This method is used for accessing an ODF package that is owned by
+ someone else, e.g., a document.
+ Note that the implementation may choose to store the meta-data
+ in either OOo or ODF format, depending on the MediaType property
+ of the given <type>Storage</type> argument.
+ </p>
+
+ @param Storage
+ the <type>com::sun::star::embed::Storage</type> representing the
+ ODF package
+
+ @param Medium
+ the <type>com::sun::star::document::MediaDescriptor</type>
+ representing the source
+ <p>
+ This is unfortunately necessary in order to properly resolve
+ relative URLs in the meta-data.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if argument is <NULL/>
+ @throws com::sun::star::lang::WrappedTargetException
+ if thrown when trying to open a stream in the given storage
+ @throws com::sun::star::io::IOException
+ if thrown when writing to the storage
+ */
+
+ void storeToStorage( [in] com::sun::star::embed::XStorage Storage,
+ [in] sequence < com::sun::star::beans::PropertyValue > Medium )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException,
+ com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** stores document properties to an ODF package or an OLE container.
+
+ @param URL
+ the URL of the target document
+ <p>
+ The URL could be part of the Medium parameter, but because often
+ no other parameters except the URL are needed, providing it
+ separately was added for convenience.
+ </p>
+
+ @param Medium
+ the <type>com::sun::star::document::MediaDescriptor</type>
+ representing the target
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if thrown when trying to open a stream in the given storage
+ @throws com::sun::star::io::IOException
+ if thrown when writing to the storage
+ */
+
+ void storeToMedium( [in] string URL,
+ [in] sequence < com::sun::star::beans::PropertyValue > Medium )
+ raises( com::sun::star::lang::WrappedTargetException,
+ com::sun::star::io::IOException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl b/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl
new file mode 100644
index 000000000000..811513d7a026
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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_document_XDocumentPropertiesSupplier_idl__
+#define __com_sun_star_document_XDocumentPropertiesSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_document_XDocumentProperties_idl__
+#include <com/sun/star/document/XDocumentProperties.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** provides access to the <type>XDocumentProperties</type> instance of a
+ document.
+ <p>
+ A <type>DocumentProperties</type> instance is available on loaded documents
+ via this supplier interface.
+ </p>
+
+ @since OOo 3.0
+
+ @see XDocumentProperties
+ @see DocumentProperties
+ */
+published interface XDocumentPropertiesSupplier
+{
+ //-------------------------------------------------------------------------
+ /** provides the document properties object.
+
+ @returns
+ an object of type <type>XDocumentProperties</type>
+ */
+ XDocumentProperties getDocumentProperties();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
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/XDocumentRevisionListPersistence.idl b/offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl
new file mode 100644
index 000000000000..991b54fa84a9
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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_document_XDocumentRevisionListPersistence_idl__
+#define __com_sun_star_document_XDocumentRevisionListPersistence_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_util_RevisionTag_idl__
+#include <com/sun/star/util/RevisionTag.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/io/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** interface to load or store a list of document revisions from or to a document
+ using the packed XML file format
+ */
+interface XDocumentRevisionListPersistence: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Loads a list of available revisions from a storage
+ <p>
+ This method does not load any revision itself
+ </p>
+ */
+ sequence < ::com::sun::star::util::RevisionTag > load( [in] ::com::sun::star::embed::XStorage Storage)
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::io::IOException,
+ com::sun::star::uno::Exception );
+
+ //-------------------------------------------------------------------------
+ /** Stores a list of available revisions to a storage
+ <p>
+ This method does not store revisions themselves
+ </p>
+ */
+ void store( [in] ::com::sun::star::embed::XStorage Storage, [in] sequence < ::com::sun::star::util::RevisionTag > List )
+ raises( com::sun::star::io::IOException,
+ com::sun::star::uno::Exception );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl b/offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl
new file mode 100644
index 000000000000..69cbe1bbfb2e
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * 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_document_XDocumentSubStorageSupplier_idl__
+#define __com_sun_star_document_XDocumentSubStorageSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** through this interface documents can provide access to their substorages
+
+ <p>
+ A temporary interface to get access to documents substorages.
+ </p>
+
+ @see DocumentInfo
+ @see StandaloneDocumentInfo
+ */
+published interface XDocumentSubStorageSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** provides the access to a substorage with specified name
+
+ @param sStorageName
+ the name of requested substorage
+
+ @param nMode
+ a mode the storage should be opened in can take value from ::com::sun::star::embed::ElementModes
+
+ @returns
+ XStorage implementation that refers to specified substorage
+ */
+ com::sun::star::embed::XStorage getDocumentSubStorage(
+ [in] string aStorageName,
+ [in] long nMode );
+
+ //-------------------------------------------------------------------------
+ /** provides the list of substorages
+
+ @returns
+ sequence of substorages names
+ */
+ sequence< string > getDocumentSubStoragesNames()
+ raises( ::com::sun::star::io::IOException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl b/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl
new file mode 100644
index 000000000000..f1b31dd21d90
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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_document_XEmbeddedObjectResolver_idl__
+#define __com_sun_star_document_XEmbeddedObjectResolver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** this interface converts embedded object URLs from one URL space to another.
+ */
+published interface XEmbeddedObjectResolver: com::sun::star::uno::XInterface
+{
+ /** converts the given URL from the source URL namespace to the destination
+ URL space of this instance.
+ */
+ string resolveEmbeddedObjectURL( [in] string aURL );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl b/offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl
new file mode 100644
index 000000000000..1885121705dd
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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_document_XEmbeddedObjectSupplier_idl__
+#define __com_sun_star_document_XEmbeddedObjectSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** represents something that provides an embedded object.
+ */
+published interface XEmbeddedObjectSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns the object which is embedded into this object.
+ */
+ com::sun::star::lang::XComponent getEmbeddedObject();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl b/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl
new file mode 100644
index 000000000000..32d959cb3944
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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_document_XEmbeddedObjectSupplier2_idl__
+#define __com_sun_star_document_XEmbeddedObjectSupplier2_idl__
+
+#ifndef __com_sun_star_embed_XEmbeddedObject_idl__
+#include <com/sun/star/embed/XEmbeddedObject.idl>
+#endif
+
+#ifndef __com_sun_star_graphic_XGraphic_idl__
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+#ifndef __com_sun_star_document_XEmbeddedObjectSupplier_idl__
+#include <com/sun/star/document/XEmbeddedObjectSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** represents something that provides an embedded object.
+ */
+interface XEmbeddedObjectSupplier2: com::sun::star::document::XEmbeddedObjectSupplier
+{
+ //-------------------------------------------------------------------------
+ /** returns the object which is embedded into this object.
+
+ <p>
+ This method does not return the model that is controlled by the
+ embedded object, but the embedded object itself.
+ </p>
+ */
+ com::sun::star::embed::XEmbeddedObject getExtendedControlOverEmbeddedObject();
+
+ //-------------------------------------------------------------------------
+ /** allows to control the aspect of the object.
+ */
+ [attribute] hyper Aspect;
+
+ //-------------------------------------------------------------------------
+ /** allows to get the replacement image of the object.
+ */
+ [attribute,readonly] com::sun::star::graphic::XGraphic ReplacementGraphic;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/XEmbeddedScripts.idl b/offapi/com/sun/star/document/XEmbeddedScripts.idl
new file mode 100644
index 000000000000..fba8541bafcb
--- /dev/null
+++ b/offapi/com/sun/star/document/XEmbeddedScripts.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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_document_XEmbeddedScripts_idl__
+#define __com_sun_star_document_XEmbeddedScripts_idl__
+
+#ifndef __com_sun_star_script_XStorageBasedLibraryContainer_idl__
+#include <com/sun/star/script/XStorageBasedLibraryContainer.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** is suppoerted by <type>OfficeDocument</type>s which allow to embed scripts
+
+ @since OOo 2.4
+ */
+interface XEmbeddedScripts
+{
+ /** is the container of <code>StarBasic</code> macro libraries contained in the document
+ */
+ [attribute, readonly] ::com::sun::star::script::XStorageBasedLibraryContainer BasicLibraries;
+
+ /** is the container of dialogs libraries contained in the document
+ */
+ [attribute, readonly] ::com::sun::star::script::XStorageBasedLibraryContainer DialogLibraries;
+
+ /** determines whether executing macros from this document is allowed.
+
+ <p>Effectively, this attribute is an evaluation of the document's <type>MacroExecMode</type>
+ against possibly applicable configuration settings, the document location in relation to the
+ trusted location, and the like.</p>
+
+ @see MacroExecMode
+ */
+ [attribute, readonly] boolean AllowMacroExecution;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XEventBroadcaster.idl b/offapi/com/sun/star/document/XEventBroadcaster.idl
new file mode 100644
index 000000000000..ff4240b028ee
--- /dev/null
+++ b/offapi/com/sun/star/document/XEventBroadcaster.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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_document_XEventBroadcaster_idl__
+#define __com_sun_star_document_XEventBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_document_XEventListener_idl__
+#include <com/sun/star/document/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** makes it possible to register listeners which are called whenever
+ a document event (see <type>EventObject</type>) occurs
+
+ @deprecated
+ @see XDocumentEventBroadcaster
+ */
+published interface XEventBroadcaster: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** registers the given listener
+
+ @param Listener
+ listener which is interested on such events
+ */
+ [oneway] void addEventListener( [in] XEventListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** unregisters the given listener
+
+ @param Listener
+ listener which isn't interested on such events any longer
+ */
+ [oneway] void removeEventListener( [in] XEventListener Listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XEventListener.idl b/offapi/com/sun/star/document/XEventListener.idl
new file mode 100644
index 000000000000..d32b04ced66f
--- /dev/null
+++ b/offapi/com/sun/star/document/XEventListener.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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_document_XEventListener_idl__
+#define __com_sun_star_document_XEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_document_EventObject_idl__
+#include <com/sun/star/document/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** makes it possible to register listeners, which are called whenever
+ a document or document content event occurs
+
+ <p>Such events will be broadcasted by a <type>XEventBroadcaster</type>.</p>
+
+ @deprecated
+ @see XDocumentEventListener
+ */
+published interface XEventListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** is called whenever a document event (see <type>EventObject</type>) occurs
+
+ @param Event
+ specifies the event type
+ */
+ [oneway] void notifyEvent( [in] EventObject Event );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XEventsSupplier.idl b/offapi/com/sun/star/document/XEventsSupplier.idl
new file mode 100644
index 000000000000..d5bd2b0d9aa9
--- /dev/null
+++ b/offapi/com/sun/star/document/XEventsSupplier.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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_document_XEventsSupplier_idl__
+#define __com_sun_star_document_XEventsSupplier_idl__
+
+#ifndef __com_sun_star_container_XNameReplace_idl__
+#include <com/sun/star/container/XNameReplace.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** gives access to a list of URLs bound to events of this object
+ */
+published interface XEventsSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** offers a list of event handlers which are be bound to events of
+ this object
+
+ @returns
+ an <type>Events</type> description object
+ */
+ com::sun::star::container::XNameReplace getEvents();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XExporter.idl b/offapi/com/sun/star/document/XExporter.idl
new file mode 100644
index 000000000000..a89017c248a1
--- /dev/null
+++ b/offapi/com/sun/star/document/XExporter.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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_document_XExporter_idl__
+#define __com_sun_star_document_XExporter_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** makes it possible to connect a document with an <type>ExportFilter</type>
+
+ <p>
+ An <type>ExportFilter</type> must know the source of his filter operation.
+ To set this on a filter is part of this interface.
+ Same mechanism exist for import too.
+ </p>
+
+ @see ExportFilter
+ @see ImportFilter
+ @see XImporter
+ */
+published interface XExporter: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** sets the source document for the exporter
+
+ @param Document
+ the source document
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if <var>Document</var> does not support any service which is
+ supported by this exporter
+ */
+ void setSourceDocument(
+ [in] com::sun::star::lang::XComponent Document )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
diff --git a/offapi/com/sun/star/document/XExtendedFilterDetection.idl b/offapi/com/sun/star/document/XExtendedFilterDetection.idl
new file mode 100644
index 000000000000..b5aae4930fd8
--- /dev/null
+++ b/offapi/com/sun/star/document/XExtendedFilterDetection.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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_document_XExtendedFilterDetection_idl__
+#define __com_sun_star_document_XExtendedFilterDetection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module document {
+
+//============================================================================
+/** provides a "deep" filter detection
+
+ <p>
+ A "deep" filter detection means looking into the document stream to detect
+ the format of it. Services of type <type>ExtendedTypeDetection</type> must support this
+ interface to be called from generic load mechanism of the office for that.
+ </p>
+
+ @see DetectService
+ @see TypeDetection
+ @see FilterFactory
+ */
+published interface XExtendedFilterDetection: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** controls agreement of a "flat" <type>TypeDetection</type>
+ with given URL or arguments
+
+ <p>
+ Registerd services in configuration, which support this interface for different mime types,
+ will be called automaticly to look into the document stream and cdecide wich format it represent.
+ Add the collected information about detected documents in given <type>MediaDescriptor</type>
+ <var>Descriptor</var>. The decision must be returned as any valid type name (which specifies
+ the detected format) or an empty value for unknown formats.
+ </p>
+
+ @param Descriptor
+ represent a <type>MediaDescriptor</type> which can be used to get/set informations
+ about the detected document
+
+ @returns
+ an internal type name if format was detected successfully
+ <br>
+ or an empty value for an unknown document format.
+ */
+ string detect( [inout] sequence< com::sun::star::beans::PropertyValue > Descriptor );
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XFilter.idl b/offapi/com/sun/star/document/XFilter.idl
new file mode 100644
index 000000000000..24eab5fcde5a
--- /dev/null
+++ b/offapi/com/sun/star/document/XFilter.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * 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_document_XFilter_idl__
+#define __com_sun_star_document_XFilter_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** interface to filter documents
+
+ <p>
+ This interface will be used by service <type>ImportFilter</type> or
+ <type>ExportFilter</type> to support loading/saving of documents in
+ different formats. The target/source of such filter operations must
+ be known <em>before</em> filtering will be started.
+ (see <type>XImporter</type> and <type>XExporter</type> too)
+ Otherwise this interface can't work right.
+ <p>
+
+ @see ImportFilter
+ @see ExportFilter
+ @see XImporter
+ @see XExporter
+ */
+published interface XFilter: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** filter the document.
+
+ <p>
+ The given <type>MediaDescriptor</type> holds all neccessary information
+ about the document.
+
+ Don't hold hard references to the descriptor items. You must copy needed information!
+ Otherwise we couldn't destroy (for example) an existing input stream!
+ </p>
+ @param aDescriptor
+ the MediaDescriptor describing the respective document.
+ @return a boolean value indicating whether the filter operation was successful or not.
+ */
+ boolean filter( [in] sequence< com::sun::star::beans::PropertyValue > aDescriptor );
+
+ //-------------------------------------------------------------------------
+ /** cancel the process.
+ */
+ void cancel();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XFilterAdapter.idl b/offapi/com/sun/star/document/XFilterAdapter.idl
new file mode 100644
index 000000000000..877587aa0e26
--- /dev/null
+++ b/offapi/com/sun/star/document/XFilterAdapter.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * 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_DOCUMENT_XFILTERADAPTOR_IDL__
+#define _COM_SUN_STAR_DOCUMENT_XFILTERADAPTOR_IDL__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XOutputStream.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+ /** This is an interface that can be used to link a filter to the
+ FilterAdapter
+
+ @throws com::sun::star::uno::RuntimeException
+
+ @since OOo 1.1.2
+ */
+published interface XFilterAdapter : com::sun::star::uno::XInterface
+ {
+ void convert(
+ [in] com::sun::star::io::XInputStream xml,
+ [in] com::sun::star::io::XOutputStream device,
+ [in] boolean convertToOffice,
+ [in] string pluginUrl,
+ [in] string fileName);
+ /*raises( com::sun::star::uno::RuntimeException );*/
+
+ };
+ };
+ };
+ };
+};
+
+#endif
diff --git a/offapi/com/sun/star/document/XGraphicObjectResolver.idl b/offapi/com/sun/star/document/XGraphicObjectResolver.idl
new file mode 100644
index 000000000000..50863b04f38c
--- /dev/null
+++ b/offapi/com/sun/star/document/XGraphicObjectResolver.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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_document_XGraphicObjectResolver_idl__
+#define __com_sun_star_document_XGraphicObjectResolver_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** this interface converts graphic object URLs from one URL space to another.
+ */
+published interface XGraphicObjectResolver: com::sun::star::uno::XInterface
+{
+ /** converts the given URL from the source URL namespace to the destination
+ URL space of this instance.
+ */
+ string resolveGraphicObjectURL( [in] string aURL );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XImporter.idl b/offapi/com/sun/star/document/XImporter.idl
new file mode 100644
index 000000000000..9a784aeae173
--- /dev/null
+++ b/offapi/com/sun/star/document/XImporter.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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_document_XImporter_idl__
+#define __com_sun_star_document_XImporter_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** makes it possible to connect a document with an <type>ImportFilter</type>
+
+ <p>
+ An <type>ImportFilter</type> must know the target of his filter operation.
+ To set this on a filter is part of this interface.
+ Same mechanism exist for export too.
+ </p>
+
+ @see ExportFilter
+ @see ImportFilter
+ @see XExporter
+ */
+published interface XImporter: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** sets the target document for the importer
+
+ @param Document
+ the target document
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if <var>Document</var> does not support any service which is
+ supported by this importer
+ */
+ void setTargetDocument(
+ [in] com::sun::star::lang::XComponent Document )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
+
diff --git a/offapi/com/sun/star/document/XInteractionFilterOptions.idl b/offapi/com/sun/star/document/XInteractionFilterOptions.idl
new file mode 100644
index 000000000000..b11749297e14
--- /dev/null
+++ b/offapi/com/sun/star/document/XInteractionFilterOptions.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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_document_XInteractionFilterOptions_idl__
+#define __com_sun_star_document_XInteractionFilterOptions_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** A continuation to return filter options from interaction helper.
+
+ @since OOo 1.1.2
+*/
+published interface XInteractionFilterOptions : ::com::sun::star::task::XInteractionContinuation
+{
+ //-------------------------------------------------------------------------
+ /** Store results to the continuation.
+
+ @param rProperties the list of properties containing filter options.
+
+ */
+ void setFilterOptions( [in] sequence< com::sun::star::beans::PropertyValue > rProperties );
+
+ //-------------------------------------------------------------------------
+ /** Get results from the continuation.
+
+ @returns the stored list of properties containing filter options.
+ */
+ sequence< com::sun::star::beans::PropertyValue > getFilterOptions();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XInteractionFilterSelect.idl b/offapi/com/sun/star/document/XInteractionFilterSelect.idl
new file mode 100644
index 000000000000..0aa7770af8a2
--- /dev/null
+++ b/offapi/com/sun/star/document/XInteractionFilterSelect.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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_document_XInteractionFilterSelect_idl__
+#define __com_sun_star_document_XInteractionFilterSelect_idl__
+
+#ifndef __com_sun_star_task_XInteractionContinuation_idl__
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** continuation used by interaction mechanism at filter detection during
+ loading documents
+
+ <p>
+ If during loading time the filter can't be detected and wasn't given at calling time,
+ a possible <type scope="com::sun::star::task">InteractionHandler</type> will be used.
+ (it's a a part of used <type>MediaDescriptor</type>)
+ A <type>NoSuchFilterRequest</type> will be used then to start right interaction on that to
+ get a decision wich filter should be used for given URL. A possible continiuation
+ of that can be this XInteractionFilterSelect. It will transport the decision back to
+ generic filter detection and force using of it. Of course it's possible to abort
+ the loading process by use another continuation <type scope="com::sun::star::task">XInteractionAbort</type>.
+ </p>
+
+ @see MediaDescriptor
+ @see com::sun::star::task::InteractionHandler
+ @see NoSuchFilterRequest
+ @see com::sun::star::task::XInteractionAbort
+ */
+published interface XInteractionFilterSelect : com::sun::star::task::XInteractionContinuation
+{
+ //-------------------------------------------------------------------------
+ /** used by interaction to set selected filter
+
+ <p>
+ This value must be save till another one will be set
+ and must be provided on getFilter() for interest users.
+ </p>
+ */
+ void setFilter( [in] string Name );
+
+ //-------------------------------------------------------------------------
+ /** used by detection to get selected filter
+ */
+ string getFilter();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XLinkTargetSupplier.idl b/offapi/com/sun/star/document/XLinkTargetSupplier.idl
new file mode 100644
index 000000000000..f48a68f9d429
--- /dev/null
+++ b/offapi/com/sun/star/document/XLinkTargetSupplier.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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_document_XLinkTargetSupplier_idl__
+#define __com_sun_star_document_XLinkTargetSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** interface is supplied by objects inside a document object model that have
+ children that can be the target of a link inside a document.
+
+ <p>These targets implement the service <type>LinkTarget</type>. </p>
+ */
+published interface XLinkTargetSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @returns
+ the names of possible links to children of this object inside a
+ document object model. It implements the service <type>LinkTargets</type>.
+ */
+ com::sun::star::container::XNameAccess getLinks();
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XMLBasicExporter.idl b/offapi/com/sun/star/document/XMLBasicExporter.idl
new file mode 100644
index 000000000000..7766282276dd
--- /dev/null
+++ b/offapi/com/sun/star/document/XMLBasicExporter.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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_document_XMLBasicExporter_idl__
+#define __com_sun_star_document_XMLBasicExporter_idl__
+
+#ifndef __com_sun_star_document_XExporter_idl__
+#include <com/sun/star/document/XExporter.idl>
+#endif
+
+#ifndef __com_sun_star_document_XFilter_idl__
+#include <com/sun/star/document/XFilter.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** Filter for exporting Basic macros to the OpenOffice.org file format.
+
+ <p>First the <method>XExporter::setSourceDocument</method> method must be
+ called in order to provide the export component with the source document
+ from which the data should be exported. After that, the export is started
+ by calling the <method>XFilter::filter</method> method.</p>
+
+ @since OOo 2.0
+ */
+published service XMLBasicExporter
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the source document for this filter.
+ */
+ interface com::sun::star::document::XExporter;
+
+ //-------------------------------------------------------------------------
+
+ /** filters the document.
+ */
+ interface com::sun::star::document::XFilter;
+
+ //-------------------------------------------------------------------------
+
+ /** initializes the component.
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XMLBasicImporter.idl b/offapi/com/sun/star/document/XMLBasicImporter.idl
new file mode 100644
index 000000000000..74b789c954ed
--- /dev/null
+++ b/offapi/com/sun/star/document/XMLBasicImporter.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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_document_XMLBasicImporter_idl__
+#define __com_sun_star_document_XMLBasicImporter_idl__
+
+#ifndef __com_sun_star_document_XImporter_idl__
+#include <com/sun/star/document/XImporter.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** Filter for importing Basic macros from the OpenOffice.org file format.
+
+ <p>The <method>XImporter::setTargetDocument</method> method must be
+ called in order to provide the import component with the target document
+ to which the data should be imported.
+ The <type scope="com::sun::star::xml::sax">XDocumentHandler</type>
+ interface is used to stream the XML data into the filter.</p>
+
+ @since OOo 2.0
+ */
+published service XMLBasicImporter
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the target document for this filter.
+ */
+ interface com::sun::star::document::XImporter;
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of general document events.
+ */
+ interface com::sun::star::xml::sax::XDocumentHandler;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XMLOasisBasicExporter.idl b/offapi/com/sun/star/document/XMLOasisBasicExporter.idl
new file mode 100644
index 000000000000..b5817e99e8ee
--- /dev/null
+++ b/offapi/com/sun/star/document/XMLOasisBasicExporter.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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_document_XMLOasisBasicExporter_idl__
+#define __com_sun_star_document_XMLOasisBasicExporter_idl__
+
+#ifndef __com_sun_star_document_XExporter_idl__
+#include <com/sun/star/document/XExporter.idl>
+#endif
+
+#ifndef __com_sun_star_document_XFilter_idl__
+#include <com/sun/star/document/XFilter.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** Filter for exporting Basic macros to the OASIS Open Office file format.
+
+ <p>First the <method>XExporter::setSourceDocument</method> method must be
+ called in order to provide the export component with the source document
+ from which the data should be exported. After that, the export is started
+ by calling the <method>XFilter::filter</method> method.</p>
+
+ @since OOo 2.0
+ */
+published service XMLOasisBasicExporter
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the source document for this filter.
+ */
+ interface com::sun::star::document::XExporter;
+
+ //-------------------------------------------------------------------------
+
+ /** filters the document.
+ */
+ interface com::sun::star::document::XFilter;
+
+ //-------------------------------------------------------------------------
+
+ /** initializes the component.
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XMLOasisBasicImporter.idl b/offapi/com/sun/star/document/XMLOasisBasicImporter.idl
new file mode 100644
index 000000000000..c77c6395a9be
--- /dev/null
+++ b/offapi/com/sun/star/document/XMLOasisBasicImporter.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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_document_XMLOasisBasicImporter_idl__
+#define __com_sun_star_document_XMLOasisBasicImporter_idl__
+
+#ifndef __com_sun_star_document_XImporter_idl__
+#include <com/sun/star/document/XImporter.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__
+#include <com/sun/star/xml/sax/XDocumentHandler.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** Filter for importing Basic macros from the OASIS Open Office file format.
+
+ <p>The <method>XImporter::setTargetDocument</method> method must be
+ called in order to provide the import component with the target document
+ to which the data should be imported.
+ The <type scope="com::sun::star::xml::sax">XDocumentHandler</type>
+ interface is used to stream the XML data into the filter.</p>
+
+ @since OOo 2.0
+ */
+published service XMLOasisBasicImporter
+{
+ //-------------------------------------------------------------------------
+
+ /** sets the target document for this filter.
+ */
+ interface com::sun::star::document::XImporter;
+
+ //-------------------------------------------------------------------------
+
+ /** receives notification of general document events.
+ */
+ interface com::sun::star::xml::sax::XDocumentHandler;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XMimeTypeInfo.idl b/offapi/com/sun/star/document/XMimeTypeInfo.idl
new file mode 100644
index 000000000000..fd3345f75c48
--- /dev/null
+++ b/offapi/com/sun/star/document/XMimeTypeInfo.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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_document_XMimeTypeInfo_idl__
+#define __com_sun_star_document_XMimeTypeInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** provides information regarding which MIME types are supported by a filter.
+ */
+published interface XMimeTypeInfo: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** asks whether a MIME type is supported or not.
+ */
+ boolean supportsMimeType( [in] string MimeTypeName );
+
+ //-------------------------------------------------------------------------
+
+ /** @returns
+ a sequence of the names of all supported MIME types.
+ */
+ sequence<string> getSupportedMimeTypeNames();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl b/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl
new file mode 100644
index 000000000000..23b29bcaca61
--- /dev/null
+++ b/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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_document_XOOXMLDocumentPropertiesImporter_idl__
+#define __com_sun_star_document_XOOXMLDocumentPropertiesImporter_idl__
+
+#ifndef __com_sun_star_document_XDocumentProperties_idl__
+#include <com/sun/star/document/XDocumentProperties.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_xml_sax_SAXException_idl__
+#include <com/sun/star/xml/sax/SAXException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** allows to import the document properties from OOXML fomat
+ */
+interface XOOXMLDocumentPropertiesImporter: com::sun::star::uno::XInterface
+{
+ // -----------------------------------------------------------------------
+ /** allows to import the document properties from OOXML format
+
+ <p>
+ The implementation should parse the document properties from OOXML
+ format storage and set them to the target
+ <type>XDocumentProperties</type> implementation.
+ </p>
+
+ <p>
+ The storage must represent OOXML format and support
+ <type scope="com::sun::star::embed">XRelationshipAccess</type>
+ interface. Please see
+ <type scope="com::sun::star::embed">StorageFactory</type> for details
+ regarding creation of such a storage.
+ </p>
+
+ @param xSource
+ the source storage representing OOXML document
+
+ @param xDocumentProperties
+ the target <type>XDocumentProperties</type> interface implementation
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ the exception is thrown in case unexpected arguments are provided
+
+ @throws ::com::sun::star::xml::sax::SAXException
+ the exception is thrown in case of parsing problems
+
+ @throws ::com::sun::star::uno::Exception
+ the exception is thrown in case of other problems during the import
+ */
+
+ void importProperties(
+ [in] com::sun::star::embed::XStorage xSource,
+ [in] com::sun::star::document::XDocumentProperties xDocumentProperties )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::xml::sax::SAXException,
+ com::sun::star::uno::Exception );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/XRedlinesSupplier.idl b/offapi/com/sun/star/document/XRedlinesSupplier.idl
new file mode 100644
index 000000000000..9ca883b140d4
--- /dev/null
+++ b/offapi/com/sun/star/document/XRedlinesSupplier.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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_document_XRedlinesSupplier_idl__
+#define __com_sun_star_document_XRedlinesSupplier_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** provides access to a container of the redline objects of the document.
+ */
+published interface XRedlinesSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @returns
+ an enumeration access that provides access to the redline objects of the document.
+
+ <p>The returned objects implent at least the interface
+ <type scope="com::sun::star::beans">XPropertySet</type>.
+ Specific objects may support other interfaces as well.</p>
+ */
+ com::sun::star::container::XEnumerationAccess getRedlines();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/XScriptInvocationContext.idl b/offapi/com/sun/star/document/XScriptInvocationContext.idl
new file mode 100644
index 000000000000..68f5cd883410
--- /dev/null
+++ b/offapi/com/sun/star/document/XScriptInvocationContext.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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_document_XScriptInvocationContext_idl__
+#define __com_sun_star_document_XScriptInvocationContext_idl__
+
+
+#ifndef __com_sun_star_document_XEmbeddedScripts_idl__
+#include <com/sun/star/document/XEmbeddedScripts.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+
+/** indicates support for executing scripts contained in a, possibly foreign, document.
+
+ <p>If the component implementing it is a document, which supports embedding scripts into
+ itself, then <member>ScriptContainer</member> refers to the document itself. Implementing this
+ interface is unnecessary then, instead the document should simply implement <type>XEmbeddedScripts</type> directly.</p>
+
+ <p>If the interface is implemented by a document which does not itself support embedding
+ scripts into it, but which is associated unambiguously with a document which does,
+ then this other document is denoted by <member>ScriptContainer</member>.</p>
+
+ <p>If the interface is implemented by a controller, then <member>ScriptContainer</member>
+ refers to the document which supports embedding scripts, and which is unambiguosly
+ associated with the controller. This must not necessarily be the model returned by
+ <member scope="com::sun::star::frame">XController::getModel</member>.</p>
+
+ @since OOo 2.4
+ */
+interface XScriptInvocationContext
+{
+ /** denotes the document which contains the scripts which are to be invoked from
+ the component implementing the XScriptInvocationContext inteface.
+ */
+ [attribute, readonly] XEmbeddedScripts ScriptContainer;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XStandaloneDocumentInfo.idl b/offapi/com/sun/star/document/XStandaloneDocumentInfo.idl
new file mode 100644
index 000000000000..51a0cd7fa289
--- /dev/null
+++ b/offapi/com/sun/star/document/XStandaloneDocumentInfo.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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_document_XStandaloneDocumentInfo_idl__
+#define __com_sun_star_document_XStandaloneDocumentInfo_idl__
+
+#ifndef __com_sun_star_document_XDocumentInfo_idl__
+#include <com/sun/star/document/XDocumentInfo.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** makes it possible to load document information from
+ a resource specified by a URL and to store it into a resource also
+ specified by a URL
+
+ <p>
+ Only the document information part of the resource is transferred.
+ Instead of <type>DocumentInfo</type> not the whole document will be opened.
+ Note: Without specifying the source or target of this info (the document)
+ nothing can work and will be handled as void (for reading) or ignored (for writing).
+ After specigiying the source/target by using this interface,
+ the interface <type>XDocumentInfo</type> (which must be implemented on same
+ object then this one!) provides access to the info properties.
+ </p>
+
+ @deprecated Use <type>XDocumentProperties</type> instead.
+
+ @see DocumentInfo
+ @see StandaloneDocumentInfo
+ @see XDocumentInfo
+ */
+published interface XStandaloneDocumentInfo: XDocumentInfo
+{
+ //-------------------------------------------------------------------------
+ /** loads the document information from a file referred by an URL
+
+ <p>
+ After an unsuccessful call the contents of the document
+ information are undefined (void).
+ This method only works for storage file formats.
+ </p>
+
+ @param URL
+ specifies the source of information
+
+ @throws com::sun::star::io::IOException
+ if storage couldn't be found or opened
+ */
+ void loadFromURL( [in] string URL )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** stores the document information into a file referred by a URL
+
+ <p>
+ Only the document information part of the document is overwritten.
+ This method only works for storage file formats.
+ </p>
+
+ @param URL
+ specifies the target for saving
+
+ @throws com::sun::star::io::IOException
+ if storage couldn't be found or opened
+ */
+ void storeIntoURL( [in] string URL )
+ raises( com::sun::star::io::IOException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XStorageBasedDocument.idl b/offapi/com/sun/star/document/XStorageBasedDocument.idl
new file mode 100644
index 000000000000..a352d36110a2
--- /dev/null
+++ b/offapi/com/sun/star/document/XStorageBasedDocument.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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_embed_XStorageBasedDocument_idl__
+#define __com_sun_star_embed_XStorageBasedDocument_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_frame_DoubleInitializationException_idl__
+#include <com/sun/star/frame/DoubleInitializationException.idl>
+#endif
+
+#ifndef __com_sun_star_document_XStorageChangeListener_idl__
+#include <com/sun/star/document/XStorageChangeListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+ module com { module sun { module star { module document {
+
+//============================================================================
+/** allows to initialize document with a storage, to store document to
+ a storage, and to set document to be based on provided storage.
+ */
+published interface XStorageBasedDocument: com::sun::star::uno::XInterface
+{
+ //------------------------------------------------------------------------
+ /** lets the document load itself using provided storage.
+ */
+ void loadFromStorage(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaDescriptor )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::frame::DoubleInitializationException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+ //------------------------------------------------------------------------
+ /** lets the document store itself to the provided storage.
+ */
+ void storeToStorage(
+ [in] ::com::sun::star::embed::XStorage xStorage,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaDescriptor )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+ //------------------------------------------------------------------------
+ /** allows to switch the document to the provided storage.
+ */
+ void switchToStorage( [in] ::com::sun::star::embed::XStorage xStorage )
+ raises( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+
+ //------------------------------------------------------------------------
+ /** allows to get the storage the document is based on.
+ */
+ ::com::sun::star::embed::XStorage getDocumentStorage()
+ raises( ::com::sun::star::io::IOException,
+ ::com::sun::star::uno::Exception );
+
+ //------------------------------------------------------------------------
+ /** allows to register a listener that will be notified when another
+ storage is set to the document.
+ */
+ void addStorageChangeListener( [in] XStorageChangeListener xListener );
+
+ //------------------------------------------------------------------------
+ /** allows to deregister the listener.
+ */
+ void removeStorageChangeListener( [in] XStorageChangeListener xListener );
+
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/XStorageChangeListener.idl b/offapi/com/sun/star/document/XStorageChangeListener.idl
new file mode 100644
index 000000000000..6ed36735a1c1
--- /dev/null
+++ b/offapi/com/sun/star/document/XStorageChangeListener.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * 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_document_XStorageChangeListener_idl__
+#define __com_sun_star_document_XStorageChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** allows to be notified when a document is switched to a new storage.
+ */
+published interface XStorageChangeListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** is called when document switches to another storage.
+
+ @param xDocument
+ the document that has changed the storage it is based on
+
+ @param xStorage
+ the new storage the document is based on
+ */
+ [oneway] void notifyStorageChange(
+ [in] ::com::sun::star::uno::XInterface xDocument,
+ [in] ::com::sun::star::embed::XStorage xStorage );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/document/XTypeDetection.idl b/offapi/com/sun/star/document/XTypeDetection.idl
new file mode 100644
index 000000000000..5fc14f65ebd9
--- /dev/null
+++ b/offapi/com/sun/star/document/XTypeDetection.idl
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * 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_document_XTypeDetection_idl__
+#define __com_sun_star_document_XTypeDetection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module document {
+
+//============================================================================
+/** support "flat" and "deep" type detection of a given document
+
+ <p>
+ A "flat" detection means specifying the document format by using
+ the URL and some configuration data only. That will perform but produce
+ may invalid results if e.g., the extension of the document is wrong.
+ A "deep" detection means looking into the document stream to be right
+ which format it supports. Of course that includes a "flat" detection before.
+ The combination of both ones should produce stable results everytime.
+ </p>
+
+ @see TypeDetection
+ */
+published interface XTypeDetection: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** make a "flat" detection by using the URL of the document
+
+ <p>
+ It use given URL in combination with the internal configuration of well known
+ types only to specify the format of given document.
+ </p>
+
+ @param URL
+ specify the document by name
+
+ @returns
+ an internal type name which represent the detected format
+ <br>
+ or an empty value for unknown ones
+ */
+ string queryTypeByURL( [in] string URL );
+
+ //-------------------------------------------------------------------------
+ /** make a "deep" detection or optional a "flat" detection by using a
+ <type>MediaDescriptor</type>
+
+ <p>
+ Instead of <member>XTypeDetection::queryTypeByURL()</member> this function
+ use a <type>MediaDescriptor</type> to specify the document for detection.
+ Such descriptor hold different informations about the document.
+ He will be passed to any part of made detection process and every part
+ can change it to actualize it.
+ The property <member>MediaDescriptor::URL</member> should be set on
+ this descriptor as minimum. It specifies the location of the document.
+ If this parameter is missing another one is required: <member>MediaDescriptor::InputStream</member>.
+ This can be usefull to prevent operaton against multiple opening of the stream
+ and perform the operation. If this stream isn't already included the detection
+ will open it (if allowed!) and add it to the descriptor so it will be available for
+ all following parts.
+ A combination of both parameters can be usefull to perform the operation
+ and make results more stable; but only one of them is required.
+ Of course its possible to specify more document properties (e.g.
+ <member>MediaDescriptor::ReadOnly</member>).
+ <br>
+ As an additional feature it's possible to suppress "deep" detection by using argument
+ <var>AllowDeep</var>.
+ </p>
+
+ @param Descriptor
+ means the <type>MediaDescriptor</type> which specify the ressource for detection
+
+ @param AllowDeep
+ if it is set to <TRUE/> a "deep" detection will be follow a "flat" detection
+ <br>
+ if it is set to <FALSE/> a "flat" detection will be made only
+
+ @returns
+ an internal type name which represent the detected format
+ <br>
+ or an empty value for unknown ones
+ */
+ string queryTypeByDescriptor(
+ [inout] sequence< com::sun::star::beans::PropertyValue > Descriptor,
+ [in] boolean AllowDeep );
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/XUndoAction.idl b/offapi/com/sun/star/document/XUndoAction.idl
new file mode 100755
index 000000000000..e65354013499
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoAction.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ * 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_document_XUndoAction_idl__
+#define __com_sun_star_document_XUndoAction_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/document/UndoFailedException.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** represents a single (undoable) action on a document
+ */
+published interface XUndoAction
+{
+ /** reverts the action represented by the instance
+
+ @throws UndoFailedException
+ if reverting the action failed. In this case, the caller should assume that this is a permanent failure,
+ and take appropriate action, such as discarding the <code>XUndoAction</code> instance, and any possibly
+ depending instances.
+ */
+ void undo()
+ raises ( ::com::sun::star::document::UndoFailedException
+ );
+
+ /** repeats the action represented by the instance, after it had previously been reverted.
+
+ @throws UndoFailedException
+ if repeating the action failed. In this case, the caller should assume that this is a permanent failure,
+ and take appropriate action, such as discarding the <code>XUndoAction</code> instance, and any possibly
+ depending instances.
+ */
+ void redo()
+ raises ( ::com::sun::star::document::UndoFailedException
+ );
+
+ /** is the human-readable, localized description of the action.
+ */
+ [attribute, readonly] string Title;
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XUndoManager.idl b/offapi/com/sun/star/document/XUndoManager.idl
new file mode 100755
index 000000000000..74aa4de0cf70
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManager.idl
@@ -0,0 +1,337 @@
+/*************************************************************************
+ * 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_document_XUndoManager_idl__
+#define __com_sun_star_document_XUndoManager_idl__
+
+#include <com/sun/star/document/EmptyUndoStackException.idl>
+#include <com/sun/star/document/UndoContextNotClosedException.idl>
+#include <com/sun/star/document/UndoFailedException.idl>
+#include <com/sun/star/util/InvalidStateException.idl>
+#include <com/sun/star/util/XLockable.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+published interface XUndoAction;
+published interface XUndoManagerListener;
+
+//==================================================================================================================
+
+/** provides access to the undo/redo stacks of a document
+
+ <h3>Undo</h3>
+ <p>Changes to a document usually result in recording of information how to undo those changes, if desired. A so-called
+ undo action records the information how to undo a single change. Undo actions are maintained in a stack, so that
+ the changes they represent can be undo in the reverse order they have originally been applied.</p>
+
+ <h3>Redo</h3>
+ <p>Additionally, the Undo manager manages a Redo stack: Actions which are undone are moved from the Undo to the Redo
+ stack, so it is possible to re-apply the changes to the document.</p>
+
+ <h3>Undo contexts</h3>
+ <p>For collecting multiple changes in a single undo action, so-called Undo contexts are provided. When an Undo
+ context is entered, all subsequently added Undo actions are not pushed onto the undo stack directly, but considered
+ a sub action of the Undo context. Once the Undo context is left, a single undo action is pushed onto the undo stack,
+ which comprises all those single Undo actions.<br/>
+ Undo contexts can be arbitrarily nested.</p>
+
+ <h3>Hidden Undo actions</h3>
+ <p>Hidden Undo actions are those which in no observable way contribute to the undo stack. That is,
+ any method retrieving information about the stack will behave as if the undo action does not exist. Nonetheless,
+ calling <member>undo</member> respectively <member>redo</member> will include those actions.<br/>
+ Hidden Undo actions can be created by calling <member>enterHiddenUndoContext</member>, following by
+ <member>leaveUndoContext</member>.</p>
+
+ <a name="locking"></a>
+ <h3>Locking</h3>
+ <p>An Undo manager can be locked and unlocked, using the <member>XLockable::lock</member> and
+ <member>XLockable::unlock</member> methods. When it is locked, then every attempt to add an undo action, or to
+ enter or leave an Undo context, will be silently ignored.</p>
+ */
+published interface XUndoManager
+{
+ /** allows <a href="#locking">locking</a> the undo manager.
+ */
+ interface ::com::sun::star::util::XLockable;
+
+ /** allows accessing the component, usually a document, which the undo manager works for.
+
+ <p><member scope="com::sun::star::container">XChild::setParent</member> is not supported, and will throw
+ an <type scope="com::sun::star::lang">NoSupportException</type>.</p>
+ */
+ interface ::com::sun::star::container::XChild;
+
+ /** enters a new undo context.
+
+ <p>A new undo action will be added to the undo stack, with the title given as <code>i_title</code>. As long
+ as the context is not left, every undo action added to the stack will be treated as sub action. This means
+ it will not be directly accessible at the Undo manager, not appear in any user interface, and cannot be
+ separately undone or re-done.</p>
+
+ <p>Each call to <code>enterUndoContext</code> must be paired by a call to <member>leaveUndoContext</member>,
+ otherwise, the document's undo stack is left in an inconsistent state.</p>
+
+ <p>Undo contexts can be nested, i.e. it is legitimate to call <code>enterUndoContext</code> and
+ <member>enterHiddenUndoContext</member> multiple times without calling <member>leaveUndoContext</member> inbetween.</p>
+
+ @see leaveUndoContext
+ */
+ void enterUndoContext(
+ [in] string i_title
+ );
+
+ /** enters a new undo context, creating a hidden undo action.
+
+ <p>A hidden undo action does not, in any visible way, contribute to the undo stack. This means
+ that
+ <ul><li>Calling <member>undo</member> when the top-element is a hidden undo action will transparently
+ undo this action, and also undo the new top element of the stack.</li>
+ <li>Calling <member>redo</member> when the top-element is a hidden action will transparently
+ redo this action, and also redo the new top element of the stack.</li>
+ <li>In any user interface presenting the current Undo or Redo actions to the user, a hidden
+ action will not be listed.</p>
+ </ul>
+
+ <p>A new undo action will be added to the undo stack. As long as the context is not left, every undo action
+ added to the stack will be treated as sub action. This means it will not be directly accessible at the undo
+ manager, not appear in any user interface, and cannot be separately undone or re-done.</p>
+
+ <p>Each call to <code>enterHiddenUndoContext</code> must be paired by a call to <member>leaveUndoContext</member>,
+ otherwise, the document's undo stack is left in an inconsistent state.</p>
+
+ <p>Undo contexts can be nested, i.e. it is legitimate to call <member>enterUndoContext</member> and
+ <code>enterHiddenUndoContext</code> multiple times without calling <member>leaveUndoContext</member> inbetween.</p>
+
+ @throws EmptyUndoStackException
+ if the undo stack is currently empty, in which case it is impossible to push a hidden undo action onto
+ it.
+
+ @see enterUndoContext
+ @see leaveUndoContext
+ */
+ void enterHiddenUndoContext()
+ raises( EmptyUndoStackException );
+
+ /** leaves the undo context previously opened via <member>enterUndoContext</member> respectively
+ <member>enterHiddenUndoContext</member>.
+
+ <p>If no undo action has been added since the context has been opened, the context is not only left,
+ but silently removed, and does not contribute to the undo stack at all. In this case, possible
+ listeners will be notified via <member>XUndoManagerListener::cancelledContext</member>.</p>
+
+ <p>Otherwise, the undo context will be closed, and added to the Undo stack; the redo stack will be cleared,
+ and listeners will be notified via <member>XUndoManagerListener::leftContext</member> resp.
+ <member>XUndoManagerListener::leftHiddenContext</member></p>
+
+ @throws ::com::sun::star::util::InvalidStateException
+ if no undo context is currently open.
+
+ @see enterUndoContext
+ @see enterHiddenUndoContext
+ */
+ void leaveUndoContext()
+ raises( ::com::sun::star::util::InvalidStateException );
+
+ /** adds the given undo action to the undo stack.
+
+ <p>The redo stack is cleared when a new action is pushed onto the undo stack.</p>
+
+ <p>The Undo manager takes ownership of any actions pushed onto the undo stack. This means that if the
+ action is finally removed from the Undo manager's control (e.g. by calling <member>clear</member> resp.
+ <member>clearRedo</member>), it will be disposed, as long as it supports the <member scope="com::sun::star::lang">XComponent</member>
+ interface.</p>
+
+ <p>If the Undo manager is <a href="#locking">locked</a> at the moment the method is called, the call will be ignored, and the undo action
+ will immediately be disposed, if applicable.</p>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given undo action is <NULL/>.
+ */
+ void addUndoAction(
+ [in] XUndoAction i_action
+ )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** reverts the most recent action on the document.
+
+ <p>Effectively, invoking this method will
+ <ul><li>invoke <member>XUndoAction::undo</member> on the top-most action of the undo stack</li>
+ <li>move this undo action from the undo stack to the redo stack</li>
+ </ul></p>
+
+ @throws EmptyUndoStackException
+ if the undo stack is currently empty
+
+ @throws UndoContextNotClosedException
+ if there currently is an open undo context
+
+ @throws UndoFailedException
+ if the invocation of <member>XUndoAction::undo</member> raised this exception. In this case, the undo stack
+ of the undo manager will have been cleared.
+
+ @see redo
+ @see enterUndoContext
+ */
+ void undo()
+ raises( ::com::sun::star::document::EmptyUndoStackException,
+ ::com::sun::star::document::UndoContextNotClosedException,
+ ::com::sun::star::document::UndoFailedException );
+
+ /** replays the action on the document which has most recently been undone
+
+ <p>Effectively, invoking this method will
+ <ul><li>invoke <member>XUndoAction::redo</member> on the top-most action of the redo stack</li>
+ <li>move this action from the redo stack to the undo stack</li>
+ </ul></p>
+
+ @throws EmptyUndoStackException
+ when the Redo stack is currently empty
+
+ @throws UndoContextNotClosedException
+ if there currently is an open undo context
+
+ @throws UndoFailedException
+ if the invocation of <member>XUndoAction::redo</member> raised this exception. In this case, the redo stack
+ of the undo manager will have been cleared.
+
+ @see undo
+ */
+ void redo()
+ raises( ::com::sun::star::document::EmptyUndoStackException,
+ ::com::sun::star::document::UndoContextNotClosedException,
+ ::com::sun::star::document::UndoFailedException );
+
+ /** determines whether <member>undo</member> can reasonably be expected to succeed.
+
+ @return
+ <FALSE/> if and only if the undo stack is currently empty, or there is an open and not-yet-closed
+ undo context.
+ */
+ boolean isUndoPossible();
+
+ /** determines whether <member>redo</member> can reasonably be expected to succeed.
+
+ @return
+ <FALSE/> if and only if the redo stack is currently empty, or there is an open and not-yet-closed
+ undo context.
+ */
+ boolean isRedoPossible();
+
+ /** returns the title of the top-most action on the undo stack
+
+ @throws EmptyUndoStackException
+ when the undo stack is currently empty
+
+ @see XUndoAction::Title
+ */
+ string getCurrentUndoActionTitle()
+ raises( ::com::sun::star::document::EmptyUndoStackException );
+
+ /** returns the title of the top-most action on the Redo stack
+
+ @throws EmptyUndoStackException
+ when the Redo stack is currently empty
+ @see XUndoAction::Title
+ */
+ string getCurrentRedoActionTitle()
+ raises( ::com::sun::star::document::EmptyUndoStackException );
+
+ /** returns the titles of all actions currently on the undo stack, from top to bottom
+ @see XUndoAction::Title
+ */
+ sequence< string >
+ getAllUndoActionTitles();
+
+ /** returns the titles of all actions currently on the Redo stack, from top to bottom
+
+ @see XUndoAction::Title
+ */
+ sequence< string >
+ getAllRedoActionTitles();
+
+ /** clears the undo and the redo stack.
+
+ <p>All actions will be removed from both the Undo and the Redo stack. Actions which implement the
+ <type scope="com::sun::star::lang">XComponent</type> interface will be disposed.</p>
+
+ @throws UndoContextNotClosedException
+ if the method is invoked while an undo context is still open
+ */
+ void clear()
+ raises( ::com::sun::star::document::UndoContextNotClosedException );
+
+ /** clears the redo stack.
+
+ <p>All actions will be removed from the Redo stack. Actions which implement the <type scope="com::sun::star::lang">XComponent</type>
+ interface will be disposed.</p>
+
+ @throws UndoContextNotClosedException
+ if the method is invoked while an undo context is still open
+ */
+ void clearRedo()
+ raises( ::com::sun::star::document::UndoContextNotClosedException );
+
+ /** resets the Undo manager
+
+ <p>In particular, this method will
+ <ul><li>remove all locks from the undo manager</li>
+ <li>close all open undo contexts</li>
+ <li>clear the undo stack</li>
+ <li>clear the redo stack</li>
+ </ul></p>
+
+ <p>Note that possible listeners will not get notifications for the single parts of the reset, i.e. there
+ will be no single <member>XUndoManagerListener::allActionsCleared</member>,
+ <member>XUndoManagerListener::leftContext</member>, etc., notifications. Instead, listeners will be
+ notified of the reset by calling their <member>XUndoManagerListener::resetAll</member> method.</p>
+ */
+ void reset();
+
+ /** adds a listener to be notified of changes in the Undo/Redo stacks.
+ */
+ void addUndoManagerListener(
+ [in] XUndoManagerListener i_listener
+ );
+
+ /** removes a previously added listener
+ */
+ void removeUndoManagerListener(
+ [in] XUndoManagerListener i_listener
+ );
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XUndoManagerListener.idl b/offapi/com/sun/star/document/XUndoManagerListener.idl
new file mode 100755
index 000000000000..045e74761794
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManagerListener.idl
@@ -0,0 +1,144 @@
+/*************************************************************************
+ * 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_document_XUndoManagerListener_idl__
+#define __com_sun_star_document_XUndoManagerListener_idl__
+
+#include <com/sun/star/document/UndoManagerEvent.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** implemented by components which want to be notified of changes in the Undo/Redo stacks of an Undo manager.
+
+ @see XUndoManager
+ */
+published interface XUndoManagerListener : ::com::sun::star::lang::XEventListener
+{
+ /** is called when an undo action is added to the undo stack.
+
+ <p>Note that the action must not necessarily be the new top element of the stack: In case there's an
+ open Undo context, <member>UndoManagerEvent::UndoContextDepth</member> will be greater <code>0</code>,
+ and the newly added action will be subordinate of the context action.</p>
+
+ @see XUndoManager::addUndoAction
+ */
+ void undoActionAdded( [in] UndoManagerEvent i_event );
+
+ /** is called when the top-most action of the undo stack has been undone.
+
+ @see XUndoManager::undo
+ */
+ void actionUndone( [in] UndoManagerEvent i_event );
+
+ /** is called when the top-most action of the Redo stack has been re-applied.
+
+ @see XUndoManager::redo
+ */
+ void actionRedone( [in] UndoManagerEvent i_event );
+
+ /** is called when both the Undo and the Redo stack have been cleared from all Undo actions.
+
+ @see XUndoManager::clear
+ */
+ void allActionsCleared( [in] ::com::sun::star::lang::EventObject i_event );
+
+ /** is called when the the Redo stack has been cleared.
+
+ @see XUndoManager::clearRedo
+ */
+ void redoActionsCleared( [in] ::com::sun::star::lang::EventObject i_event );
+
+ /** called when the complete undo manager has been reset
+ */
+ void resetAll( [in] ::com::sun::star::lang::EventObject i_event );
+
+ /** is called when a new Undo context has been entered.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and
+ <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, including the
+ one just entered.</p>
+
+ @see XUndoManager::enterUndoContext
+ */
+ void enteredContext( [in] UndoManagerEvent i_event );
+
+ /** is called when a new hidden Undo context has been entered.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and
+ <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, including the
+ one just entered.</p>
+
+ @see XUndoManager::enterUndoContext
+ */
+ void enteredHiddenContext( [in] UndoManagerEvent i_event );
+
+ /** is called when an Undo context has been left.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and
+ <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, exluding the
+ one just left.</p>
+
+ @see XUndoManager::leaveUndoContext
+ @see leftHiddenUndocontext
+ @see cancelledContext
+ */
+ void leftContext( [in] UndoManagerEvent i_event );
+
+ /** is calledn when a hidden Undo context has been left.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> is empty, as hidden Undo contexts don't have
+ a title.</p>
+
+ @see XUndoManager::leaveHiddenUndoContext
+ @see leftContext
+ @see cancelledContext
+ */
+ void leftHiddenContext( [in] UndoManagerEvent i_event );
+
+ /** is called when an Undo context has been left, but no actions have been added within this context.
+
+ <p>In such a case, the context which has just been left will not contribute to the undo stack, but instead
+ be silently removed. Consequently, the <member>UndoManagerEvent::UndoActionTitle</member> is empty.</p>
+
+ @see XUndoManager::leaveUndoContext
+ @see leftContext
+ @see leftHiddenContext
+ */
+ void cancelledContext( [in] UndoManagerEvent i_event );
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XUndoManagerSupplier.idl b/offapi/com/sun/star/document/XUndoManagerSupplier.idl
new file mode 100755
index 000000000000..211dd151ecad
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManagerSupplier.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ * 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_document_XUndoManagerSupplier_idl__
+#define __com_sun_star_document_XUndoManagerSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+published interface XUndoManager;
+
+//==================================================================================================================
+
+/** provides access to an XUndoManager.
+ */
+published interface XUndoManagerSupplier
+{
+ /** returns the Undo manager associated with the component.
+ */
+ XUndoManager getUndoManager();
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XViewDataSupplier.idl b/offapi/com/sun/star/document/XViewDataSupplier.idl
new file mode 100644
index 000000000000..0a27b906f358
--- /dev/null
+++ b/offapi/com/sun/star/document/XViewDataSupplier.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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_document_XViewDataSupplier_idl__
+#define __com_sun_star_document_XViewDataSupplier_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module document {
+
+//=============================================================================
+/** gives access to some properties describing all open views to a document
+
+ <p>
+ Each view is described by a sequence< ::com::sun::star::beans::PropertyValue >.
+ Through this interface the state of all open views can be retrieved and restored
+ later. These states can also be made persistent so that a document loader can create
+ all views of the correct types and restore their state to the state when the document was
+ saved.
+ </p>
+ */
+published interface XViewDataSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** retrieve informations about currently opened view to restore it later
+
+ @returns
+ a <type scope="com::sun::star::container">XIndexAccess</type>,
+ that gives access to a list of <type scope="com::sun::star::beans">PropertyValue</type>
+ for every open view. May <NULL/> if no view is currently available.
+ */
+ ::com::sun::star::container::XIndexAccess getViewData();
+
+ //-------------------------------------------------------------------------
+ /** restore all views which will be represented by given data argument
+
+ @param Data
+ a list of <type scope="com::sun::star::beans">PropertyValue</type>s
+ with information about last opened views to restore it
+ <NULL/> isn't allowed here.
+ */
+ void setViewData( [in] com::sun::star::container::XIndexAccess Data );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/document/makefile.mk b/offapi/com/sun/star/document/makefile.mk
new file mode 100644
index 000000000000..1521e6b9513c
--- /dev/null
+++ b/offapi/com/sun/star/document/makefile.mk
@@ -0,0 +1,131 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdocument
+PACKAGE=com$/sun$/star$/document
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AmbigousFilterRequest.idl\
+ BrokenPackageRequest.idl\
+ CorruptedFilterConfigurationException.idl\
+ ChangedByOthersRequest.idl\
+ DocumentEvent.idl\
+ DocumentInfo.idl\
+ DocumentProperties.idl\
+ EventDescriptor.idl\
+ EventObject.idl\
+ Events.idl\
+ ExportFilter.idl\
+ ExtendedTypeDetection.idl\
+ ExtendedTypeDetectionFactory.idl\
+ FilterAdapter.idl\
+ FilterFactory.idl\
+ FilterOptionsRequest.idl\
+ HeaderFooterSettings.idl\
+ ImportFilter.idl\
+ LinkTarget.idl\
+ LinkTargets.idl\
+ LockFileIgnoreRequest.idl\
+ LockedDocumentRequest.idl\
+ LockedOnSavingRequest.idl\
+ MacroExecMode.idl\
+ MediaDescriptor.idl\
+ NoSuchFilterRequest.idl\
+ OfficeDocument.idl\
+ OleEmbeddedServerRegistration.idl\
+ OwnLockOnDocumentRequest.idl\
+ PDFDialog.idl\
+ PrinterIndependentLayout.idl\
+ RedlineDisplayType.idl \
+ Settings.idl\
+ StandaloneDocumentInfo.idl\
+ TypeDetection.idl\
+ UpdateDocMode.idl\
+ XActionLockable.idl\
+ XBinaryStreamResolver.idl\
+ XDocumentEventBroadcaster.idl\
+ XDocumentEventListener.idl\
+ XDocumentInfo.idl\
+ XDocumentInfoSupplier.idl\
+ XDocumentInsertable.idl\
+ XDocumentProperties.idl\
+ XDocumentPropertiesSupplier.idl\
+ XDocumentRecovery.idl\
+ XDocumentSubStorageSupplier.idl\
+ XEmbeddedObjectResolver.idl\
+ XEmbeddedObjectSupplier.idl\
+ XEmbeddedObjectSupplier2.idl\
+ XEmbeddedScripts.idl\
+ XEventBroadcaster.idl\
+ XEventListener.idl\
+ XEventsSupplier.idl\
+ XExporter.idl\
+ XExtendedFilterDetection.idl\
+ XFilter.idl\
+ XFilterAdapter.idl\
+ XGraphicObjectResolver.idl\
+ XImporter.idl\
+ XInteractionFilterOptions.idl\
+ XInteractionFilterSelect.idl\
+ XLinkTargetSupplier.idl\
+ XMimeTypeInfo.idl\
+ XOOXMLDocumentPropertiesImporter.idl\
+ XRedlinesSupplier.idl \
+ XScriptInvocationContext.idl\
+ XStandaloneDocumentInfo.idl\
+ XStorageBasedDocument.idl\
+ XStorageChangeListener.idl\
+ XTypeDetection.idl\
+ XViewDataSupplier.idl\
+ LinkUpdateModes.idl\
+ XDocumentRevisionListPersistence.idl\
+ DocumentRevisionListPersistence.idl \
+ XDocumentLanguages.idl \
+ XCodeNameQuery.idl \
+ XUndoAction.idl \
+ XUndoManager.idl \
+ XUndoManagerListener.idl \
+ XUndoManagerSupplier.idl \
+ UndoManagerEvent.idl \
+ EmptyUndoStackException.idl \
+ UndoContextNotClosedException.idl \
+ UndoFailedException.idl \
+
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk