/* -*- 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 #include 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.

The XMultiServiceFactory::createInstanceWithArguments() should be used to create sub document container or form, or report objects.

The embedded documents do not support any particular database related service, instead, they're usual OfficeDocuments.
The only thing worth mentioning here is that they support the XChild interface, whose XChild::getParent method can be used to obtain the database document which the embedded document belongs to.

@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.

The XCommandProcessor::execute method of a DocumentDefinition supports at least the following commands, additionally to the ones already supported by the DefinitionContent:

*/ service DefinitionContent; /** can be used to load the document inside.

URL: describes the name of the document definition to load, TargetFrameName: isn't used. SearchFlags: isn't used. Arguments:

  1. PropertyValue
  2. Name = ActiveConnection Value = The connection which should be used when opening the text document.
  3. PropertyValue
  4. 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)
@see com::sun::star::sdbc::XConnection

*/ interface com::sun::star::frame::XComponentLoader; /** can be used to create container elements.

If this interface is supported, the object created using it (e.g., the object returned by XMultiServiceFactory::createInstanceWithArguments() ) can be used as container elements.

*/ 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: */