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_report_meta_XFunctionManager_idl__
24#define __com_sun_star_report_meta_XFunctionManager_idl__
25
26#include <com/sun/star/lang/XComponent.idl>
27#include <com/sun/star/container/XIndexAccess.idl>
28#include <com/sun/star/container/NoSuchElementException.idl>
29#include <com/sun/star/lang/DisposedException.idl>
30#include <com/sun/star/report/meta/XFunctionCategory.idl>
31#include <com/sun/star/report/meta/XFunctionDescription.idl>
32
33//=============================================================================
34module com {  module sun {  module star {  module report { module meta {
35/** identifies a <type>XFunctionManager</type> which allows to retrieve the meta data of all supported functions.
36
37*/
38published interface XFunctionManager
39{
40    /** allows life-time control of report engine.
41     */
42    interface com::sun::star::lang::XComponent;
43    /** gives access to all categories
44    */
45    interface com::sun::star::container::XIndexAccess;
46
47    /** same as getByIndex.
48        @param  position    The postion.
49        @see com.ssun.star.container.XIndexAccess
50    */
51    XFunctionCategory getCategory([in] long position)
52        raises( com::sun::star::lang::IndexOutOfBoundsException,
53                    com::sun::star::lang::WrappedTargetException );
54
55    /** get the function description by name
56        @param  name    the name of the function
57    */
58    XFunctionDescription getFunctionByName([in] string name)
59        raises( com::sun::star::container::NoSuchElementException);
60};
61
62//=============================================================================
63
64}; }; }; }; };
65
66/*=============================================================================
67
68=============================================================================*/
69
70#endif
71