| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the 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 OpenOffice 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 OpenOffice 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 |