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