summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/document/MediaDescriptor.idl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/document/MediaDescriptor.idl
parentInitial commit. (diff)
downloadlibreoffice-upstream.tar.xz
libreoffice-upstream.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/document/MediaDescriptor.idl')
-rw-r--r--offapi/com/sun/star/document/MediaDescriptor.idl619
1 files changed, 619 insertions, 0 deletions
diff --git a/offapi/com/sun/star/document/MediaDescriptor.idl b/offapi/com/sun/star/document/MediaDescriptor.idl
new file mode 100644
index 000000000..73ea2cacb
--- /dev/null
+++ b/offapi/com/sun/star/document/MediaDescriptor.idl
@@ -0,0 +1,619 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_document_MediaDescriptor_idl__
+#define __com_sun_star_document_MediaDescriptor_idl__
+
+#include <com/sun/star/io/XOutputStream.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/task/XStatusIndicator.idl>
+#include <com/sun/star/frame/XFrame.idl>
+
+
+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 com::sun::star::beans::PropertyValue[].
+ Such descriptors will be passed to different functions, included into possible
+ load/save processes. Every member of such process can use this descriptor
+ and may change it if to actualize the information 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 than they
+ will be used (especially a possible stream). It's allowed to use it directly
+ or by copying it only.
+ </p>
+
+ @see com::sun::star::beans::PropertyValue
+ */
+service MediaDescriptor
+{
+ /** May be set by filters or detection services if user has chosen 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 addressed 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 MediaDescriptor::URL
+
+ <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 TypeDetection 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.
+
+ See this page for a list of internal filter names: https://help.libreoffice.org/latest/en-US/text/shared/guide/convertfilters.html
+ </p>
+ */
+ [optional,property] string FilterName;
+
+ /** same as MediaDescriptor::FilterOptions
+
+ <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
+ MediaDescriptor::FilterName. 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 MediaDescriptor::FilterData.
+ </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
+ MediaDescriptor::FilterOptions 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 reading only once, except when it
+ also implements the com::sun::star::io::XSeekable interface.
+ </p>
+ */
+ [optional,property] com::sun::star::io::XInputStream InputStream;
+
+ /** handle exceptional situations
+
+ <p>
+ Object implementing the com::sun::star::task::InteractionHandler
+ 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 component's 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 TypeDetection configuration (otherwise it's ignored).
+ This bypasses the type detection of the com::sun::star::frame::Desktop 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>MediaDescriptor::ReadOnly</td>
+ </tr>
+ <tr>
+ <td><em>Preview</em></td>
+ <td>B</td>
+ <td>MediaDescriptor::Preview</td>
+ </tr>
+ <tr>
+ <td><em>AsTemplate</em></td>
+ <td>T</td>
+ <td>MediaDescriptor::AsTemplate</td>
+ </tr>
+ <tr>
+ <td><em>Hidden</em></td>
+ <td>H</td>
+ <td>MediaDescriptor::Hidden</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 com::sun::star::frame::Desktop environment.
+ </p>
+ */
+ [optional,property] boolean OpenNewView;
+
+
+ /** overwrite any existing file
+
+ <p>
+ For storing only: overwrite any existing file, default is `TRUE`.
+ Setting this to `FALSE` raises an error, if the target file already exists.
+ </p>
+ */
+ [optional,property] boolean Overwrite;
+
+ /** password for loading or 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;
+
+ /** add loaded document to recent document list
+
+ <p>
+ Setting this to `FALSE` prevents the loaded document to be added to the recent documents list.
+ Default is `TRUE`.
+ </p>
+
+ @since LibreOffice 5.1
+ */
+ [optional,property] boolean PickListEntry;
+
+ /** use MediaDescriptor::PostData 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; e.g. 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, e.g. "macro:" URLs.
+ <br>
+ Don't be confused about the wrong spelling; it 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 information
+
+ <p>
+ Object implementing the com::sun::star::task::XStatusIndicator
+ 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 component's
+ 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 MediaDescriptor::TemplateRegion
+ property it can be used instead of the URL of the template. Use always in conjunction with
+ MediaDescriptor::TemplateRegionName.
+ </p>
+ */
+ [optional,property] string TemplateName;
+
+ /** name of the template instead of the URL
+
+ <p>
+ See MediaDescriptor::TemplateName. The template region names are the folder names you see
+ in the templates dialog.
+ </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 a fully qualified URL.
+ </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 com::sun::star::frame::Controller
+ object by its com::sun::star::frame::XController
+ 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 com::sun::star::document::MacroExecMode
+ 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 com::sun::star::document::UpdateDocMode
+ 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 com::sun::star::frame::XModel2::createViewController()
+ 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;
+
+ /** Setting this option will prevent copying/dragging any content anywhere.
+ The commands 'Copy' and 'Cut' will be disabled; selection clipboard won't work,
+ and dragging with mouse will also be disabled.
+
+ @since LibreOffice 6.4
+ */
+ [optional,property] boolean LockContentExtraction;
+
+ /** Setting this option will prevent exporting document content to any file.
+ Export, Send, save as, etc will be disabled,
+ as well as individual graphic/chart export and mail merge.
+
+ @since LibreOffice 6.4
+ */
+ [optional,property] boolean LockExport;
+
+ /** Setting this option will disable all print functions (including Printer setup)
+
+ @since LibreOffice 6.4
+ */
+ [optional,property] boolean LockPrint;
+
+ /** Setting this option will disable the save function.
+ *
+ @since LibreOffice 6.4
+ */
+ [optional,property] boolean LockSave;
+
+ /** Setting this option will disable switching to edit mode from read-only mode.
+ *
+ @since LibreOffice 6.4
+ */
+ [optional,property] boolean LockEditDoc;
+
+ /** Mark the document as replaceable / a placeholder
+
+ <p>Normally a document is always opened in a new frame. If this property is
+ set to true, this document just acts as a placeholder while it's unmodified.
+ I.e. the next opened document from its frame will close and replace it.</p>
+
+ <p>This defaults to false, except for the default template of a LibreOffice
+ module, referenced as "private:factory/&lt;module&gt;".</p>
+
+ @since LibreOffice 7.0
+ */
+ [optional,property] boolean Replaceable;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */