diff options
Diffstat (limited to 'offapi/com/sun/star/sdb/DocumentContainer.idl')
-rw-r--r-- | offapi/com/sun/star/sdb/DocumentContainer.idl | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/offapi/com/sun/star/sdb/DocumentContainer.idl b/offapi/com/sun/star/sdb/DocumentContainer.idl new file mode 100644 index 000000000..911cb0b3c --- /dev/null +++ b/offapi/com/sun/star/sdb/DocumentContainer.idl @@ -0,0 +1,118 @@ +/* -*- 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_sdb_DocumentContainer_idl__ +#define __com_sun_star_sdb_DocumentContainer_idl__ + +#include <com/sun/star/sdb/DefinitionContainer.idl> +#include <com/sun/star/sdb/DefinitionContent.idl> + + + module com { module sun { module star { module lang { + published interface XMultiServiceFactory; +};};};}; + + module com { module sun { module star { module frame { + published interface XComponentLoader; +};};};}; + + module com { module sun { module star { module container { + published interface XHierarchicalNameContainer; +};};};}; + + + module com { module sun { module star { module sdb { + + +/** describes a container which provides access to documents embedded into a database document, + usually forms and reports. + + <p>The com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments() + should be used to create sub document container or form, or report objects.</p> + + <p>The embedded documents do not support any particular database related service, instead, they're + usual com::sun::star::document::OfficeDocuments.<br/> + The only thing worth mentioning here is that they support the + com::sun::star::container::XChild interface, whose + com::sun::star::container::XChild::getParent() method can be used to + obtain the database document which the embedded document belongs to. + </p> + + @see DocumentDefinition + @see OfficeDatabaseDocument + */ +service DocumentContainer +{ + service DefinitionContainer; + + /** provides functionality for treating the container as part of a hierarchy + of a database document's sub documents. + + <p>The com::sun::star::ucb::XCommandProcessor::execute() method + of a <code>DocumentDefinition</code> supports at least the following commands, additionally to + the ones already supported by the DefinitionContent: + <ul> + <li><strong>open</strong>: provides a com::sun::star::ucb::XDynamicResultSet + to enumerate the content of the document container.</li> + <li><strong>delete</strong>: deletes the document container, including all contained documents.</li> + </ul> + */ + service DefinitionContent; + + /** can be used to load the document inside. + <p> + URL: describes the name of the document definition to load, + TargetFrameName: isn't used. + SearchFlags: isn't used. + Arguments: + <ol> + <li>PropertyValue</li> + Name = ActiveConnection + Value = The connection which should be used when opening the text document. + <li>PropertyValue</li> + Name = OpenMode + Value = string, "open" if the document should be opened in live mode (editing is not possible), + "openDesign" if the document should be open in design mode (editing is possible) + </ol> + @see com::sun::star::sdbc::XConnection + </p> + */ + interface com::sun::star::frame::XComponentLoader; + + /** can be used to create container elements. + <p> + If this interface is supported, the object created using it (e.g., the object returned by + com.sun.star.lang::XMultiServiceFactory::createInstanceWithArguments() + ) can be used as container elements. + </p> + */ + interface com::sun::star::lang::XMultiServiceFactory; + + /** can be used to create folder hierarchies and to organize forms or reports in different sub folders. + */ + interface com::sun::star::container::XHierarchicalNameContainer; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |