forked from amazingfate/loongoffice
sed -i 's,<\(TRUE\|FALSE\|VOID\|NULL\)/>,`\1`,g' Change-Id: Ia4df97ca809b00993530d67203bbe4ba7a072201
399 lines
13 KiB
Plaintext
399 lines
13 KiB
Plaintext
/* -*- 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: */
|