summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/document/XDocumentProperties.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/document/XDocumentProperties.idl')
-rw-r--r--offapi/com/sun/star/document/XDocumentProperties.idl398
1 files changed, 398 insertions, 0 deletions
diff --git a/offapi/com/sun/star/document/XDocumentProperties.idl b/offapi/com/sun/star/document/XDocumentProperties.idl
new file mode 100644
index 000000000..5a4b1f5c2
--- /dev/null
+++ b/offapi/com/sun/star/document/XDocumentProperties.idl
@@ -0,0 +1,398 @@
+/* -*- 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_XDocumentProperties_idl__
+#define __com_sun_star_document_XDocumentProperties_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/util/DateTime.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/embed/XStorage.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/io/WrongFormatException.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+
+
+
+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
+ loadFromStorage() and loadFromMedium().
+ The properties may also be stored via the methods
+ storeToStorage() and storeToMedium().
+ </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 `string` 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 `string` 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 location after some time described by the
+ attribute #AutoloadSecs.
+ An empty `string` together with an
+ #AutoloadSecs 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 `string` as
+ #AutoloadURL
+ 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 appears the document
+ has just been created.
+ This is a convenience method which resets several attributes at once,
+ as follows:
+ <ul>
+ <li>#Author is set to the given parameter.</li>
+ <li>#CreationDate is set to the current date and time.
+ </li>
+ <li>#ModifiedBy is cleared.</li>
+ <li>#ModificationDate is cleared.</li>
+ <li>#PrintedBy is cleared.</li>
+ <li>#PrintDate is cleared.</li>
+ <li>#EditingDuration is cleared.</li>
+ <li>#EditingCycles is set to 1.</li>
+ </ul>
+
+ @param Author
+ the new value of the #Author attribute.
+ </p>
+ */
+ void resetUserData( [in] string Author );
+
+ /** provides access to a container for user-defined properties.
+ <p>
+ The returned object also implements the interface
+ com::sun::star::beans::XPropertySet.
+ </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 com::sun::star::embed::Storage representing the
+ ODF package
+
+ @param Medium
+ the com::sun::star::document::MediaDescriptor
+ 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 com::sun::star::document::MediaDescriptor
+ 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 Storage argument.
+ </p>
+
+ @param Storage
+ the com::sun::star::embed::Storage representing the
+ ODF package
+
+ @param Medium
+ the com::sun::star::document::MediaDescriptor
+ 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 com::sun::star::document::MediaDescriptor
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */