1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_sdb_XDocumentDataSource_idl__ 24#define __com_sun_star_sdb_XDocumentDataSource_idl__ 25 26#ifndef __com_sun_star_sdb_XOfficeDatabaseDocument_idl__ 27#include <com/sun/star/sdb/XOfficeDatabaseDocument.idl> 28#endif 29 30//============================================================================= 31 32 module com { module sun { module star { module sdb { 33 34//============================================================================= 35/** simplifies the accessing of data sources and their corresponding database document. 36 37 <p> 38 The interface can be used to access the data source of the database document. 39 </p> 40 @see OfficeDatabaseDocument 41 */ 42published interface XDocumentDataSource 43{ 44 /** provides access to the one and only <type>OfficeDatabaseDocument</type> 45 which the data source is based on. 46 47 <p>The component returned by this attribute is an <type>OfficeDatabaseDocument</type>.</p> 48 49 <p>Though there is a 1-to-1 relationship between database documents and data sources, 50 each of the two can exist without its counterpart, but create this counterpart on request 51 only. As a consequence, the document obtained via this attribute might be newly created, 52 which implies that the caller is now responsible for it. In particular, the caller is 53 responsible for calling <member scope="com::sun::star::util">XCloseable::close</member> 54 on the document as soon as it's not needed anymore.</p> 55 56 <p>Additionally, if the caller does long-lasting processing on the document, it's advised 57 to add itself as <type scope="com::sun::star::util">XCloseListener</type> to the document, 58 to prevent closing as long as the processing lasts.</p> 59 */ 60 [readonly, attribute] XOfficeDatabaseDocument DatabaseDocument; 61}; 62 63//============================================================================= 64 65}; }; }; }; 66 67/*============================================================================= 68 69=============================================================================*/ 70#endif 71 72