fix baseline build (old cairo) - 'cairo_rectangle_int_t' does not name a type
[LibreOffice.git] / udkapi / com / sun / star / beans / XIntrospection.idl
blob9fdb736fc66c6a5c7557b54c0720ac339f7483bd
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_beans_XIntrospection_idl__
20 #define __com_sun_star_beans_XIntrospection_idl__
22 #include <com/sun/star/uno/XInterface.idl>
24 #include <com/sun/star/beans/XIntrospectionAccess.idl>
28 module com { module sun { module star { module beans {
30 /** allows the inspection of an object's properties and methods.
32 <p><strong>Important note:</strong>An object can only be
33 inspected completely if it supports the com::sun::star::lang::XTypeProvider
34 interface.</p>
36 <p>For details see method XIntrospection::inspect(). </p>
38 @see XIntrospectionAccess
40 published interface XIntrospection: com::sun::star::uno::XInterface
42 /** inspects the given object.
44 <p>It identifies all properties supported by the object
45 if they are represented in one of the following ways: </p>
47 <dl>
48 <dt>property set </dt>
49 <dd>If the object supports an XPropertySet
50 interface, all its properties are adopted.
51 </dd>
53 <dt>attributes </dt>
54 <dd>All of an object's attributes are considered as properties
55 with same name. If an attribute is read-only, the property
56 also is read-only.
57 </dd>
59 <dt>get/set methods </dt>
60 <dd>Every method <code>RetType getX()</code> defines a
61 property where "X" stands for the property name and
62 "RetType" for its type. The method must not have any
63 parameters, or there is no property access method
64 and "X" has no property. If there is also a method
65 <code>void setX( [in] RetType )</code>, the property
66 "X" also allows write access; otherwise it is read-only.
67 </dd>
69 <dt> <strong>Important note:</strong></dt>
70 <dd>If an object implements com::sun::star::container::XNameAccess,
71 the items that can be accessed are not considered as properties
72 of the object and so are not included in the property list offered by
73 com::sun::star::beans::XIntrospectionAccess::getProperties().
74 com::sun::star::container::XNameAccess items have to be
75 accessed separately by com::sun::star::beans::XIntrospectionAccess::getNameAccess().
76 </dd>
77 </dl>
79 <p>In addition, the inspect method identifies all listener
80 access methods in the form <code>add...Listener</code>/
81 <code>remove...Listener</code> (except methods of interface
82 XPropertySet) where "..." stands for the listener type.
83 </p>
85 <p>Methods which do not belong to a property nor which represent
86 a listener access nor which are methods of XPropertySet,
87 com::sun::star::container::XNameAccess,
88 com::sun::star::container::XIndexAccess, or
89 com::sun::star::container::XEnumerationAccess, are considered to be normal
90 methods. </p>
92 @see XIntrospectionAccess
94 com::sun::star::beans::XIntrospectionAccess inspect( [in] any aObject );
99 }; }; }; };
101 #endif
103 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */