/**************************************************************
 * 
 * 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_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 completly. 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