diff options
author | Kai Sommerfeld <kso@openoffice.org> | 2002-11-11 07:35:49 +0000 |
---|---|---|
committer | Kai Sommerfeld <kso@openoffice.org> | 2002-11-11 07:35:49 +0000 |
commit | 970e23ab9d50ebdf82351c959d1daaaf36065ff2 (patch) | |
tree | e77ca196d773292b68440e645a6967ee8578a55d /udkapi | |
parent | f14c1f894317f7e814780e9eade40c929e04b26d (diff) |
#104677# - Introduced/modified for Type Description Manager/Provider Enumeration
Interface.
Diffstat (limited to 'udkapi')
9 files changed, 674 insertions, 6 deletions
diff --git a/udkapi/com/sun/star/reflection/InvalidTypeNameException.idl b/udkapi/com/sun/star/reflection/InvalidTypeNameException.idl new file mode 100644 index 000000000000..8e27792f98a4 --- /dev/null +++ b/udkapi/com/sun/star/reflection/InvalidTypeNameException.idl @@ -0,0 +1,87 @@ +/************************************************************************* + * + * $RCSfile: InvalidTypeNameException.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: kso $ $Date: 2002-11-11 08:30:05 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef __com_sun_star_reflection_InvaildTypeNameException_idl__ +#define __com_sun_star_reflection_InvalidTypeNameException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** thrown in case that a certain type name does exist, but does not meet + some other criteria. + */ +exception InvalidTypeNameException : com::sun::star::uno::Exception +{ +}; + + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/NoSuchTypeNameException.idl b/udkapi/com/sun/star/reflection/NoSuchTypeNameException.idl new file mode 100644 index 000000000000..5b9fd67ea9b9 --- /dev/null +++ b/udkapi/com/sun/star/reflection/NoSuchTypeNameException.idl @@ -0,0 +1,86 @@ +/************************************************************************* + * + * $RCSfile: NoSuchTypeNameException.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: kso $ $Date: 2002-11-11 08:30:07 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef __com_sun_star_reflection_NoSuchTypeNameException_idl__ +#define __com_sun_star_reflection_NoSuchTypeNameException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** thrown in case that a certain type name does not exist. + */ +exception NoSuchTypeNameException : com::sun::star::uno::Exception +{ +}; + + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl b/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl index aa0e5431c98c..fa29669fb0d7 100644 --- a/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl +++ b/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl @@ -2,9 +2,9 @@ * * $RCSfile: TypeDescriptionManager.idl,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: dbo $ $Date: 2002-11-06 10:26:47 $ + * last change: $Author: kso $ $Date: 2002-11-11 08:30:08 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -77,6 +77,9 @@ #include <com/sun/star/lang/XComponent.idl> #endif +#ifndef __com_sun_star_reflection_XTypeDescriptionEnumerationAccess_idl__ +#include <com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl> +#endif //============================================================================= @@ -109,14 +112,21 @@ service TypeDescriptionManager The returned values are of interface type <type>XTypeDescription</type>. */ interface com::sun::star::container::XHierarchicalNameAccess; + /** You can manually add or remove a providers via this interface. */ interface com::sun::star::container::XSet; + /** Interface to signal shutdown to the manager.<br> This signals all providers to shut down, because usually each provider references its manager, listening for disposing events. */ [optional] interface com::sun::star::lang::XComponent; + + /** Interface for creating enumerations for type descriptions supported + by this <type>TypeDescriptionManager</type> + */ + interface XTypeDescriptionEnumerationAccess; }; //============================================================================= @@ -126,6 +136,9 @@ service TypeDescriptionManager /*============================================================================= $Log: not supported by cvs2svn $ + Revision 1.9 2002/11/06 10:26:47 dbo + #104560# docu + Revision 1.8 2002/10/29 14:32:33 dbo #104560# docu diff --git a/udkapi/com/sun/star/reflection/TypeDescriptionProvider.idl b/udkapi/com/sun/star/reflection/TypeDescriptionProvider.idl index d53e78783fdf..415bad5b710a 100644 --- a/udkapi/com/sun/star/reflection/TypeDescriptionProvider.idl +++ b/udkapi/com/sun/star/reflection/TypeDescriptionProvider.idl @@ -2,9 +2,9 @@ * * $RCSfile: TypeDescriptionProvider.idl,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: dbo $ $Date: 2002-11-06 10:26:47 $ + * last change: $Author: kso $ $Date: 2002-11-11 08:30:09 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -69,6 +69,9 @@ #include <com/sun/star/lang/XComponent.idl> #endif +#ifndef __com_sun_star_reflection_XTypeDescriptionEnumerationAccess_idl__ +#include <com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl> +#endif //============================================================================= @@ -94,12 +97,18 @@ service TypeDescriptionProvider The returned values are of interface type <type>XTypeDescription</type>. */ interface com::sun::star::container::XHierarchicalNameAccess; + /** Interface to signal shutdown to the provider.<br> This has to be done manually, because usually each provider references its manager (which may implement type caching) for late resolution of partial types (e.g. parameter types). */ interface com::sun::star::lang::XComponent; + + /** Interface for creating enumerations for type descriptions supported + by this <type>TypeDescriptionProvider</type> + */ + interface XTypeDescriptionEnumerationAccess; }; //============================================================================= @@ -109,6 +118,9 @@ service TypeDescriptionProvider /*============================================================================= $Log: not supported by cvs2svn $ + Revision 1.8 2002/11/06 10:26:47 dbo + #104560# docu + Revision 1.7 2002/10/29 14:32:33 dbo #104560# docu diff --git a/udkapi/com/sun/star/reflection/TypeDescriptionSearchDepth.idl b/udkapi/com/sun/star/reflection/TypeDescriptionSearchDepth.idl new file mode 100644 index 000000000000..7cd533266a0d --- /dev/null +++ b/udkapi/com/sun/star/reflection/TypeDescriptionSearchDepth.idl @@ -0,0 +1,91 @@ +/************************************************************************* + * + * $RCSfile: TypeDescriptionSearchDepth.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: kso $ $Date: 2002-11-11 08:30:09 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef __com_sun_star_reflection_TypeDescriptionSearchDepth_idl__ +#define __com_sun_star_reflection_TypeDescriptionSearchDepth_idl__ + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Defines depths for searching through type description collections. + */ +enum TypeDescriptionSearchDepth +{ + /** Infinite search depth. Search through all children including direct + children, grand children, grand children's children, ... + */ + INFINITE = -1, + + /** Search only through direct children. + */ + ONE = 1 +}; + + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XServiceTypeDescription.idl b/udkapi/com/sun/star/reflection/XServiceTypeDescription.idl new file mode 100644 index 000000000000..77310bb1756b --- /dev/null +++ b/udkapi/com/sun/star/reflection/XServiceTypeDescription.idl @@ -0,0 +1,127 @@ +/************************************************************************* + * + * $RCSfile: XServiceTypeDescription.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: kso $ $Date: 2002-11-11 08:30:09 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef __com_sun_star_reflection_XServiceTypeDescription_idl__ +#define __com_sun_star_reflection_XServiceTypeDescription_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif +#ifndef __com_sun_star_reflection_XInterfaceTypeDescription_idl__ +#include <com/sun/star/reflection/XInterfaceTypeDescription.idl> +#endif +#ifndef __com_sun_star_reflection_PropertyDescription_idl__ +#include <com/sun/star/reflection/PropertyDescription.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects a service. + + <p>The type class of this type is + <member scope="com::sun::star::uno">TypeClass::SERVICE</type>. + */ +interface XServiceTypeDescription : com::sun::star::reflection::XTypeDescription +{ + /** Returns the type descriptions of the mandatory services + defined for this service. + + @return a sequence containing service type descriptions. + */ + sequence< XServiceTypeDescription > getMandatoryServices(); + + /** Returns the type descriptions of the optional services + defined for this service. + + @return a sequence containing service type descriptions. + */ + sequence< XServiceTypeDescription > getOptionalServices(); + + /** Returns the type descriptions of the mandatory interfaces + defined for this service. + + @return a sequence containing interface type descriptions. + */ + sequence< XInterfaceTypeDescription > getMandatoryInterfaces(); + + /** Returns the type descriptions of the optional interface + defined for this service. + + @return a sequence containing interface type descriptions. + */ + sequence< XInterfaceTypeDescription > getOptionalInterfaces(); + + /** Returns the properties defined for this service. + + @return a sequence containing property descriptions. + */ + sequence< PropertyDescription > getProperties(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XTypeDescriptionEnumeration.idl b/udkapi/com/sun/star/reflection/XTypeDescriptionEnumeration.idl new file mode 100644 index 000000000000..d46466ad3f5f --- /dev/null +++ b/udkapi/com/sun/star/reflection/XTypeDescriptionEnumeration.idl @@ -0,0 +1,101 @@ +/************************************************************************* + * + * $RCSfile: XTypeDescriptionEnumeration.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: kso $ $Date: 2002-11-11 08:30:10 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef __com_sun_star_reflection_XTypeDescriptionEnumeration_idl__ +#define __com_sun_star_reflection_XTypeDescriptionEnumeration_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif +#ifndef __com_sun_star_container_XEnumeration_idl__ +#include <com/sun/star/container/XEnumeration.idl> +#endif +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Defines an enumeration for type descriptions. + */ +interface XTypeDescriptionEnumeration : com::sun::star::container::XEnumeration +{ + /** Returns the next element of the enumeration. + + @returns + the next element of this enumeration. + + @throws com::sun::star::container::NoSuchElementException + if no more elements exist. + */ + XTypeDescription nextTypeDescription() + raises( com::sun::star::container::NoSuchElementException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl b/udkapi/com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl new file mode 100644 index 000000000000..4c5d482ae7a7 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $RCSfile: XTypeDescriptionEnumerationAccess.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: kso $ $Date: 2002-11-11 08:30:10 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef __com_sun_star_reflection_XTypeDescriptionEnumerationAccess_idl__ +#define __com_sun_star_reflection_XTypeDescriptionEnumerationAccess_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif +#ifndef __com_sun_star_uno_TypeClass_idl__ +#include <com/sun/star/uno/TypeClass.idl> +#endif +#ifndef __com_sun_star_reflection_XTypeDescriptionEnumeration_idl__ +#include <com/sun/star/reflection/XTypeDescriptionEnumeration.idl> +#endif +#ifndef __com_sun_star_reflection_TypeDescriptionSearchDepth_idl__ +#include <com/sun/star/reflection/TypeDescriptionSearchDepth.idl> +#endif +#ifndef __com_sun_star_reflection_NoSuchTypeNameException_idl__ +#include <com/sun/star/reflection/NoSuchTypeNameException.idl> +#endif +#ifndef __com_sun_star_reflection_InvalidTypeNameException_idl__ +#include <com/sun/star/reflection/InvalidTypeNameException.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Defines an interface for creating enumerations for type descriptions. + + */ +interface XTypeDescriptionEnumerationAccess : com::sun::star::uno::XInterface +{ + /** Creates an enumeration for type descriptions. + + <p>An enumeration is always created for an UNOIDL module. The + enumeration contents can be restricted by specifying type classes. + Only types that match one of the supplied type classes will be part of + the collection. Additionally, it is possible to specify the depth + for the search within the underlying type description tree. + + @param moduleName + contains the name of an UNOIDL module. Modules are seperated by a + single '.' (i.e., "com.sun.star.reflection"). The root of the module + hierarchy is specified with an empty string. Module names are always + absolute, never relative. + + @param types + restricts the contents of the enumeration. It will only contain + type descriptions that match one of the suppliedtype classes. An + empty sequence specifies that the enumeration shall contain all + type descriptions. + + @param depth + specifies the depth of search in the underlying tree of type + descriptions. Clients should be aware of the fact that specifiying + <member>TypeDescriptionSearchDepth::INFINITE</member> can lead to + larger delays when constructing or using the + <type>XTypeDescriptionEnumeration</type> instance. + + @returns + an enumeration of type descriptions. + + @throws NoSuchTypeNameException + in case that the given type name does not exist. + + @throws InvalidTypeNameException + in case that the given type name does exist, but does not specify + an UNOIDL module. + */ + XTypeDescriptionEnumeration + createTypeDescriptionEnumeration( + [in] string moduleName, + [in] sequence< com::sun::star::uno::TypeClass > types, + [in] TypeDescriptionSearchDepth depth ) + raises( NoSuchTypeNameException, InvalidTypeNameException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/makefile.mk b/udkapi/com/sun/star/reflection/makefile.mk index 7d345172f892..5d75359e2f20 100644 --- a/udkapi/com/sun/star/reflection/makefile.mk +++ b/udkapi/com/sun/star/reflection/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.8 $ +# $Revision: 1.9 $ # -# last change: $Author: jsc $ $Date: 2001-05-03 13:57:45 $ +# last change: $Author: kso $ $Date: 2002-11-11 08:30:12 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -75,13 +75,17 @@ PACKAGE=com$/sun$/star$/reflection IDLFILES=\ CoreReflection.idl\ FieldAccessMode.idl\ + InvalidTypeNameException.idl\ InvocationTargetException.idl\ MethodMode.idl\ + NoSuchTypeNameException.idl\ ParamInfo.idl\ ParamMode.idl\ + PropertyDescription.idl\ ProxyFactory.idl\ TypeDescriptionManager.idl\ TypeDescriptionProvider.idl\ + TypeDescriptionSearchDepth.idl\ XArrayTypeDescription.idl\ XCompoundTypeDescription.idl\ XUnionTypeDescription.idl\ @@ -101,7 +105,10 @@ IDLFILES=\ XInterfaceTypeDescription.idl\ XMethodParameter.idl\ XProxyFactory.idl\ + XServiceTypeDescription.idl\ XTypeDescription.idl\ + XTypeDescriptionEnumeration.idl\ + XTypeDescriptionEnumerationAccess.idl # ------------------------------------------------------------------ |