xref: /trunk/main/udkapi/com/sun/star/beans/MethodConcept.idl (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_beans_MethodConcept_idl__
28#define __com_sun_star_beans_MethodConcept_idl__
29
30
31//=============================================================================
32
33 module com {  module sun {  module star {  module beans {
34
35//=============================================================================
36/** These constants are used to specify concepts of the
37    introspection which apply to methods.
38
39    <p>This list is not necessarily complete; new constants
40    may be added.</p>
41    @see Introspection
42    @see XIntrospection
43    @see XIntrospectionAccess
44
45*/
46published constants MethodConcept
47{
48    //-------------------------------------------------------------------------
49    /** This value is used to query for all methods, see
50        <member>XIntrospectionAccess::getMethod()</member> and
51        <member>XIntrospectionAccess::getMethods()</member>
52     */
53    const long ALL = -1;
54
55    //-------------------------------------------------------------------------
56    /** specifies methods which can result in an unstable state
57        (i.e. deadlock, application crash, security hole, etc.)
58        when called directly by the user.
59     */
60    const long DANGEROUS = 1;
61
62    //-------------------------------------------------------------------------
63    /** specifies methods which are used to set and get the
64        value of properties/attributes.
65
66        <p>These methods have the signature <code>type get...()
67        </code>, <code>void set...()</code> or <code>boolean is...()
68        </code>. </p>
69     */
70    const long PROPERTY = 2;
71
72    //-------------------------------------------------------------------------
73    /** specifies methods of the <em>listener concept</em>.
74
75        <p>These methods have the signature <code>add...Listener()
76        </code> or <code>remove...Listener()</code>. </p>
77     */
78    const long LISTENER = 4;
79
80    //-------------------------------------------------------------------------
81    /** specifies methods of the <em>enumeration concept</em>.
82
83        <p>These methods have the signature
84        <code>create...Enumeration</code> and return an interface
85        that is derived from <type scope="com::sun::star::container">
86        XEnumeration</type> Additionally, the method
87        <method scope="com::sun::star::container">XEnumerationAccess::getElementType</method>
88        belongs to this concept.</p>
89     */
90    const long ENUMERATION = 8;
91
92    //-------------------------------------------------------------------------
93    /** specifies methods of the <em>name container concept</em>.
94
95        <p>These methods have the signature
96        <code>get...ByName()</code>,
97        <code>set...ByName()</code>,
98        <code>replace...ByName()</code>,
99        <code>remove...ByName()</code>,
100        <code>has...ByName()</code>, or
101        <code>get...Names</code>.  In addition, the method
102        <method scope="com::sun::star::container">XEnumerationAccess::getElementType</method>
103        belongs to this concept. </p>
104     */
105    const long NAMECONTAINER = 16;
106
107    //-------------------------------------------------------------------------
108    /** specifies methods of the <em>index container concept</em>.
109
110        <p>These methods have the signature
111        <code>get...ByIndex()</code>,
112        <code>insert...ByIndex()</code>,
113        <code>replace...ByIndex()</code>, or
114        <code>remove...ByIndex()</code>.
115        The method <member scope="com::sun::star::container">
116        XIndexAccess::getCount()</member>
117        also belongs to this concept. </p>
118     */
119    const long INDEXCONTAINER = 32;
120
121};
122
123//=============================================================================
124
125}; }; }; };
126
127#endif
128