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
24#ifndef __com_sun_star_reflection_XServiceConstructorDescription2_idl__
25#define __com_sun_star_reflection_XServiceConstructorDescription2_idl__
26
27#include "com/sun/star/uno/XInterface.idl"
28
29module com {  module sun {  module star {  module reflection {
30
31interface XCompoundTypeDescription;
32interface XParameter;
33
34/**
35   Reflects a service constructor.
36
37   @since OOo 2.0
38 */
39interface XServiceConstructorDescription {
40    /**
41       Returns whether the constructor is a default constructor.
42
43       @return <TRUE/> if the constructor is a default constructor
44     */
45    boolean isDefaultConstructor();
46
47    /**
48       Returns the constructor's name.
49
50       @return the constructor's name; for a default constructor, an empty
51           <atom>string</atom> is returned
52     */
53    string getName();
54
55    /**
56       Returns the constructor's parameters.
57
58       @return the reflections of all the constructor's parameters, in their
59           lexical order; for a default constructor, an empty sequence is
60           returned
61     */
62    sequence<XParameter> getParameters();
63
64    /**
65       Returns the exceptions that can be raised by the constructor.
66
67       @return the reflections of all the exceptions that are listed in the
68       constructor's <code>raises</code> specification, in no particular order;
69       all elements of the returned sequence will be reflections of exception
70       types; for a default constructor, an empty sequence is returned (even
71       though the mapping of a default constructor in a particular language
72       binding may well raise certain UNO exceptions)
73     */
74    sequence<XCompoundTypeDescription> getExceptions();
75};
76
77}; }; }; };
78
79#endif
80