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_DefinitionContainer_idl__ 24#define __com_sun_star_sdb_DefinitionContainer_idl__ 25 26 module com { module sun { module star { module container { 27 published interface XNameAccess; 28 published interface XNameContainer; 29 published interface XIndexAccess; 30 published interface XEnumerationAccess; 31};};};}; 32 33 module com { module sun { module star { module util { 34 published interface XRefreshable; 35};};};}; 36 module com { module sun { module star { module lang { 37 published interface XSingleServiceFactory; 38};};};}; 39 40 module com { module sun { module star { module sdb { 41 42 43/** describes a container which provides access to database related definitions like 44 commands, forms, and reports. 45 46 <p> 47 The container supports access to its elements by the elements name or 48 by the elements position. 49 </p> 50 <p> 51 Simple enumeration must be supported as well. 52 </p> 53 <p> 54 To reflect the changes with the underlying database, a refresh mechanism 55 needs to be supported. 56 </p> 57 */ 58published service DefinitionContainer 59{ 60 // gives access to the elements by name. 61 interface com::sun::star::container::XNameAccess; 62 63 // allows to insert and remove by name. 64 interface com::sun::star::container::XNameContainer; 65 66 // gives access to the elements by index. 67 interface com::sun::star::container::XIndexAccess; 68 69 // allows to create an enumeration of the elements. 70 interface com::sun::star::container::XEnumerationAccess; 71 72 73 /** is used to refresh the container, to reflect changes in the underlying database. 74 */ 75 [optional] interface com::sun::star::util::XRefreshable; 76 77 /** can be used to create container elements. 78 <p> 79 If this interface is supported, the object created using it (e.g., the object returned by 80 <method scope="com.sun.star.lang">XSingleServiceFactory::createInstance()</method> 81 ) can be used as container elements. 82 </p> 83 */ 84 [optional] interface com::sun::star::lang::XSingleServiceFactory; 85}; 86 87//============================================================================= 88 89}; }; }; }; 90 91/*=========================================================================== 92===========================================================================*/ 93#endif 94