1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_sdb_DocumentContainer_idl__
24cdf0e10cSrcweir#define __com_sun_star_sdb_DocumentContainer_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_sdb_DefinitionContainer_idl__
27cdf0e10cSrcweir#include <com/sun/star/sdb/DefinitionContainer.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir#ifndef __com_sun_star_sdb_DefinitionContent_idl__
30cdf0e10cSrcweir#include <com/sun/star/sdb/DefinitionContent.idl>
31cdf0e10cSrcweir#endif
32cdf0e10cSrcweir
33cdf0e10cSrcweir
34cdf0e10cSrcweir module com {  module sun {  module star {  module lang {
35cdf0e10cSrcweir published interface XMultiServiceFactory;
36cdf0e10cSrcweir};};};};
37cdf0e10cSrcweir
38cdf0e10cSrcweir module com {  module sun {  module star {  module frame {
39cdf0e10cSrcweir published interface XComponentLoader;
40cdf0e10cSrcweir};};};};
41cdf0e10cSrcweir
42cdf0e10cSrcweir  module com {  module sun {  module star {  module container {
43cdf0e10cSrcweir published interface XHierarchicalNameContainer;
44cdf0e10cSrcweir};};};};
45cdf0e10cSrcweir
46cdf0e10cSrcweir
47cdf0e10cSrcweir module com {  module sun {  module star {  module sdb {
48cdf0e10cSrcweir
49cdf0e10cSrcweir
50cdf0e10cSrcweir/** describes a container which provides access to documents embedded into a database document,
51cdf0e10cSrcweir    usually forms and reports.
52cdf0e10cSrcweir
53cdf0e10cSrcweir	<p>The <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
54cdf0e10cSrcweir	should be used to create sub document container or form, or report objects.</p>
55cdf0e10cSrcweir
56cdf0e10cSrcweir    <p>The embedded documents do not support any particular database related service, instead, they're
57cdf0e10cSrcweir    usual <type scope="com::sun::star::document">OfficeDocument</type>s.<br/>
58cdf0e10cSrcweir    The only thing worth mentioning here is that they support the
59cdf0e10cSrcweir    <type scope="com::sun::star::container">XChild</type> interface, whose
60cdf0e10cSrcweir    <member scope="com::sun::star::container">XChild::getParent</member> method can be used to
61cdf0e10cSrcweir    obtain the database document which the embedded document belongs to.
62cdf0e10cSrcweir    </p>
63cdf0e10cSrcweir
64cdf0e10cSrcweir	@see DocumentDefinition
65cdf0e10cSrcweir    @see OfficeDatabaseDocument
66cdf0e10cSrcweir */
67cdf0e10cSrcweirservice DocumentContainer
68cdf0e10cSrcweir{
69cdf0e10cSrcweir	service DefinitionContainer;
70cdf0e10cSrcweir
71cdf0e10cSrcweir    /** provides functionality for treating the container as part of a hierarchy
72cdf0e10cSrcweir        of a database document's sub documents.
73cdf0e10cSrcweir
74cdf0e10cSrcweir        <p>The <member scope="com::sun::star::ucb">XCommandProcessor::execute</member> method
75cdf0e10cSrcweir        of a <code>DocumentDefinition</code> supports at least the following commands, additionally to
76cdf0e10cSrcweir        the ones already supported by the DefinitionContent:
77cdf0e10cSrcweir        <ul>
78cdf0e10cSrcweir            <li><strong>open</strong>: provides a <type scope="com::sun::star::ucb::">XDynamicResultSet</type>
79cdf0e10cSrcweir                to enumerate the content of the document container.</li>
80cdf0e10cSrcweir            <li><strong>delete</strong>: deletes the document container, including all contained documents.</li>
81cdf0e10cSrcweir        </ul>
82cdf0e10cSrcweir    */
83cdf0e10cSrcweir    service DefinitionContent;
84cdf0e10cSrcweir
85cdf0e10cSrcweir	/** can be used to load the document inside.
86cdf0e10cSrcweir		<p>
87cdf0e10cSrcweir		URL: describes the name of the document definition to load,
88cdf0e10cSrcweir		TargetFrameName: isn't used.
89cdf0e10cSrcweir		SearchFlags: isn't used.
90cdf0e10cSrcweir		Arguments:
91cdf0e10cSrcweir		<ol>
92cdf0e10cSrcweir			<li>PropertyValue</li>
93cdf0e10cSrcweir				Name = ActiveConnection
94cdf0e10cSrcweir				Value = The connection which should be used when opening the text document.
95cdf0e10cSrcweir			<li>PropertyValue</li>
96cdf0e10cSrcweir				Name = OpenMode
97cdf0e10cSrcweir				Value = string, "open" if the document should be opened in live mode (editing is not possible),
98cdf0e10cSrcweir								"openDesign" if the document should be open in design mode (editing is possible)
99cdf0e10cSrcweir		</ol>
100cdf0e10cSrcweir		@see com::sun::star::sdbc::XConnection
101cdf0e10cSrcweir		</p>
102cdf0e10cSrcweir	*/
103cdf0e10cSrcweir	interface com::sun::star::frame::XComponentLoader;
104cdf0e10cSrcweir
105cdf0e10cSrcweir	/** can be used to create container elements.
106cdf0e10cSrcweir		<p>
107cdf0e10cSrcweir		If this interface is supported, the object created using it (e.g., the object returned by
108cdf0e10cSrcweir		<method scope="com.sun.star.lang">XMultiServiceFactory::createInstanceWithArguments()</method>
109cdf0e10cSrcweir		) can be used as container elements.
110cdf0e10cSrcweir		</p>
111cdf0e10cSrcweir	 */
112cdf0e10cSrcweir	interface com::sun::star::lang::XMultiServiceFactory;
113cdf0e10cSrcweir
114cdf0e10cSrcweir	/** can be used to create folder hierarchies and to organize forms or reports in different sub folders.
115cdf0e10cSrcweir	*/
116cdf0e10cSrcweir	interface com::sun::star::container::XHierarchicalNameContainer;
117cdf0e10cSrcweir};
118cdf0e10cSrcweir
119cdf0e10cSrcweir//=============================================================================
120cdf0e10cSrcweir
121cdf0e10cSrcweir}; }; }; };
122cdf0e10cSrcweir
123cdf0e10cSrcweir/*===========================================================================
124cdf0e10cSrcweir===========================================================================*/
125cdf0e10cSrcweir#endif
126