/*************************************************************************
 *
 * 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 completely. 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;

    //-------------------------------------------------------------------------
    /** necessary 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 initial 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
