summaryrefslogtreecommitdiff
path: root/udkapi/com/sun/star/beans/MethodConcept.idl
blob: 4eb9e0c6eee49177db9d5420e6e29553c5054015 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2008 by Sun Microsystems, Inc.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * $RCSfile: MethodConcept.idl,v $
 * $Revision: 1.13 $
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
#ifndef __com_sun_star_beans_MethodConcept_idl__
#define __com_sun_star_beans_MethodConcept_idl__


//=============================================================================

 module com {  module sun {  module star {  module beans {

//=============================================================================
/** These constants are used to specify concepts of the
    introspection which apply to methods.

    <p>This list is not necessarily complete; new constants
    may be added.</p>
    @see Introspection
    @see XIntrospection
    @see XIntrospectionAccess

*/
published constants MethodConcept
{
    //-------------------------------------------------------------------------
    /** This value is used to query for all methods, see
        <member>XIntrospectionAccess::getMethod()</member> and
        <member>XIntrospectionAccess::getMethods()</member>
     */
    const long ALL = -1;

    //-------------------------------------------------------------------------
    /** specifies methods which can result in an unstable state
        (i.e. deadlock, application crash, security hole, etc.)
        when called directly by the user.
     */
    const long DANGEROUS = 1;

    //-------------------------------------------------------------------------
    /** specifies methods which are used to set and get the
        value of properties/attributes.

        <p>These methods have the signature <code>type get...()
        </code>, <code>void set...()</code> or <code>boolean is...()
        </code>. </p>
     */
    const long PROPERTY = 2;

    //-------------------------------------------------------------------------
    /** specifies methods of the <em>listener concept</em>.

        <p>These methods have the signature <code>add...Listener()
        </code> or <code>remove...Listener()</code>. </p>
     */
    const long LISTENER = 4;

    //-------------------------------------------------------------------------
    /** specifies methods of the <em>enumeration concept</em>.

        <p>These methods have the signature
        <code>create...Enumeration</code> and return an interface
        that is derived from <type scope="com::sun::star::container">
        XEnumeration</type> Additionally, the method
        <method scope="com::sun::star::container">XEnumerationAccess::getElementType</method>
        belongs to this concept.</p>
     */
    const long ENUMERATION = 8;

    //-------------------------------------------------------------------------
    /** specifies methods of the <em>name container concept</em>.

        <p>These methods have the signature
        <code>get...ByName()</code>,
        <code>set...ByName()</code>,
        <code>replace...ByName()</code>,
        <code>remove...ByName()</code>,
        <code>has...ByName()</code>, or
        <code>get...Names</code>.  In addition, the method
        <method scope="com::sun::star::container">XEnumerationAccess::getElementType</method>
        belongs to this concept. </p>
     */
    const long NAMECONTAINER = 16;

    //-------------------------------------------------------------------------
    /** specifies methods of the <em>index container concept</em>.

        <p>These methods have the signature
        <code>get...ByIndex()</code>,
        <code>insert...ByIndex()</code>,
        <code>replace...ByIndex()</code>, or
        <code>remove...ByIndex()</code>.
        The method <member scope="com::sun::star::container">
        XIndexAccess::getCount()</member>
        also belongs to this concept. </p>
     */
    const long INDEXCONTAINER = 32;

};

//=============================================================================

}; }; }; };

#endif