diff options
Diffstat (limited to 'udkapi')
451 files changed, 37571 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/beans/Ambiguous.idl b/udkapi/com/sun/star/beans/Ambiguous.idl new file mode 100644 index 000000000000..919c7250f462 --- /dev/null +++ b/udkapi/com/sun/star/beans/Ambiguous.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_Ambiguous_idl__ +#define __com_sun_star_beans_Ambiguous_idl__ + +module com { module sun { module star { module beans { + +/** + A value of a given type that can be ambiguous. + + <p>This structure is used as the type of interface attributes corresponding + to instances of <type scopye="com::sun::star::beans">Property</type> that + have the <const + scope="com::sun::star::beans">PropertyAttribute::MAYBEAMBIGUOUS</const>.</p> + */ +struct Ambiguous<T> { + /** + The underlying value of this structure instance. + + <p>Even if this structure instance is ambiguous, this member should + contain a useful value. If there is no useful value for an ambiguous + structure instance, <type scope="com::sun::star::beans">Optional</type> + can be used as the type of this member.</p> + */ + T Value; + + /** + Marks this structure instance as ambiguous. + */ + boolean IsAmbiguous; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/Defaulted.idl b/udkapi/com/sun/star/beans/Defaulted.idl new file mode 100644 index 000000000000..d67f1aacf055 --- /dev/null +++ b/udkapi/com/sun/star/beans/Defaulted.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_Defaulted_idl__ +#define __com_sun_star_beans_Defaulted_idl__ + +module com { module sun { module star { module beans { + +/** + A value of a given type that can be defaulted. + + <p>This structure is used as the type of interface attributes corresponding + to instances of <type scopye="com::sun::star::beans">Property</type> that + have the <const + scope="com::sun::star::beans">PropertyAttribute::MAYBEDEFAULT</const>.</p> + */ +struct Defaulted<T> { + /** + The underlying value of this structure instance. + + <p>Even if this structure instance is defaulted, this member should + contain a useful value. If there is no useful value for a defaulted + structure instance, <type scope="com::sun::star::beans">Optional</type> + can be used as the type of this member.</p> + */ + T Value; + + /** + Marks this structure instance as defaulted. + */ + boolean IsDefaulted; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl b/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl new file mode 100644 index 000000000000..5c1ffe05beb0 --- /dev/null +++ b/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_GetDirectPropertyTolerantResult_idl__ +#define __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__ + +#ifndef __com_sun_star_beans_TolerantPropertySetResultType_idl__ +#include <com/sun/star/beans/TolerantPropertySetResultType.idl> +#endif + +#ifndef __com_sun_star_beans_GetPropertyTolerantResult_idl__ +#include <com/sun/star/beans/GetPropertyTolerantResult.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies information being retrieved about a single property. + + This type is used for the elements in the sequence returned by + <member scope="com::sun::star::beans::XTolerantMultiPropertySet">GetDirectPropertyTolerantResult</member>. + + @see com::sun::star::beans::XTolerantMultiPropertySet + */ +published struct GetDirectPropertyTolerantResult : com::sun::star::beans::GetPropertyTolerantResult +{ + /** specifies the name of the property. + */ + + string Name; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl b/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl new file mode 100644 index 000000000000..bcde3011b5ab --- /dev/null +++ b/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl @@ -0,0 +1,82 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_GetPropertyTolerantResult_idl__ +#define __com_sun_star_beans_GetPropertyTolerantResult_idl__ + +#ifndef __com_sun_star_beans_TolerantPropertySetResultType_idl__ +#include <com/sun/star/beans/TolerantPropertySetResultType.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies information being retrieved about a single property. + + @see com::sun::star::beans::XTolerantMultiPropertySet + */ +published struct GetPropertyTolerantResult +{ + /** specifies a success or error code for the retrieval operation. + + @see com::sun::star::beans::TolerantPropertySetResultType + */ + + short Result; + + //------------------------------------------------------------------------- + + /** contains the state of the property. + + <p>The value is undefined if <var>Result</var> is not + <member scope="com::sun::star::beans::TolerantPropertySetResultType">SUCCESS</member>.</p> + */ + com::sun::star::beans::PropertyState State; + + //------------------------------------------------------------------------- + + /** contains the value of the property. + + <p>The value is undefined if <var>Result</var> is not + <member scope="com::sun::star::beans::TolerantPropertySetResultType">SUCCESS</member>.</p> + */ + any Value; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/IllegalTypeException.idl b/udkapi/com/sun/star/beans/IllegalTypeException.idl new file mode 100644 index 000000000000..72fca7c45076 --- /dev/null +++ b/udkapi/com/sun/star/beans/IllegalTypeException.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_IllegalTypeException_idl__ +#define __com_sun_star_beans_IllegalTypeException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This exception is thrown to indicate the use of a type which is + not appropriate. + + <p>This problem can occur, if you use an <atom>any</atom>. </p> + @see PropertyContainer + */ +published exception IllegalTypeException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/Introspection.idl b/udkapi/com/sun/star/beans/Introspection.idl new file mode 100644 index 000000000000..517c402d6efa --- /dev/null +++ b/udkapi/com/sun/star/beans/Introspection.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_Introspection_idl__ +#define __com_sun_star_beans_Introspection_idl__ + +#ifndef __com_sun_star_beans_XIntrospection_idl__ +#include <com/sun/star/beans/XIntrospection.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= +/** provides functionality to get information about an object's + properties and methods. + <p><strong>Important note:</strong>An object can only be + inspected completely if it supports the <type scope= + "com::sun::star::lang">XTypeProvider</type> interface.</p> + + <p>For details see method <member>XIntrospection::inspect + </member>.</p> + */ +published service Introspection +{ + /// The only interface of this service + interface com::sun::star::beans::XIntrospection; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/IntrospectionException.idl b/udkapi/com/sun/star/beans/IntrospectionException.idl new file mode 100644 index 000000000000..2f8e62589d24 --- /dev/null +++ b/udkapi/com/sun/star/beans/IntrospectionException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_IntrospectionException_idl__ +#define __com_sun_star_beans_IntrospectionException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= +/** This exception is thrown when an exception happens during + introspection. + @deprecated + + <p>This exception isn't specified and used anywhere</p> + */ +published exception IntrospectionException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/MethodConcept.idl b/udkapi/com/sun/star/beans/MethodConcept.idl new file mode 100644 index 000000000000..241902cd859e --- /dev/null +++ b/udkapi/com/sun/star/beans/MethodConcept.idl @@ -0,0 +1,127 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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 diff --git a/udkapi/com/sun/star/beans/NamedValue.idl b/udkapi/com/sun/star/beans/NamedValue.idl new file mode 100644 index 000000000000..dcaee0cd9e34 --- /dev/null +++ b/udkapi/com/sun/star/beans/NamedValue.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_NamedValue_idl__ +#define __com_sun_star_beans_NamedValue_idl__ +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a pair assembled from a name and a value. + */ +published struct NamedValue +{ + /** specifies the name part of the pair + */ + string Name; + + //------------------------------------------------------------------------- + + /** specifies the value part of the pair. + */ + any Value; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/NotRemoveableException.idl b/udkapi/com/sun/star/beans/NotRemoveableException.idl new file mode 100644 index 000000000000..bdda8ed44fba --- /dev/null +++ b/udkapi/com/sun/star/beans/NotRemoveableException.idl @@ -0,0 +1,51 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_NotRemoveableException_idl__ +#define __com_sun_star_beans_NotRemoveableException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This exception is thrown to indicate that removing a property from an + <type>XPropertyContainer</type> is not allowed. + */ +published exception NotRemoveableException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/Optional.idl b/udkapi/com/sun/star/beans/Optional.idl new file mode 100644 index 000000000000..fbf58b667c16 --- /dev/null +++ b/udkapi/com/sun/star/beans/Optional.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_Optional_idl__ +#define __com_sun_star_beans_Optional_idl__ + +module com { module sun { module star { module beans { + +/** + An optional value of a given type. + + <p>This structure is used as the type of interface attributes corresponding + to instances of <type scopye="com::sun::star::beans">Property</type> that + have the <const + scope="com::sun::star::beans">PropertyAttribute::MAYBEVOID</const>. It might + also be useful in other situations, for example as the return type of an + interface method.</p> + */ +struct Optional<T> { + /** + Marks this structure instance as having an actual value. + */ + boolean IsPresent; + + /** + The actual value of this structure instance. + + <p>If no actual value is present, a producer of such a structure instance + should leave this member defaulted, and a consumer of such a structure + instance should ignore the specific value stored in this member.</p> + */ + T Value; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/Pair.idl b/udkapi/com/sun/star/beans/Pair.idl new file mode 100644 index 000000000000..0bb214fb87bb --- /dev/null +++ b/udkapi/com/sun/star/beans/Pair.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_Pair_idl__ +#define __com_sun_star_beans_Pair_idl__ + +module com { module sun { module star { module beans { + +//============================================================================= +/** A tuple, or pair. + + <p> + This structure allows for conveniently packing together two values of + any type, and could be useful as the result type of methods. + </p> + + @since OOo 3.0 + */ +struct Pair<T, U> { + + /// first object. + T First; + + /// second object. + U Second; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/Property.idl b/udkapi/com/sun/star/beans/Property.idl new file mode 100644 index 000000000000..bd633f9a448a --- /dev/null +++ b/udkapi/com/sun/star/beans/Property.idl @@ -0,0 +1,92 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_Property_idl__ +#define __com_sun_star_beans_Property_idl__ + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This structure describes a property. + + + <dl>There are three types of properties: + <dt>- bound properties</dt> + <dt>- constrained properties</dt> + <dt>- free properties</dt> + </dl> + */ +published struct Property +{ + /** specifies the name of the property. + + <p>The name is unique within an <type>XPropertySet</type>. + Upper and lower case are distinguished.</p> + */ + string Name; + + //------------------------------------------------------------------------- + + /** contains an implementation-specific handle for the property. + + <p>It may be -1 if the implementation has no handle. You can use + this handle to get values from the <type>XFastPropertySet</type>.</p> + */ + long Handle; + + //------------------------------------------------------------------------- + + /** contains an object that identifies the declared type for + the property. + + <p>If the property has multiple types or the type is not + known, <strong>but not an <atom>any</atom></strong>, then + <const>void</const> must be returned.</p> + */ + type Type; + + //------------------------------------------------------------------------- + + /** This field may contain zero or more constants of the + <type>PropertyAttribute</type> constants group. + */ + short Attributes; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyAttribute.idl b/udkapi/com/sun/star/beans/PropertyAttribute.idl new file mode 100644 index 000000000000..23eeefba497a --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyAttribute.idl @@ -0,0 +1,121 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertyAttribute_idl__ +#define __com_sun_star_beans_PropertyAttribute_idl__ + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** These values are used to specify the behavior of a <type>Property</type>. + */ +published constants PropertyAttribute +{ + //------------------------------------------------------------------------- + + /** indicates that a property value can be void. + + <p>It does not mean that the type of the property is void! + */ + const short MAYBEVOID = 1; + + //------------------------------------------------------------------------- + + /** indicates that a <type>PropertyChangeEvent</type> will be fired + to all registered <type>XPropertyChangeListener</type>s whenever the + value of this property changes. + */ + const short BOUND = 2; + + //------------------------------------------------------------------------- + + /** indicates that a <type>PropertyChangeEvent</type> will be fired + to all registered <type>XVetoableChangeListener</type>s whenever the + value of this property changes. + + <p>This always implies that the property is <em>bound</em>, too. </p> + */ + const short CONSTRAINED = 4; + + //------------------------------------------------------------------------- + + /** indicates that the value of the property is not persistent. + */ + const short TRANSIENT = 8; + + //------------------------------------------------------------------------- + + /** indicates that the value of the property is read-only. + */ + const short READONLY = 16; + + //------------------------------------------------------------------------- + + /** indicates that the value of the property can be ambiguous. + */ + const short MAYBEAMBIGUOUS = 32; + + //------------------------------------------------------------------------- + + /** indicates that the property can be set to default. + */ + const short MAYBEDEFAULT = 64; + + //------------------------------------------------------------------------- + + /** indicates that the property can be removed + (i.e., by calling <member>XPropertyContainer::removeProperty</member>). + */ + const short REMOVEABLE = 128; + + //------------------------------------------------------------------------- + /** @deprecated + same as <const>PropertyAttribute::REMOVEABLE</const>. + */ + const short REMOVABLE = 128; + + //------------------------------------------------------------------------- + /** indicates that a property is optional. + + <p>This attribute is not of interest for concrete property + implementations. It's needed for property specifications inside + service specifications in UNOIDL. + + @see com::sun::star::reflection::XPropertyTypeDescription + @see com::sun::star::reflection::XServiceTypeDescription + @since OOo 1.1.2 + */ + const short OPTIONAL = 256; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyBag.idl b/udkapi/com/sun/star/beans/PropertyBag.idl new file mode 100644 index 000000000000..c0026af4b81a --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyBag.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertyBag_idl__ +#define __com_sun_star_beans_PropertyBag_idl__ + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyContainer_idl__ +#include <com/sun/star/beans/XPropertyContainer.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyAccess_idl__ +#include <com/sun/star/beans/XPropertyAccess.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** Implementation of this service can keep any properties and is useful + when an <type>XPropertySet</type> is to be used, for example, as parameters for a method call. + + <p>Scripting engines might not be able to use such objects as normal + property sets, giving direct access to the properties. In this case, + use the methods like <member>XPropertySet::getPropertyValue</member>. + */ +published service PropertyBag +{ + interface com::sun::star::beans::XPropertySet; + + interface com::sun::star::beans::XPropertyContainer; + + interface com::sun::star::beans::XPropertyAccess; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyChangeEvent.idl b/udkapi/com/sun/star/beans/PropertyChangeEvent.idl new file mode 100644 index 000000000000..874373a2b1c1 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyChangeEvent.idl @@ -0,0 +1,94 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertyChangeEvent_idl__ +#define __com_sun_star_beans_PropertyChangeEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** gets delivered whenever a "bound" or "constrained" property is changed. + + <p>A <type>PropertyChangeEvent</type> object is sent as an + argument to the methods of <type>XPropertyChangeListener</type> + and <type>XVetoableChangeListener</type>. </p> + + <p>Normally such events contain the name and the old and new + value of the changed property. </p> + + <p>Void values may be provided for the old and new values if their + true values are not known. </p> + */ +published struct PropertyChangeEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + + /** contains the unique name of the property which changes its value. + */ + string PropertyName; + + //------------------------------------------------------------------------- + + /** contains <true/> if further events in the same transaction occur. + */ + boolean Further; + + //------------------------------------------------------------------------- + + /** contains the implementation handle for the property. + + <p>May be -1 if the implementation has no handle. You can use + this handle to get values from the <type>XFastPropertySet</type>.</p> + */ + long PropertyHandle; + + //------------------------------------------------------------------------- + + /** contains the old value of the property. + */ + any OldValue; + + //------------------------------------------------------------------------- + + /** contains the new value of the property. + */ + any NewValue; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyConcept.idl b/udkapi/com/sun/star/beans/PropertyConcept.idl new file mode 100644 index 000000000000..46d95a8da78b --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyConcept.idl @@ -0,0 +1,93 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertyConcept_idl__ +#define __com_sun_star_beans_PropertyConcept_idl__ + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= +/** These constants are used to specify concepts of the + introspection which apply to properties and to the + methods which represent attributes. + + <p>This list is not necessarily complete; new constants + may be added.</p> + + @see Introspection + @see XIntrospection + @see XIntrospectionAccess + */ +published constants PropertyConcept +{ + //------------------------------------------------------------------------- + /** This value is used to query for all properties. + + See + <member>XIntrospectionAccess::getProperty()</member> and + <member>XIntrospectionAccess::getProperties()</member> + */ + const long ALL = -1; + + //------------------------------------------------------------------------- + /** specifies that the change or retrieval of this + property directly by the user can result in an unstable + state (deadlock, application crash, security hole, etc.) + */ + const long DANGEROUS = 1; + + //------------------------------------------------------------------------- + /** specifies all properties which are reachable by + <type>XPropertySet</type>, <type>XFastPropertySet</type> or + <type>XMultiPropertySet</type>. + */ + const long PROPERTYSET = 2; + + //------------------------------------------------------------------------- + + /** specifies all properties which are actually attributes of interfaces. + */ + const long ATTRIBUTES = 4; + + //------------------------------------------------------------------------- + + /** specifies all properties which are represented by getter or setter methods. + + <p>These methods have the signature <code>type get...()</code>, + <code>void set...()</code> or <code>boolean is...()</code>.</p> + */ + const long METHODS = 8; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyExistException.idl b/udkapi/com/sun/star/beans/PropertyExistException.idl new file mode 100644 index 000000000000..4013e3b092fc --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyExistException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertyExistException_idl__ +#define __com_sun_star_beans_PropertyExistException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** This exception is thrown to indicate that a property with this name already + exists in the object. + + @see PropertyContainer + */ +published exception PropertyExistException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertySet.idl b/udkapi/com/sun/star/beans/PropertySet.idl new file mode 100644 index 000000000000..3be077a2ca9e --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertySet.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertySet_idl__ +#define __com_sun_star_beans_PropertySet_idl__ + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyAccess_idl__ +#include <com/sun/star/beans/XPropertyAccess.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyState_idl__ +#include <com/sun/star/beans/XPropertyState.idl> +#endif + +#ifndef __com_sun_star_beans_XFastPropertySet_idl__ +#include <com/sun/star/beans/XFastPropertySet.idl> +#endif + +#ifndef __com_sun_star_beans_XMultiPropertySet_idl__ +#include <com/sun/star/beans/XMultiPropertySet.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This is a generic service which should be supported by all servies + which have properties. + + <p>It specifies several, mostly optional ways to access properties. + */ +published service PropertySet +{ + interface com::sun::star::beans::XPropertySet; + + [optional] interface com::sun::star::beans::XFastPropertySet; + [optional] interface com::sun::star::beans::XMultiPropertySet; + [optional] interface com::sun::star::beans::XPropertyAccess; + [optional] interface com::sun::star::beans::XPropertyState; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertySetInfoChange.idl b/udkapi/com/sun/star/beans/PropertySetInfoChange.idl new file mode 100644 index 000000000000..efb1b9c03a07 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertySetInfoChange.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertySetInfoChange_idl__ +#define __com_sun_star_beans_PropertySetInfoChange_idl__ + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies reasons for sending <type>PropertySetInfoChangeEvent</type>s. + + @see PropertySetInfoChangeEvent + @see XPropertySetInfo + */ +published constants PropertySetInfoChange +{ + //------------------------------------------------------------------------- + + /** A property was inserted into a <type>XPropertySetInfo</type>. + */ + const long PROPERTY_INSERTED = 0; + + //------------------------------------------------------------------------- + + /** A property was removed from a <type>XPropertySetInfo</type>. + */ + const long PROPERTY_REMOVED = 1; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl b/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl new file mode 100644 index 000000000000..d0ccd39e9c63 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertySetInfoChangeEvent_idl__ +#define __com_sun_star_beans_PropertySetInfoChangeEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** gets delivered whenever an <type>XPropertySetInfo</type> is + changed. + + <p>A <type>PropertySetInfoChangeEvent</type> object is sent + to <type>XPropertySetInfoChangeListener</type>s.</p> + */ +published struct PropertySetInfoChangeEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + + /** contains the name of the property. + */ + string Name; + + //------------------------------------------------------------------------- + + /** contains the implementation handle for the property. + + <p>May be -1 if the implementation has no handle.</p> + */ + long Handle; + + //------------------------------------------------------------------------- + + /** contains the reason for the event. + + @see PropertySetInfoChange + */ + long Reason; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyState.idl b/udkapi/com/sun/star/beans/PropertyState.idl new file mode 100644 index 000000000000..cebca6913b4e --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyState.idl @@ -0,0 +1,97 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertyState_idl__ +#define __com_sun_star_beans_PropertyState_idl__ + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This enumeration lists the states that a property value can have. + + <p>The state consists of two aspects: </p> + <ol> + <li>whether a value is available or void, </li> + <li>whether the value is stored in the property set itself or is a + default, or ambiguous. </li> + </ol> + + @see XPropertyState + @see Property + */ +published enum PropertyState +{ + //------------------------------------------------------------------------- + + /** The value of the property is stored in the PropertySet itself. + + <p>The property value must be available and of the specified type. + If the <member>PropertyAttribute</member> field in the struct + <type>Property</type> contains <const>PropertyAttribute::MAYBEVOID</const>, + then the value may be void. </p> + */ + DIRECT_VALUE, + + //------------------------------------------------------------------------- + + /** The value of the property is available from a master (e.g., template). + + <p>The <member>PropertyAttribute</member> field in the struct + <type>Property</type> must contain the + <const>PropertyAttribute::MAYBEDEFAULT</const> flag. The property + value must be available and of the specified type. If the + <member>PropertyAttribute</member> field in the struct <type>Property</type> + contains <const>PropertyAttribute::MAYBEVOID</const>, then the + value may be void. </p> + */ + DEFAULT_VALUE, + + //------------------------------------------------------------------------- + + /** The value of the property is only a recommendation because there + are multiple values for this property (e.g., from a multi selection). + + <p>The <member>PropertyAttribute</member> field in the struct + <type>Property</type> must contain the + <const>PropertyAttribute::MAYBEAMBIGUOUS</const> flag. The + property value must be available and of the specified type. + If the Attribute field in the struct Property contains + <const>PropertyAttribute::MAYBEVOID</const>, then the value + may be void. </p> + */ + AMBIGUOUS_VALUE + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl b/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl new file mode 100644 index 000000000000..1de67bb152c9 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl @@ -0,0 +1,95 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertyStateChangeEvent_idl__ +#define __com_sun_star_beans_PropertyStateChangeEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** is delivered whenever the state of a "bound" property is changed. + + <p>It is sent as an argument to the method of + <type>XPropertyStateChangeListener</type>. </p> + + <p>Normally these events are accompanied by the name, and the old + and new values of the changed property. </p> + + <p>Void values may be provided for the old and new values if their + true values are not known. </p> + */ +published struct PropertyStateChangeEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + + /** specifies the name of the property which changes its value. + + <p>This name identifies the property uniquely within an + <type>XPropertySet</type>. Upper and lower case are distinguished.</p> + */ + string PropertyName; + + //------------------------------------------------------------------------- + + /** contains the implementation handle for the property. + + <p>It may be -1 if the implementation has no handle. You can use this + handle to get values from the <type>XFastPropertySet</type> + interface.</p> + */ + long PropertyHandle; + + //------------------------------------------------------------------------- + + /** contains the old value of the property. + */ + com::sun::star::beans::PropertyState OldValue; + + //------------------------------------------------------------------------- + + /** contains the new value of the property. + */ + com::sun::star::beans::PropertyState NewValue; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyValue.idl b/udkapi/com/sun/star/beans/PropertyValue.idl new file mode 100644 index 000000000000..4f53b7f4334f --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyValue.idl @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertyValue_idl__ +#define __com_sun_star_beans_PropertyValue_idl__ + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a property value. + */ +published struct PropertyValue +{ + /** specifies the name of the property. + + <p>The name is unique within a sequence of <type>PropertyValue</type>s. + Upper and lower case are distinguished.</p> + */ + string Name; + + //------------------------------------------------------------------------- + + /** contains an implementation-specific handle for the property. + + <p>It may be -1 if the implementation has no handle. If available + it can be used for fast lookups.</p> + */ + long Handle; + + //------------------------------------------------------------------------- + + /** contains the value of the property or <void/>, + if no value is available. + */ + any Value; + + //------------------------------------------------------------------------- + + /** determines if the value comes from the object itself or from + a default and if the value cannot be determined exactly. + */ + com::sun::star::beans::PropertyState State; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyValues.idl b/udkapi/com/sun/star/beans/PropertyValues.idl new file mode 100644 index 000000000000..f3fe17efc07a --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyValues.idl @@ -0,0 +1,49 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertyValues_idl__ +#define __com_sun_star_beans_PropertyValues_idl__ + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= +/** specifies a sequence of <type>PropertyValue</type> instances. + + <p>Such sequences are especially useful for remote interfaces. </p> +*/ +published typedef sequence<PropertyValue> PropertyValues; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyVetoException.idl b/udkapi/com/sun/star/beans/PropertyVetoException.idl new file mode 100644 index 000000000000..c8abf8e95b45 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyVetoException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_PropertyVetoException_idl__ +#define __com_sun_star_beans_PropertyVetoException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This exception is thrown when a proposed change to a + property represents an unacceptable value. + + @see XPropertySet + */ +published exception PropertyVetoException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl b/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl new file mode 100644 index 000000000000..a1637026c710 --- /dev/null +++ b/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_SetPropertyTolerantFailed_idl__ +#define __com_sun_star_beans_SetPropertyTolerantFailed_idl__ + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies information about a single property failed to be set. + + @see com::sun::star::beans::XTolerantMultiPropertySet + */ +published struct SetPropertyTolerantFailed +{ + /** specifies the name of the property. + */ + string Name; + + //------------------------------------------------------------------------- + + /** specifies the success or error code for setting the + properties value. + + <p>Since the property was not successful set the result will never be + <member scope="com::sun::star::beans::TolerantPropertySetResultType">SUCCESS</member>. + </p> + + @see com::sun::star::beans::TolerantPropertySetResultType + */ + short Result; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/StringPair.idl b/udkapi/com/sun/star/beans/StringPair.idl new file mode 100644 index 000000000000..86fd955b9b07 --- /dev/null +++ b/udkapi/com/sun/star/beans/StringPair.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_StringPair_idl__ +#define __com_sun_star_beans_StringPair_idl__ + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a pair of two strings. + */ +published struct StringPair +{ + /** specifies the first of the two strings. + */ + string First; + + //------------------------------------------------------------------------- + + /** specifies the second of the two strings. + */ + string Second; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl b/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl new file mode 100644 index 000000000000..9a28031b5286 --- /dev/null +++ b/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl @@ -0,0 +1,90 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_TolerantPropertySetResultType_idl__ +#define __com_sun_star_beans_TolerantPropertySetResultType_idl__ + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies the possible failure types when using the + <type scope="com::sun::star::beans">XTolerantMultiPropertySet</type> + interface. + + <p>It usually matches one of the exception types that may occur when + using the + <type scope="com::sun::star::beans">XPropertySet</type> or + <type scope="com::sun::star::beans">XMultiPropertySet</type> interfaces.</p> +*/ +constants TolerantPropertySetResultType +{ + /** the property has been successfully set or retrieved. + */ + const short SUCCESS = 0; + + /** the property is not available. + + <p>For example if a + <type scope="com::sun::star::beans" >UnknownPropertyException</type> + was catched.</p> + */ + const short UNKNOWN_PROPERTY = 1; + + /** the value used with the property is not valid. + + <p>For example if a + <type scope="com::sun::star::lang" >IllegalArgumentException</type> + was catched.</p> + */ + const short ILLEGAL_ARGUMENT = 2; + + /** the property could not be changed at that time. + + <p>For example if a + <type scope="com::sun::star::beans" >PropertyVetoException</type> + was catched.</p> + */ + const short PROPERTY_VETO = 3; + + /** a <type scope="com::sun::star::lang">WrappedTargetException</type> + did occur. + */ + const short WRAPPED_TARGET = 4; + + /** the operation failed and the reason is not known. + */ + const short UNKNOWN_FAILURE = 5; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/UnknownPropertyException.idl b/udkapi/com/sun/star/beans/UnknownPropertyException.idl new file mode 100644 index 000000000000..5d216743e1af --- /dev/null +++ b/udkapi/com/sun/star/beans/UnknownPropertyException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_UnknownPropertyException_idl__ +#define __com_sun_star_beans_UnknownPropertyException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** This exception is thrown to indicate that the property name is unknown to + the implementation. + + @see XPropertySet + */ +published exception UnknownPropertyException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XExactName.idl b/udkapi/com/sun/star/beans/XExactName.idl new file mode 100644 index 000000000000..716e33651302 --- /dev/null +++ b/udkapi/com/sun/star/beans/XExactName.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XExactName_idl__ +#define __com_sun_star_beans_XExactName_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides a method of changing names for converting + an approximate name to an existing name. + + <p> One field of application is the conversion of case-insensitive + names to the existing names. </p> + + <p>Example: A basic interpreter ignores the case of the names. So + it must query the <type>XExactName</type> interface and then call + the method. </p> + + @see com::sun::star::beans::XPropertySet + @see com::sun::star::beans::XIntrospectionAccess + @see com::sun::star::container::XNameAccess + */ +published interface XExactName: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the exact name for a given aprroximate name. + + <p>For example "getExactName" could be returned for "GETEXACTNAME" + when "GETEXACTNAME" was used by a case insesitive scripting language. </p> + */ + string getExactName( [in] string aApproximateName ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XFastPropertySet.idl b/udkapi/com/sun/star/beans/XFastPropertySet.idl new file mode 100644 index 000000000000..89ffd4a4288d --- /dev/null +++ b/udkapi/com/sun/star/beans/XFastPropertySet.idl @@ -0,0 +1,126 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XFastPropertySet_idl__ +#define __com_sun_star_beans_XFastPropertySet_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides a fast way of accessing and changing property values. + + <p>This interface is an extension to the <type>XPropertySet</type> + interface. The get and set methods use handles to access the + property values instead of character strings.</p> + */ +published interface XFastPropertySet: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** sets the value to the property with the specified name. + + @param nHandle + contains the implementation handle of the + implementation for the property. + + @param aValue + contains the new value of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws PropertyVetoException + if a vetoable listener does not approve the change of + a property value. + + @throws IllegalArgumentException + if the new value cannot be converted to the type of the + underlying property by an identity or widening conversion. + + @throws stardiv::uno::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into this + <type scope="com::sun::star::lang">WrappedTargetException</type>. + + */ + void setFastPropertyValue( [in] long nHandle, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + the value of the property with the name PropertyName. + + @param nHandle + contains the implementation handle of the implementation for the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + any getFastPropertyValue( [in] long nHandle ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl b/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl new file mode 100644 index 000000000000..31991a335b98 --- /dev/null +++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl @@ -0,0 +1,175 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XHierarchicalPropertySet_idl__ +#define __com_sun_star_beans_XHierarchicalPropertySet_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__ +#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides information about and access to the + a hierarchy of properties from an implementation. + + <p> Usually an object that implements this interface + also implements <type>XPropertySet</type> and at + least some of the properties have subproperties. </p> + + <p> This interface allows direct access to subsubproperties, ... + up to an arbitrary nesting depth. Often the intermediate + elements of the hierarchy implement <type>XProperty</type>. </p> + + <p> Each implementation specifies how the + hierarchical property names, that are + used to access the elements of the hierarchy, + are formed. </p> + + <p> Commonly a notation similar to filesystem pathes + (separated by '/' slashes) or nested module names + (separated by dots '.' or '::') is used. </p> + + */ +published interface XHierarchicalPropertySet: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** retrieve information about the hierarchy of properties + + @returns + the <type>XHierarchicalPropertySetInfo</type> interface, + which describes the property hierarchy of the object which + supplies this interface. + + @returns + <NULL/> if the implementation cannot or will + not provide information about the properties; otherwise the + interface <type>XHierarchicalPropertySetInfo</type> is returned. + */ + com::sun::star::beans::XHierarchicalPropertySetInfo + getHierarchicalPropertySetInfo(); + + //------------------------------------------------------------------------- + + /** sets the value of the property with the specified nested name. + + @param aHierarchicalPropertyName + This parameter specifies the name of the property. + + @param aValue + This parameter specifies the new value for the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws PropertyVetoException + if the property is constrained and the change is vetoed by a + <type>XVetoableChangeListener</type>. + + @throws com::sun::star::uno::lang::IllegalArgumentException + if <var>aValue</var> is not a legal value for this property or + if <var>aHierarchicalPropertyName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect the latter condition. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + <type scope="com::sun::star::lang">WrappedTargetException</type>. + + @see XPropertySet::setPropertyValue + */ + void setHierarchicalPropertyValue( [in] string aHierarchicalPropertyName, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + the value of the property with the specified nested name. + + @param aHierarchicalPropertyName + This parameter specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::uno::lang::IllegalArgumentException + if <var>aHierarchicalPropertyName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + <type scope="com::sun::star::lang">WrappedTargetException</type>. + + @see XPropertySet::getPropertyValue + */ + any getHierarchicalPropertyValue( [in] string aHierarchicalPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl b/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl new file mode 100644 index 000000000000..8d2f2aac3ec9 --- /dev/null +++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl @@ -0,0 +1,104 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XHierarchicalPropertySetInfo_idl__ +#define __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a hierarchy of properties. + + <p>The specification only describes the properties, it does not contain + any values.</p> + */ +published interface XHierarchicalPropertySetInfo: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the property with the specified name from the hierarchy. + + @param aHierarchicalName + specifies the nested name of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::lang::IllegalArgumentException + if <var>aHierarchicalName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + + */ + com::sun::star::beans::Property getPropertyByHierarchicalName( [in] string aHierarchicalName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + + /** @returns + <TRUE/> if a property with the specified name exists; + otherwise <FALSE/> is returned. + + @param aHierarchicalName + specifies the name of the property. + + @throws com::sun::star::lang::IllegalArgumentException + if <var>aHierarchicalName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + */ + boolean hasPropertyByHierarchicalName( [in] string aHierarchicalName ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XIntroTest.idl b/udkapi/com/sun/star/beans/XIntroTest.idl new file mode 100644 index 000000000000..34b799cc1330 --- /dev/null +++ b/udkapi/com/sun/star/beans/XIntroTest.idl @@ -0,0 +1,208 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XIntroTest_idl__ +#define __com_sun_star_beans_XIntroTest_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_uno_TypeClass_idl__ +#include <com/sun/star/uno/TypeClass.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + + published interface XPropertyChangeListener; + published interface XPropertiesChangeListener; + +//============================================================================= +/** This is a test interface for introspection. + + @deprecated +*/ +published interface XIntroTest: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** contains the ID-String of the implementation. + */ + [attribute] string ObjectName; + + //------------------------------------------------------------------------- + /** contains the first name of a person. + */ + [readonly, attribute] string FirstName; + + //------------------------------------------------------------------------- + /** contains the last name of a person. + */ + [readonly, attribute] string LastName; + + //------------------------------------------------------------------------- + /** contains the age of a person. + */ + [readonly, attribute] short Age; + + //------------------------------------------------------------------------- + /** contains the number of children person has. + */ + [attribute] short ChildrenCount; + + //------------------------------------------------------------------------- + /** contains a struct of type <type>Property</type>. + */ + [attribute] com::sun::star::beans::Property FirstStruct; + + //------------------------------------------------------------------------- + /** contains a struct of type <type>PropertyValue</type>. + */ + [attribute] com::sun::star::beans::PropertyValue SecondStruct; + + //------------------------------------------------------------------------- + /** output method. + */ + void writeln( [in] string Text ); + + //------------------------------------------------------------------------- + /** ... + */ + long getDroenk(); + + //------------------------------------------------------------------------- + /** gets another object with this interface. + */ + com::sun::star::beans::XIntroTest getIntroTest(); + + //------------------------------------------------------------------------- + /** !!! No property, because parameter exists + */ + long getUps( [in] long l ); + + //------------------------------------------------------------------------- + /** ... + */ + void setDroenk( [in] long l ); + + //------------------------------------------------------------------------- + /** ... + */ + short getBla(); + + //------------------------------------------------------------------------- + /** !!! Not the set method for property Bla, because param type != return type. + */ + void setBla( [in] long n ); + + //------------------------------------------------------------------------- + /** ... + */ + short getBlub(); + + //------------------------------------------------------------------------- + /** ... + */ + void setBlub( [in] short n ); + + //------------------------------------------------------------------------- + /** ... + */ + short getGulp(); + + //------------------------------------------------------------------------- + /** !!! Not the set method for property Gulp, because return type != void. + */ + short setGulp( [in] short n ); + + //------------------------------------------------------------------------- + /** ... + */ + com::sun::star::uno::TypeClass getTypeClass( [in] short n ); + + //------------------------------------------------------------------------- + /** ... + */ + void setTypeClass( [in] com::sun::star::uno::TypeClass t, + [in] double d1, + [in] double d2 ); + + //------------------------------------------------------------------------- + sequence<string> getStrings(); + + //------------------------------------------------------------------------- + /** ... + */ + void setStrings( [in] sequence<string> Strings ); + + //------------------------------------------------------------------------- + /** ... + */ + void setStringsPerMethod( [in] sequence<string> Strings, + [in] short n ); + + //------------------------------------------------------------------------- + sequence< sequence< sequence< short > > > getMultiSequence(); + + //------------------------------------------------------------------------- + /** ... + */ + void setMultiSequence( [in] sequence< sequence< sequence< short > > > Seq ); + + //------------------------------------------------------------------------- + /** adds a listener which is called, when one of the specified properties + changes its value. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + [oneway] void addPropertiesChangeListener( [in] sequence< string > PropertyNames, + [in] XPropertiesChangeListener Listener ); + + //------------------------------------------------------------------------- + /** removes a listener. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + [oneway] void removePropertiesChangeListener( [in] XPropertiesChangeListener Listener ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XIntrospection.idl b/udkapi/com/sun/star/beans/XIntrospection.idl new file mode 100644 index 000000000000..5c7d6ed02cc2 --- /dev/null +++ b/udkapi/com/sun/star/beans/XIntrospection.idl @@ -0,0 +1,121 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XIntrospection_idl__ +#define __com_sun_star_beans_XIntrospection_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XIntrospectionAccess_idl__ +#include <com/sun/star/beans/XIntrospectionAccess.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::beans::XIntrospection +/** allows the inspection of an object's properties and methods. + + <p><strong>Important note:</strong>An object can only be + inspected completely if it supports the <type scope= + "com::sun::star::lang">XTypeProvider</type> interface.</p> + + <p>For details see method <member>XIntrospection::inspect</member>. </p> + + @see XIntrospectionAccess + */ +published interface XIntrospection: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::beans::XIntrospection::inspect + /** inspects the given object. + + <p>It identifies all properties supported by the object + if they are represented in one of the following ways: </p> + + <dl> + <dt>property set </dt> + <dd>If the object supports an <type>XPropertySet</type> + interface, all its properties are adopted. + </dd> + + <dt>attributes </dt> + <dd>All of an object's attributes are considered as properties + with same name. If an attribute is read-only, the property + also is read-only. + </dd> + + <dt>get/set methods </dt> + <dd>Every method <code>RetType getX()</code> defines a + property where "X" stands for the property name and + "RetType" for its type. The method must not have any + parameters, or there is no property access method + and "X" has no property. If there is also a method + <code>void setX( [in] RetType )</code>, the property + "X" also allows write access; otherwise it is read-only. + </dd> + + <dt> <strong>Important note:</strong></dt> + <dd>If an object implements <type scope="com::sun::star::container">XNameAccess</type>, + the items that can be accessed are not considered as properties + of the object and so are not included in the property list offered by + <member scope="com::sun::star::beans">XIntrospectionAccess::getProperties()</member>. + <type scope="com::sun::star::container">XNameAccess</type> items have to be + accessed separately by <member scope="com::sun::star::beans">XIntrospectionAccess::getNameAccess()</member>. + </dd> + </dl> + + <p>In addition, the inspect method identifies all listener + access methods in the form <code>add...Listener</code>/ + <code>remove...Listener</code> (except methods of interface + <type>XPropertySet</type>) where "..." stands for the listener type. + </p> + + <p>Methods which do not belong to a property nor which represent + a listener access nor which are methods of <type>XPropertySet</type>, + <type scope="com::sun::star::container">XNameAccess</type>, + <type scope="com::sun::star::container">XIndexAccess</type>, or + <type scope="com::sun::star::container">XEnumerationAccess</type>, are considered to be normal + methods. </p> + + @see XIntrospectionAccess + */ + com::sun::star::beans::XIntrospectionAccess inspect( [in] any aObject ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XIntrospectionAccess.idl b/udkapi/com/sun/star/beans/XIntrospectionAccess.idl new file mode 100644 index 000000000000..efd340916857 --- /dev/null +++ b/udkapi/com/sun/star/beans/XIntrospectionAccess.idl @@ -0,0 +1,321 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XIntrospectionAccess_idl__ +#define __com_sun_star_beans_XIntrospectionAccess_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlMethod_idl__ +#include <com/sun/star/reflection/XIdlMethod.idl> +#endif + +#ifndef __com_sun_star_lang_NoSuchMethodException_idl__ +#include <com/sun/star/lang/NoSuchMethodException.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + +#ifndef __com_sun_star_beans_IllegalTypeException_idl__ +#include <com/sun/star/beans/IllegalTypeException.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** represents the result of an introspection operation done by + the inspect method of <type scope="com::sun::star::beans"> + XIntrospection</type>. + + <p>This interface gives information about an object's + properties and methods as detected in the introspection + process. It's not possible to access properties or call + methods directly using this interface but it provides + access to other interfaces to do so. + See <member scope="com::sun::star::beans"> + XIntrospectionAccess::queryAdapter()</member></p> + + <p>The <type>XExactName</type> interface has to be supported + in order to implement inaccurate name access for all objects + which implement the <type scope="com::sun::star::container"> + XNameAccess</type> interface or <type>XPropertySet</type>.</p> + + <p>The <type>XMaterialHolder</type> interface has to be + supported to give access to the inspected object.</p> + + @see XPropertySet + @see com::sun::star::beans::XExactName + */ +published interface XIntrospectionAccess: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns information about which method concepts described in + the <type>MethodConcept</type> constants group are supported + by this <type>XIntrospectionAccess</type> implementation. + + <p>The minimum supported concepts should be:</p> + + <ul> + <li> <const>MethodConcept::PROPERTY</const>, </li> + <li> <const>MethodConcept::LISTENER</const>, </li> + <li> <const>MethodConcept::ENUMERATION</const>, </li> + <li> <const>MethodConcept::NAMECONTAINER</const></li> + <li> <const>MethodConcept::INDEXCONTAINER</const>; </li> + </ul> + + @returns + zero or more constants of the <type>MethodConcept</type> + constants group combined by an arithmetical or-operation. + */ + long getSuppliedMethodConcepts(); + + //------------------------------------------------------------------------- + /** returns information about which property concepts described in + the <type>PropertyConcept</type> constants group are supported + by this <type>XIntrospectionAccess</type> implementation. + + <p>The minimum supported concepts should be:</p> + + <ul> + <li> <const>PropertyConcept::PROPERTYSET</const>, </li> + <li> <const>PropertyConcept::ATTRIBUTES</const> and </li> + <li> <const>PropertyConcept::METHODS</const>. </li> + </ul> + + @returns + zero or more constants of the <type>PropertyConcept</type> + constants group.combined by an arithmetical or-operation. + */ + long getSuppliedPropertyConcepts(); + + //------------------------------------------------------------------------- + /** returns information about a property if a property with + the demanded name exists and if it accords to one of the + demanded <type>PropertyConcept</type>s. The information + is provided as <type>Property</type> struct. + + @returns + A <type>Property</type> struct providing + information about the demanded property, + if a corresponding property exists. + + @param aName + the name of the property. + + @param nPropertyConcepts + zero or more constants of the <type>PropertyConcept + </type> constants group combined by an arithmetical + or-operation. + + @throws NoSuchElementException + when a property with the demanded name doesn't exist + or if it accords to a wrong <type>PropertyConcept + </type>. + */ + com::sun::star::beans::Property getProperty( [in] string aName, + [in] long nPropertyConcepts ) + raises( com::sun::star::container::NoSuchElementException ); + + //------------------------------------------------------------------------- + /** allows to ask if a property with the demanded name exists + and if it accords to one of the demanded <type> + PropertyConcept</type>s. + + @returns + <TRUE/> if the property exists and accords to one of + the demanded <type>PropertyConcept</type>s, otherwise + <FALSE/> is returned. + + @param aName + the name of the property. + + @param nPropertyConcepts + zero or more constants of the <type>PropertyConcept + </type> constants group combined by an arithmetical + or-operation. + */ + boolean hasProperty( [in] string aName, + [in] long nPropertyConcepts ); + + //------------------------------------------------------------------------- + /** returns a sequence of properties of the introspected object + + @returns + all properties of the introspected object which accord + to the demanded <type>PropertyConcept</type>s. + + @param nPropertyConcepts + zero or more constants of the <type>PropertyConcept + </type> constants group combined by an arithmetical + or-operation. + */ + sequence<com::sun::star::beans::Property> getProperties( + [in] long nPropertyConcepts ); + + //------------------------------------------------------------------------- + /** returns information about a method if a method with + the demanded name exists and if it accords to one of + the demanded MethodConcepts. The information is + provided as <type scope="com::sun::star::reflection"> + XIdlMethod</type>. + + @returns + A <type scope="com::sun::star::reflection"> + XIdlMethod</type> providing information about and + access to the demanded method if a corresponding + method exists. + + @param aName + the name of the method. + + @param nMethodConcepts + zero or more constants of the <type>MethodConcept + </type> constants group combined by an arithmetical + or-operation. + + @throws NoSuchElementException + when a method with the demanded name doesn't exist + or if it accords to a wrong <type>MethodConcept</type>. + */ + com::sun::star::reflection::XIdlMethod getMethod( [in] string aName, + [in] long nMethodConcepts ) + raises( com::sun::star::lang::NoSuchMethodException ); + + //------------------------------------------------------------------------- + /** allows to ask if a method with the demanded name exists + and if it accords to one of the demanded <type>MethodConcept + </type>s. + + @returns + <TRUE/> if the method exists and accords to one of + the demanded <type>MethodConcept</type>s, otherwise + <FALSE/> is returned. + + @param aName + the name of the method. + + @param nMethodConcepts + zero or more constants of the <type>MethodConcept + </type> constants group combined by an arithmetical + or-operation. + */ + boolean hasMethod( [in] string aName, + [in] long nMethodConcepts ); + + //------------------------------------------------------------------------- + /** returns a sequence of methods of the introspected object. + + @returns + all methods of the introspected object which accord + to the demanded <type>MethodConcept</type>s. + + @param nMethodConcepts + zero or more constants of the <type>MethodConcept + </type> constants group combined by an arithmetical + or-operation. + */ + sequence<com::sun::star::reflection::XIdlMethod> getMethods( + [in] long nMethodConcepts ); + + //------------------------------------------------------------------------- + /** returns the listener types supported by the introspected + object. + + <p>If the introspected object has the methods + <code>addFooListener( XFooListener xFoo )</code> and + <code>removeFooListener( XFooListener xFoo )</code> + the type of XFooListener will be one of the elements + in the returned sequence. + + @returns + a sequence of the types of listener interfaces + which are supported by the introspected object. + */ + sequence<type> getSupportedListeners(); + + //------------------------------------------------------------------------- + /** creates an adapter that implements an interface with the + specified type. + + <p>To access properties, query for the <type>XPropertySet + </type> interface. If the <type>XPropertySet</type> can + be queried, the <type>XFastPropertySet</type> interface + must be supported too. </p> + + <p>If the introspected object implements a name container, + the introspection should return the <type scope= + "com::sun::star::container">XNameAccess</type> and <type + scope="com::sun::star::container">XNameContainer</type> + interfaces.</p> + + <p>If the introspected object implements an index container, + the introspection should return the <type scope= + "com::sun::star::container">XIndexAccess</type> and <type + scope="com::sun::star::container">XIndexContainer</type> + interfaces.</p> + + <p>If the introspected object implements an enumeration + container, the introspection should return the <type scope= + "com::sun::star::container">XEnumerationAccess</type> + interface.</p> + + <p>If the introspected object implements the <type scope= + "com::sun::star::reflection">XIdlArray</type> interface, + the introspection should return this.</p> + + <p>To implement inaccurate name access, at all objects, + which implement the <type scope="com::sun::star::container"> + XNameAccess</type> or <type>XPropertySet</type> interface, + the <type>XExactName</type> interface has to be supported. + </p> + + @see com::sun::star::beans::XExactName + */ + com::sun::star::uno::XInterface queryAdapter( [in] type aInterfaceType ) + raises( com::sun::star::beans::IllegalTypeException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XMaterialHolder.idl b/udkapi/com/sun/star/beans/XMaterialHolder.idl new file mode 100644 index 000000000000..b89a84ce15a9 --- /dev/null +++ b/udkapi/com/sun/star/beans/XMaterialHolder.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XMaterialHolder_idl__ +#define __com_sun_star_beans_XMaterialHolder_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= +/** gives access to the material a (tool-) object is working on. + + <p>Example: The introspection service allows the inspection of an + object's properties and methods. The result is represented as + XIntrospectionAccess interface. The inspected object then is the + material attached to the introspection tool and an implementation + of <type>XIntrospectionAccess</type> should also support + <type>XMaterialHolder</type> to give access to this material.</p> + + @see XIntrospectionAccess + */ +published interface XMaterialHolder: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns the material that is connected to this (tool-) object + + @returns + the material that is connected to this (tool-) object. + */ + any getMaterial(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl b/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl new file mode 100644 index 000000000000..cfd1950cdcbe --- /dev/null +++ b/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl @@ -0,0 +1,161 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XMultiHierarchicalPropertySet_idl__ +#define __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__ +#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides access to multiple properties which form a hierarchy. + + @see XHierarchicalPropertySet + */ +published interface XMultiHierarchicalPropertySet: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** retrieve information about the hierarchy of properties + + @returns + the <type>XHierarchicalPropertySetInfo</type> interface, + which describes the property hierarchy of the object which + supplies this interface. + + @returns + <NULL/> if the implementation cannot or will + not provide information about the properties; otherwise the + interface <type>XHierarchicalPropertySetInfo</type> is returned. + + @see XHierarchicalPropertySet::getHierarchicalPropertySetInfo + */ + com::sun::star::beans::XHierarchicalPropertySetInfo getHierarchicalPropertySetInfo(); + + //------------------------------------------------------------------------- + + /** sets the values of the properties with the specified nested names. + + <p> The values of the properties must change before bound + events are fired. The values of constrained properties + should change after the vetoable events are fired, if no + exception occurs. </p> + + <p> Unknown properties are ignored. </p> + + @param aHierarchicalPropertyNames + This parameter specifies the names of the properties. + + @param aValues + This parameter specifies the new values for the properties. + + @throws PropertyVetoException + if one of the properties is constrained and the change is + vetoed by a <type>XVetoableChangeListener</type>. + + @throws com::sun::star::lang::IllegalArgumentException + if one of the values is not a legal value for the + corresponding property or if one of the names + is not a well-formed nested name for this hierarchy. + An implementation is not required to detect the latter + condition. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + <type scope="com::sun::star::lang">WrappedTargetException</type>. + + @see XHierarchicalPropertySet::setHierarchicalPropertyValue + @see XMultiPropertySet::setPropertyValues + */ + + + void setHierarchicalPropertyValues( [in] sequence<string> aHierarchicalPropertyNames, + [in] sequence<any> Values ) + raises( com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + a sequence of all values of the properties which are specified + by their nested names. + + <p> The order of the values in the returned sequence will be the same + as the order of the names in the argument. </p> + + <p> Unknown properties are ignored, in their place <NULL/> will be returned. </p> + + @throws com::sun::star::lang::IllegalArgumentException + if one of the names is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + <type scope="com::sun::star::lang">WrappedTargetException</type>. + + @see XHierarchicalPropertySet::getHierarchicalPropertyValue + @see XMultiPropertySet::setPropertyValues + */ + sequence<any> getHierarchicalPropertyValues( [in] sequence<string> aPropertyNames ) + raises( com::sun::star::lang::IllegalArgumentException , + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XMultiPropertySet.idl b/udkapi/com/sun/star/beans/XMultiPropertySet.idl new file mode 100644 index 000000000000..1388c5d672af --- /dev/null +++ b/udkapi/com/sun/star/beans/XMultiPropertySet.idl @@ -0,0 +1,180 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XMultiPropertySet_idl__ +#define __com_sun_star_beans_XMultiPropertySet_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySetInfo_idl__ +#include <com/sun/star/beans/XPropertySetInfo.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertiesChangeListener_idl__ +#include <com/sun/star/beans/XPropertiesChangeListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides access to multiple properties with a single call. + */ +published interface XMultiPropertySet: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the <type>XPropertySetInfo</type> interface, which describes + all properties of the object to which this interface belongs. + <const>NULL</const> is returned if the object cannot or will + not provide information about the properties. + + @see XPropertySet::getPropertySetInfo + */ + com::sun::star::beans::XPropertySetInfo getPropertySetInfo(); + + //------------------------------------------------------------------------- + + /** sets the values to the properties with the specified names. + + <p>The values of the properties must change before the bound + events are fired. The values of the constrained properties + should change after the vetoable events are fired and only if no + exception occured. Unknown properties are ignored. </p> + + @param aPropertyNames + specifies the names of the properties. All names must be unique. + This sequence must be alphabetically sorted. + + @param aValues + contains the new values of the properties. The order is the same + as in <var>aPropertyNames</var>. + + @throws IllegalArgumentException + if one of the new values cannot be converted to the type + of the underlying property by an identity or widening conversion. + + @throws com::sun::star::lang:WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped. + */ + void setPropertyValues( [in] sequence<string> aPropertyNames, + [in] sequence<any> aValues ) + raises( com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + a sequence of all values of the properties which are specified by their names. + + <p>The order of the values in the returned sequence will be the same + as the order of the names in the argument. </p> + + @param aPropertyNames + specifies the names of the properties. + This sequence must be alphabetically sorted. + */ + sequence<any> getPropertyValues( [in] sequence<string> aPropertyNames ); + + //------------------------------------------------------------------------- + + /** adds an <type>XPropertiesChangeListener</type> to the + specified property with the specified names. + + <p>The implementation can ignore the names of the properties + and fire the event on all properties. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @param aPropertyNames + specifies the names of the properties. + + @param xListener + contains the listener for the property change events. + + @see removePropertiesChangeListener + */ + [oneway] void addPropertiesChangeListener( [in] sequence<string> aPropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener xListener ); + + //------------------------------------------------------------------------- + + /** removes an <type>XPropertiesChangeListener</type> from the listener list. + + <p>It is a "noop" if the listener is not registered. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @param + contains the listener to be removed. + + @see addPropertiesChangeListener + */ + [oneway] void removePropertiesChangeListener( [in] com::sun::star::beans::XPropertiesChangeListener xListener ); + + //------------------------------------------------------------------------- + + /** fires a sequence of <type>PropertyChangeEvent</type>s to the specified + listener. + + @param aPropertynames + specifies the sorted names of the properties. + + @param xListener + contains the listener for the property change events. + */ + [oneway] void firePropertiesChangeEvent( [in] sequence<string> aPropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener xListener ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XMultiPropertyStates.idl b/udkapi/com/sun/star/beans/XMultiPropertyStates.idl new file mode 100644 index 000000000000..340d627f93a6 --- /dev/null +++ b/udkapi/com/sun/star/beans/XMultiPropertyStates.idl @@ -0,0 +1,140 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XMultiPropertyState_idl__ +#define __com_sun_star_beans_XMultiPropertyState_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyStateChangeListener_idl__ +#include <com/sun/star/beans/XPropertyStateChangeListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= +/** makes it possible to query information about the state of + one or more properties. + + <p>The state of a property contains information about the source of + the value, e.g. the object itself, a default or a stylesheet. + For more information see <type>PropertyState</type>. +*/ +published interface XMultiPropertyStates: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** @returns + a sequence of the states of the properties which are specified + by their names. + + <p>The order of the states is correlating to the order of the + given property names. + + @param aPropertyName + specifies the names of the properties. All names must be unique. + This sequence must be alphabetically sorted. + */ + sequence<com::sun::star::beans::PropertyState> getPropertyStates( + [in] sequence<string> aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + /** sets all properties to their default values. + + <p>Each value depends on the implementation of this interface. + If it is a bound property, you must change the value before + the change events are fired. If it is a constrained property, you + must fire the vetoable event before you change the property value. + </p> + */ + void setAllPropertiesToDefault(); + + //------------------------------------------------------------------------- + /** sets the specified properties to their default values. + + <p>Each value depends on the implementation of this interface. + If it is a bound property, you must change the value before + the change events are fired. If it is a constrained property, you + must fire the vetoable event before you change the property value. </p> + + @param aPropertyName + specifies the names of the properties. All names must be unique. + This sequence must be alphabetically sorted. + + @throws UnknownPropertyException + if one of the properties does not exist. + */ + void setPropertiesToDefault( [in] sequence<string> aPropertyNames ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + /** @returns + the default values of the propertes with the specified names. + + <p>If no default exists, is not known, or is void, + then the return type at the corresponding position in the + sequence returned is <atom>void</atom>. </p> + + @param aPropertyName + specifies the names of the properties. All names must be unique. + This sequence must be alphabetically sorted. + + @throws UnknownPropertyException + if one of the propertes does not exist. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + sequence<any> getPropertyDefaults( + [in] sequence<string> aPropertyNames ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl b/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl new file mode 100644 index 000000000000..15cc7ec68c69 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertiesChangeListener_idl__ +#define __com_sun_star_beans_XPropertiesChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyChangeEvent_idl__ +#include <com/sun/star/beans/PropertyChangeEvent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** receives events which get fired whenever a bound property is changed. + */ +published interface XPropertiesChangeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + /** gets called when bound properties are changed. + + @param aEvent + contains a sequence of <type>PropertyChangeEvent</type> objects + which describe the event source and the properites wich have + changed. + */ + void propertiesChange( [in] sequence<com::sun::star::beans::PropertyChangeEvent> aEvent ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl b/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl new file mode 100644 index 000000000000..b2e1096525a2 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertiesChangeNotifier_idl__ +#define __com_sun_star_beans_XPropertiesChangeNotifier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertiesChangeListener_idl__ +#include <com/sun/star/beans/XPropertiesChangeListener.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a notifier for changed property values@see XPropertiesChangeListener + */ +published interface XPropertiesChangeNotifier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** adds an <type>XPropertiesChangeListener</type> to the + specified properties with the specified names. + */ + [oneway] void addPropertiesChangeListener( + [in] sequence<string> PropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener Listener ); + + //------------------------------------------------------------------------- + + /** removes an <type>XPropertiesChangeListener</type> from the + listener list. + */ + [oneway] void removePropertiesChangeListener( + [in] sequence<string> PropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener Listener ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XProperty.idl b/udkapi/com/sun/star/beans/XProperty.idl new file mode 100644 index 000000000000..789e2f7e48dd --- /dev/null +++ b/udkapi/com/sun/star/beans/XProperty.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XProperty_idl__ +#define __com_sun_star_beans_XProperty_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** Is implemented by objects that also are a property of + some other object. + + <p> Provides access to traits of this object that would + otherwise only be available from a containing + <type>XPropertySet</type> via its + <type>XPropertySetInfo</type>. + </p> + + */ +published interface XProperty: com::sun::star::uno::XInterface +{ + /** @returns + the specification of this object as <type>Property</type>. + + */ + com::sun::star::beans::Property getAsProperty(); + + //------------------------------------------------------------------------- +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyAccess.idl b/udkapi/com/sun/star/beans/XPropertyAccess.idl new file mode 100644 index 000000000000..993507cb17ab --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyAccess.idl @@ -0,0 +1,100 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertyAccess_idl__ +#define __com_sun_star_beans_XPropertyAccess_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** makes it possible to access all property values and to set them at once. + + <p>In most cases this interface will be in addition to + <type>XPropertySet</type>. It is especially useful for remote + communication because it lessens the number of calls for getting + property values; that is especially important because these calls + are necessarily synchronous. </p> + + <p>Another advantage of this method is that conflicts are avoided + if property value restrictions depend on the value of other properties.</p> + */ +published interface XPropertyAccess: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + a sequence of all property values within the object in a single call. + */ + sequence<com::sun::star::beans::PropertyValue> getPropertyValues(); + + //------------------------------------------------------------------------- + + /** sets the values of given properties. + + <p>All properties which are not contained in the sequence + <var>aProps</var> will be left unchanged.</p> + */ + void setPropertyValues( [in] sequence<com::sun::star::beans::PropertyValue> aProps ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyChangeListener.idl b/udkapi/com/sun/star/beans/XPropertyChangeListener.idl new file mode 100644 index 000000000000..0c54cf39dcef --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyChangeListener.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertyChangeListener_idl__ +#define __com_sun_star_beans_XPropertyChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyChangeEvent_idl__ +#include <com/sun/star/beans/PropertyChangeEvent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** is used to receive <type>PropertyChangeEvent</type>s + whenever a bound property is changed. + */ +published interface XPropertyChangeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + /** is called when a bound property is changed. + */ + void propertyChange( [in] com::sun::star::beans::PropertyChangeEvent evt ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyContainer.idl b/udkapi/com/sun/star/beans/XPropertyContainer.idl new file mode 100644 index 000000000000..eb70ba48c068 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyContainer.idl @@ -0,0 +1,118 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertyContainer_idl__ +#define __com_sun_star_beans_XPropertyContainer_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyExistException_idl__ +#include <com/sun/star/beans/PropertyExistException.idl> +#endif + +#ifndef __com_sun_star_beans_IllegalTypeException_idl__ +#include <com/sun/star/beans/IllegalTypeException.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_beans_NotRemoveableException_idl__ +#include <com/sun/star/beans/NotRemoveableException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** makes it possible to add and remove properties to or from an object. + + <p>Some scripting engines cannot access properties directly when the + property set is changed. Please use <member>XPropertySet::getPropertyValue</member> + etc. in this case. </p> + */ +published interface XPropertyContainer: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** adds a property to the object. + + @param aName + specifies the name of the new property. + + @param Attributes + specifies the property attributes, see <type>PropertyAttribute</type>. + + @param DefaultValue + specifies the type of the new property and a potential default value. + + @throws PropertyExistException + if a property with the same name already exists. + + @throws IllegalTypeException + if the specified type is not allowed. + + */ + void addProperty( [in] string Name, + [in] short Attributes, + [in] any DefaultValue ) + raises( com::sun::star::beans::PropertyExistException, + com::sun::star::beans::IllegalTypeException, + com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + + /** removes a property from the object. + + @param aName + specified the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + void removeProperty( [in] string Name ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::NotRemoveableException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertySet.idl b/udkapi/com/sun/star/beans/XPropertySet.idl new file mode 100644 index 000000000000..3e9410506e5a --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySet.idl @@ -0,0 +1,217 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertySet_idl__ +#define __com_sun_star_beans_XPropertySet_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySetInfo_idl__ +#include <com/sun/star/beans/XPropertySetInfo.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__ +#include <com/sun/star/beans/XPropertyChangeListener.idl> +#endif + +#ifndef __com_sun_star_beans_XVetoableChangeListener_idl__ +#include <com/sun/star/beans/XVetoableChangeListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides information about and access to the + properties from an implementation. + + <p>There are three types of properties: </p> + + <ul> + <li>bound properties </li> + <li>constrained properties </li> + <li>free properties </li> + </ul> + + <p>You can listen to changes of bound properties with the + <type>XPropertyChangeListener</type> and you can veto changes + of constrained properties with the <type>XVetoableChangeListener</type>. </p> + + <p>To implement inaccurate name access, you must support the + interface <type>XExactName</type>. </p> + + @see com::sun::star::beans::XExactName + */ +published interface XPropertySet: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the <type>XPropertySetInfo</type> interface, which + describes all properties of the object which supplies this + interface. + + @returns + <const>NULL</const> if the implementation cannot or will + not provide information about the properties; otherwise the + interface <type>XPropertySetInfo</type> is returned. + */ + com::sun::star::beans::XPropertySetInfo getPropertySetInfo(); + + //------------------------------------------------------------------------- + + /** sets the value of the property with the specified name. + + <p>If it is a bound property the value will be changed before + the change event is fired. If it is a constrained property + a vetoable event is fired before the property value can be + changed. </p> + + @throws com::sun::star::beans::PropertyVetoException + if the property is read-only or vetoable + and one of the listeners throws this exception + because of an unaccepted new value. + */ + void setPropertyValue( [in] string aPropertyName, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + the value of the property with the specified name. + + @param PropertyName + This parameter specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + any getPropertyValue( [in] string PropertyName ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** adds an <type>XPropertyChangeListener</type> to the specified property. + + <p>An empty name ("") registers the listener to all bound + properties. If the property is not bound, the behavior is + not specified. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see removePropertyChangeListener + */ + void addPropertyChangeListener( [in] string aPropertyName, + [in] com::sun::star::beans::XPropertyChangeListener xListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** removes an <type>XPropertyChangeListener</type> from + the listener list. + + <p>It is a "noop" if the listener is not registered. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see addPropertyChangeListener + */ + void removePropertyChangeListener( [in] string aPropertyName, + [in] com::sun::star::beans::XPropertyChangeListener aListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** adds an <type>XVetoableChangeListener</type> to the specified + property with the name PropertyName. + + <p>An empty name ("") registers the listener to all + constrained properties. If the property is not constrained, + the behavior is not specified. </p> + + @see removeVetoableChangeListener + */ + void addVetoableChangeListener( [in] string PropertyName, + [in] com::sun::star::beans::XVetoableChangeListener aListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** removes an <type>XVetoableChangeListener</type> from the + listener list. + + <p>It is a "noop" if the listener is not registered. </p> + + @see addVetoableChangeListener + */ + void removeVetoableChangeListener( [in] string PropertyName, + [in] com::sun::star::beans::XVetoableChangeListener aListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertySetInfo.idl b/udkapi/com/sun/star/beans/XPropertySetInfo.idl new file mode 100644 index 000000000000..09484a462cc6 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySetInfo.idl @@ -0,0 +1,102 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertySetInfo_idl__ +#define __com_sun_star_beans_XPropertySetInfo_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a set of properties. + + <p>There are three kinds of properties: + <ul> + <li>bound properties</li> + <li>constrained properties</li> + <li>free properties</li> + </ul> + + <p>The specification only describes the properties, it does not contain + any values.</p> + */ +published interface XPropertySetInfo: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + a sequence with all property descriptors which are specified + within this <type>XPropertySetInfo</type>. + */ + sequence<com::sun::star::beans::Property> getProperties(); + + //------------------------------------------------------------------------- + + /** @returns + the property with the specified name from the object. + + @param aName + specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + com::sun::star::beans::Property getPropertyByName( [in] string aName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + + /** @returns + <TRUE/> if a property with the specified name exist; + otherwise <FALSE/> is returned. + + @param aName + specifies the name of the property. + */ + boolean hasPropertyByName( [in] string Name ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl b/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl new file mode 100644 index 000000000000..d740adabf256 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertySetInfoChangeListener_idl__ +#define __com_sun_star_beans_XPropertySetInfoChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_beans_PropertySetInfoChangeEvent_idl__ +#include <com/sun/star/beans/PropertySetInfoChangeEvent.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** a listener for events related to <type>XPropertySetInfo</type>s. + + @see PropertySetInfoChangeEvent + @see XPropertySetInfoChangeNotifier + */ +published interface XPropertySetInfoChangeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + /** is called whenever changes of a <type>XPropertySetInfo</type> shall + be propagated. + */ + void propertySetInfoChange( [in] PropertySetInfoChangeEvent evt ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl b/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl new file mode 100644 index 000000000000..dbad0258eef1 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertySetInfoChangeNotifier_idl__ +#define __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif +#ifndef __com_sun_star_beans_XPropertySetInfoChangeListener_idl__ +#include <com/sun/star/beans/XPropertySetInfoChangeListener.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** a notifier for changes of <type>XPropertySetInfo</type>s. + + @see PropertySetInfoChangeEvent + @see XPropertySetInfoChangeListener + */ +published interface XPropertySetInfoChangeNotifier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** registers a listener for <type>PropertySetInfoChangeEvent</type>s. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void addPropertySetInfoChangeListener( + [in] XPropertySetInfoChangeListener Listener ); + + //------------------------------------------------------------------------- + + /** removes a listener for <type>PropertySetInfoChangeEvent</type>s. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void removePropertySetInfoChangeListener( + [in] XPropertySetInfoChangeListener Listener ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyState.idl b/udkapi/com/sun/star/beans/XPropertyState.idl new file mode 100644 index 000000000000..9ac89996aef1 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyState.idl @@ -0,0 +1,150 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertyState_idl__ +#define __com_sun_star_beans_XPropertyState_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyStateChangeListener_idl__ +#include <com/sun/star/beans/XPropertyStateChangeListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** makes it possible to query information about the state of + one or more properties. + + <p>The state contains the information if:</p> + <ul> + <li>a value is available or void</li> + <li>the value is stored in the object itself, or if a default value is to be used</li> + <li>and if the value cannot be determined, due to ambiguity + (multi selection with multiple values).</li> + </ul> + */ +published interface XPropertyState: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the state of the property. + + @param aPropertyName + specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + com::sun::star::beans::PropertyState getPropertyState( [in] string PropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + + /** @returns + a sequence of the states of the properties which are specified + by their names. + + <p>The order of the states is correlating to the order of the + given property names. </p> + + @param aPropertyNames + contains the sequence of property names. + + @throws UnknownPropertyException + if one property does not exist. + */ + sequence<com::sun::star::beans::PropertyState> getPropertyStates( + [in] sequence<string> aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + + /** Sets the property to default value. + + <p>The value depends on the implementation of this interface. + If it is a bound property, you must change the value before + the change events are fired. If it is a constrained property, you + must fire the vetoable event before you change the property value. + </p> + + @param aPropertyname + specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + void setPropertyToDefault( [in] string PropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + + /** @returns + the default value of the property with the name PropertyName. + + <p>If no default exists, is not known or is void, + then the return type is <atom>void</atom>. + + @param aPropertyName + specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + any getPropertyDefault( [in] string aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl b/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl new file mode 100644 index 000000000000..a3d56571c978 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertyStateChangeListener_idl__ +#define __com_sun_star_beans_XPropertyStateChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyStateChangeEvent_idl__ +#include <com/sun/star/beans/PropertyStateChangeEvent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** receives events which get fired whenever the state of a bound + property is changed. + */ +published interface XPropertyStateChangeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + /** is called when a bound property's state is changed. + + @param aEvent + describes the event source and the property that has changed. + */ + void propertyStateChange( [in] com::sun::star::beans::PropertyStateChangeEvent aEvent ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyWithState.idl b/udkapi/com/sun/star/beans/XPropertyWithState.idl new file mode 100644 index 000000000000..bdf87545468d --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyWithState.idl @@ -0,0 +1,117 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XPropertyWithState_idl__ +#define __com_sun_star_beans_XPropertyWithState_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** makes it possible to query information about the state of + this object, seen as a property contained in a property set. + + <p> This interface provides direct access to operations + that are available if the containing property set + implements <type>XPropertyState</type>. + </p> + + <p>The state contains the information if:</p> + <ul> + <li>a value is available or void</li> + <li>the value is stored in the object itself, or if a default value is being used</li> + <li>or if the value cannot be determined, due to ambiguity + (multi selection with multiple values).</li> + </ul> + + <p> Generally objects that implement this interface + also implement <type>XProperty</type>. + </p> + */ +published interface XPropertyWithState: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the state of this as a property. + */ + com::sun::star::beans::PropertyState getStateAsProperty( ); + + //------------------------------------------------------------------------- + + /** sets this to its default value. + + <p> The value depends on the implementation of this interface. + If this is a bound property, the value changes before + the change events are fired. If this is a constrained property, + the vetoable event is fired before the property value changes. + </p> + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + void setToDefaultAsProperty( ) + raises( com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + an object representing the default state of this object (as a property). + + <p> If no default exists, is not known or is void, + then the return value is <NULL/>. + </p> + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + com::sun::star::uno::XInterface getDefaultAsProperty( ) + raises( com::sun::star::lang::WrappedTargetException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl b/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl new file mode 100644 index 000000000000..6f17b8cc748c --- /dev/null +++ b/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl @@ -0,0 +1,164 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XTolerantMultiPropertySet_idl__ +#define __com_sun_star_beans_XTolerantMultiPropertySet_idl__ + + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__ +#include <com/sun/star/beans/GetDirectPropertyTolerantResult.idl> +#endif + +#ifndef __com_sun_star_beans_GetPropertyTolerantResult_idl__ +#include <com/sun/star/beans/GetPropertyTolerantResult.idl> +#endif + +#ifndef __com_sun_star_beans_SetPropertyTolerantFailed_idl__ +#include <com/sun/star/beans/SetPropertyTolerantFailed.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides access to multiple iformation of + a set of properties with a single call. + + <p>The speciality of this interface is that none of the functions + will throw the usual exceptions associated with setting and retrieving + of property values. Instead the data for the failures is collected and + returned.</p> + + <p>Note: There is no support for property change listeners in this + interface.</p> + + @see com::sun::star::beans::XPropertySet + @see com::sun::star::beans::XMultiPropertySet + */ +published interface XTolerantMultiPropertySet : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** sets the values to the properties with the specified names. + + @param aPropertyNames + specifies the names of the properties. + The property names must be sorted ascending. + + <p>If the names are not sorted the behaviour of the method + is undefined!</p> + + @param aPropertyValues + specifies the values of the properties. + The order of the values has to be the same as in the + <var>aPropertyNames</var> parameter int order to match + the property name with its value. + + @returns + An empty sequence if all properties are successfull set. + + Otherwise for every property value that could not successfully + be set an entry of the + <type scope="com::sun::star::beans">SetPropertyTolerantFailed</type> + will be present in this sequence. + The order of the properties is also alphabetically ascending. + + @throws IllegalArgumentException + if the number of property names and values do not match. + + */ + sequence< com::sun::star::beans::SetPropertyTolerantFailed > setPropertyValuesTolerant( + [in] sequence< string > aPropertyNames, + [in] sequence< any > aValues ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + + /** retrieve the values of the specified properties + + <p>The count and order of the values in the returned sequence + will be the same as the order of the names in the argument.</p> + + @param aPropertyNames + specifies the names of the properties. + The property names must be sorted ascending. + + <p>If the names are not sorted the behaviour of the method + is undefined!</p> + + @returns + a sequence of type + <type scope="com::sun::star::beans">GetPropertyTolerantResult</type> + for each of the properties listed in <var>aPropertyNames</var>. + */ + sequence< com::sun::star::beans::GetPropertyTolerantResult > getPropertyValuesTolerant( + [in] sequence< string > aPropertyNames ); + + + //------------------------------------------------------------------------- + + /** retrieve only those values of the specified properties which + are direct values. + + <p>Since the count of returned elements may be different from + the number of supplied property names the returned elements + will also state the name of the property.</p> + + @param aPropertyNames + specifies the names of the properties. + The property names must be sorted ascending. + + <p>If the names are not sorted the behaviour of the method + is undefined!</p> + + @returns + a sequence of type + <type scope="com::sun::star::beans">GetDirectPropertyTolerantResult</type> + but only for those properties supplied whoms state is + <member scope="com::sun::star::beans::PropertyState">DIRECT_VALUE</member>. + */ + sequence< com::sun::star::beans::GetDirectPropertyTolerantResult > getDirectPropertyValuesTolerant( + [in] sequence< string > aPropertyNames ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/udkapi/com/sun/star/beans/XVetoableChangeListener.idl b/udkapi/com/sun/star/beans/XVetoableChangeListener.idl new file mode 100644 index 000000000000..674cbc3c9496 --- /dev/null +++ b/udkapi/com/sun/star/beans/XVetoableChangeListener.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_XVetoableChangeListener_idl__ +#define __com_sun_star_beans_XVetoableChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyChangeEvent_idl__ +#include <com/sun/star/beans/PropertyChangeEvent.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** is used to receive <type>PropertyChangeEvent</type>s + whenever a "constrained" property is changed. + + <p>You can register an <type>XVetoableChangeListener</type> with + a source object so as to be notified of any constrained property updates.</p> + */ +published interface XVetoableChangeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + /** gets called when a constrained property is changed. + */ + void vetoableChange( [in] com::sun::star::beans::PropertyChangeEvent aEvent ) + raises( com::sun::star::beans::PropertyVetoException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/makefile.mk b/udkapi/com/sun/star/beans/makefile.mk new file mode 100644 index 000000000000..8e5aba61f382 --- /dev/null +++ b/udkapi/com/sun/star/beans/makefile.mk @@ -0,0 +1,101 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssbeans +PACKAGE=com$/sun$/star$/beans + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + Ambiguous.idl\ + Defaulted.idl\ + GetDirectPropertyTolerantResult.idl\ + GetPropertyTolerantResult.idl\ + IllegalTypeException.idl\ + Introspection.idl\ + IntrospectionException.idl\ + MethodConcept.idl\ + NamedValue.idl\ + NotRemoveableException.idl\ + Optional.idl\ + Pair.idl\ + Property.idl\ + PropertyAttribute.idl\ + PropertyBag.idl\ + PropertyChangeEvent.idl\ + PropertyConcept.idl\ + PropertyExistException.idl\ + PropertySet.idl\ + PropertySetInfoChange.idl\ + PropertySetInfoChangeEvent.idl\ + PropertyState.idl\ + PropertyStateChangeEvent.idl\ + PropertyValue.idl\ + PropertyValues.idl\ + PropertyVetoException.idl\ + SetPropertyTolerantFailed.idl\ + StringPair.idl\ + TolerantPropertySetResultType.idl\ + UnknownPropertyException.idl\ + XExactName.idl\ + XFastPropertySet.idl\ + XHierarchicalPropertySet.idl\ + XHierarchicalPropertySetInfo.idl\ + XIntrospection.idl\ + XIntrospectionAccess.idl\ + XIntroTest.idl\ + XMaterialHolder.idl\ + XMultiPropertySet.idl\ + XMultiPropertyStates.idl\ + XMultiHierarchicalPropertySet.idl\ + XPropertiesChangeListener.idl\ + XPropertiesChangeNotifier.idl\ + XProperty.idl\ + XPropertyAccess.idl\ + XPropertyChangeListener.idl\ + XPropertyContainer.idl\ + XPropertySet.idl\ + XPropertySetInfo.idl\ + XPropertySetInfoChangeListener.idl\ + XPropertySetInfoChangeNotifier.idl\ + XPropertyState.idl\ + XPropertyStateChangeListener.idl\ + XPropertyWithState.idl\ + XTolerantMultiPropertySet.idl\ + XVetoableChangeListener.idl\ + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/bridge/Bridge.idl b/udkapi/com/sun/star/bridge/Bridge.idl new file mode 100644 index 000000000000..90b53687ea5d --- /dev/null +++ b/udkapi/com/sun/star/bridge/Bridge.idl @@ -0,0 +1,94 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_Bridge_idl__ +#define __com_sun_star_bridge_Bridge_idl__ + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_bridge_XBridge_idl__ +#include <com/sun/star/bridge/XBridge.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module bridge { + +//============================================================================= + +/** This meta service allows the bridgefactory service to instantiate an + interprocess bridge using a certain transfer protocol. + + <p> Components, that support a certain protocol, must have at least two + service names: </p> + + <ul> + <li> com.sun.star.bridge.Bridge </li> + <li> arbitrary-module-path.ProtocolnameBridge </li> + </ul> + + <p>The protocol name should be written as common servicenames, first letter is a + capital letter, the rest in small letters postfixed by Bridge (e.g.: + <code>com.sun.star.bridge.UrpBridge</code> would be correct servicename for the + "urp" protocol). However, the protocol names are compared case insensitive. + If there exist two services supporting the same protocol, it is arbitrary + which one is chosen, so this should be omitted. </p> + */ +published service Bridge +{ + /** allows to initialize the bridge service with the necessary + arguments. The sequence<any> must have 4 members. + + <ol> + <li> String: The unique name of the bridge or an empty string</li> + <li> String: The protocol, that shall be instantiated</li> + <li> XConnection: The bidirectional connection, the bridge should work on</li> + <li> XInstanceProvider: + The instance provider, that shall be called to access the initial object.</li> + </ol> + */ + interface com::sun::star::lang::XInitialization; + + /** The main interface of the service + */ + interface com::sun::star::bridge::XBridge; + + /** This interface allows to terminate the interprocess bridge. + */ + interface com::sun::star::lang::XComponent; + +}; + +//============================================================================= + +}; }; }; }; +#endif diff --git a/udkapi/com/sun/star/bridge/BridgeExistsException.idl b/udkapi/com/sun/star/bridge/BridgeExistsException.idl new file mode 100644 index 000000000000..565322cf1c44 --- /dev/null +++ b/udkapi/com/sun/star/bridge/BridgeExistsException.idl @@ -0,0 +1,44 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_CONNECTION_BRIDGEEXISTSEXCEPTION_IDL_ +#define _COM_SUN_STAR_CONNECTION_BRIDGEEXISTSEXCEPTION_IDL_ + +#include <com/sun/star/uno/Exception.idl> + +module com { module sun { module star { module bridge { + +/** Indicates, that it was tried to create a remote bridge with a name, + which already existed. + */ +published exception BridgeExistsException: com::sun::star::uno::Exception +{ +}; + + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/bridge/BridgeFactory.idl b/udkapi/com/sun/star/bridge/BridgeFactory.idl new file mode 100644 index 000000000000..8bf10c381504 --- /dev/null +++ b/udkapi/com/sun/star/bridge/BridgeFactory.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_BridgeFactory_idl__ +#define __com_sun_star_bridge_BridgeFactory_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_bridge_XBridgeFactory_idl__ +#include <com/sun/star/bridge/XBridgeFactory.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module bridge { + +//============================================================================= + +/** allows to create new or access existing interprocess bridges. + + <p> It enumerates at the servicemanager all services supporting + the meta service com.sun.star.bridge.Bridge to get all known, possible + protocols. + + @see com::sun::star::bridge::Bridge + */ +published service BridgeFactory +{ + /** The main interface of the service + */ + interface com::sun::star::bridge::XBridgeFactory; + + /** This interface allows to break possible cyclic references. + */ + interface com::sun::star::lang::XComponent; +}; + +//============================================================================= + +}; }; }; }; +#endif diff --git a/udkapi/com/sun/star/bridge/IiopBridge.idl b/udkapi/com/sun/star/bridge/IiopBridge.idl new file mode 100644 index 000000000000..7b38e2052ca0 --- /dev/null +++ b/udkapi/com/sun/star/bridge/IiopBridge.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_Iiop_idl__ +#define __com_sun_star_bridge_Iiop_idl__ + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_bridge_XBridge_idl__ +#include <com/sun/star/bridge/XBridge.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module bridge { + +//============================================================================= +/** Concrete service of the meta service Bridge for iiop. + + <p> This bridge works with the iiop protocol. </p> + + @see com.sun.star.bridge.Bridge + */ +published service IiopBridge +{ + /** This interface allows to initialize the bridge service with the necessary + arguments. The sequence<any> must have 4 members. + + <ol> + <li> String: The unique name of the bridge or an empty string</li> + <li> String: iiop</li> + <li> XConnection: The bidirectional connection, the bridge should work on</li> + <li> XInstanceProvider: + The instance provider, that shall be called to access the initial object.</li> + </ol> + */ + interface com::sun::star::lang::XInitialization; + + /** The main interface of the service. + */ + interface com::sun::star::bridge::XBridge; + + /** allows to terminate the interprocess bridge. + */ + interface com::sun::star::lang::XComponent; + +}; +//============================================================================= + +}; }; }; }; +#endif diff --git a/udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl b/udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl new file mode 100644 index 000000000000..3f52050126ba --- /dev/null +++ b/udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_BRIDGE_INVALIDPROTCOLCHANGEEXCEPTION_IDL_ +#define _COM_SUN_STAR_BRIDGE_INVALIDPROTCOLCHANGEEXCEPTION_IDL_ +#include <com/sun/star/bridge/ProtocolProperty.idl> +#include <com/sun/star/uno/Exception.idl> + +module com { module sun { module star { module bridge { + + +/** Indicates, that a requested property change could not be executed by the + remote counterpart. + + @see XProtocolProperties +*/ +published exception InvalidProtocolChangeException : com::sun::star::uno::Exception +{ + /** The first invalid property. + */ + ProtocolProperty invalidProperty; + + /** Contains 1, if the property name is unknown to the thrower; + or contains 2, if the property's value can't be accepted by the thrower. + */ + long reason; +}; + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/bridge/ModelDependent.idl b/udkapi/com/sun/star/bridge/ModelDependent.idl new file mode 100644 index 000000000000..d85a2dbb886b --- /dev/null +++ b/udkapi/com/sun/star/bridge/ModelDependent.idl @@ -0,0 +1,79 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_ModelDependent_idl__ +#define __com_sun_star_bridge_ModelDependent_idl__ + + +//============================================================================= + + module com { module sun { module star { module bridge { + +//============================================================================= + +// DocMerge from idl: constants com::sun::star::bridge::ModelDependent +/** These constants are used to specify model-dependant representations. + + <p>They are only used for creating bridges to other component models. + + @see com::sun::star::bridge::XBridgeSupplier2 + */ +published constants ModelDependent +{ + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR constants::1 + + // DocMerge: empty anyway + const short UNO = 1; + + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR constants::2 + + // DocMerge: empty anyway + const short OLE = 2; + + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR constants::3 + + // DocMerge: empty anyway + const short JAVA = 3; + + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR constants::4 + + // DocMerge: empty anyway + const short CORBA = 4; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/bridge/OleApplicationRegistration.idl b/udkapi/com/sun/star/bridge/OleApplicationRegistration.idl new file mode 100644 index 000000000000..7ad209982130 --- /dev/null +++ b/udkapi/com/sun/star/bridge/OleApplicationRegistration.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_OleApplicationRegistration_idl__ +#define __com_sun_star_bridge_OleApplicationRegistration_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module bridge { + +//============================================================================= + +/** registers UNO objects as COM objects. + <p /> + That is, COM class factories are registered with COM at runtime. The required + EXE server is the application which deploys this service. In order to access the + factories by COM API functions, there need to be proper registry entries. This service + does not provide for writing those entries.<p> + The instantiation of the registered objects can be carried out by any ordinary mechanism + which is used in a certain language to create COM components. For example, CreateObject + in Visual Basic, CoCreateInstance in C++. + <p /> + Currently only a factory for the service com.sun.star.long.MultiServiceFactory is registered + by this service. The CLSID is {82154420-0FBF-11d4-8313-005004526AB4} and the ProgId is + com.sun.star.ServiceManager. + + <p>OleApplicationRegistration does not provide any particular interface because the UNO objects + are registered while instantiating this service and deregistered + if the implementation, which makes use of this service, is being released.</p> + <p> + @deprecated + */ +published service OleApplicationRegistration +{ + + interface com::sun::star::uno::XInterface; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/bridge/OleBridgeSupplier.idl b/udkapi/com/sun/star/bridge/OleBridgeSupplier.idl new file mode 100644 index 000000000000..3d1b9a655717 --- /dev/null +++ b/udkapi/com/sun/star/bridge/OleBridgeSupplier.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_OleBridgeSupplier_idl__ +#define __com_sun_star_bridge_OleBridgeSupplier_idl__ + +#ifndef __com_sun_star_bridge_XBridgeSupplier_idl__ +#include <com/sun/star/bridge/XBridgeSupplier.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module bridge { + +//============================================================================= + + +/** makes it possible to generate OLE bridges to UNO objects and vice versa. + + <p>The service implements the <type>XBridgeSupplier</type> interface + and handles the model types <const>ModelDependent::UNO</const> and + <const>ModelDependent::OLE</const>. The service does not specify any + requirements on registering OLE objects and class factories. </p> + @deprecated + */ +published service OleBridgeSupplier +{ + interface com::sun::star::bridge::XBridgeSupplier; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl b/udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl new file mode 100644 index 000000000000..e9bf3d696ff0 --- /dev/null +++ b/udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_OleBridgeSupplier2_idl__ +#define __com_sun_star_bridge_OleBridgeSupplier2_idl__ + +#ifndef __com_sun_star_bridge_XBridgeSupplier2_idl__ +#include <com/sun/star/bridge/XBridgeSupplier2.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module bridge { + +//============================================================================= +/** maps UNO types to oleautomation types and vice versa.<p> + + The XBridgeSupplier2 interface provides the function <code>createBridge</code> which + maps a value of an UNO or Automation type to the desired target type. If an UNO interface + was mapped to IDispatch, then all objects (interfaces, structs) and other + types which + are obtained from that Automation object are automatically mapped to the corresponding + Automation types. Hence, if one provides an initial object which forms the root of all + other objects, such as a service manager, then only that object needs to be explicitly + mapped by a call to <code>createBridge</code>. The same holds true if an automation + object is mapped to an UNO interface.<br> + <p>The Automation types <code>VT_CY</code> and <code>VT_DATE</code> are not supported. + For Automation objects to be mapped they have to implement IDispatch interface. Other + COM interfaces, + except for IUnknown, are not supported.UNO interfaces and structs are mapped to IDispatch. + + <p>The service implements the <type>XBridgeSupplier2</type> interface + and handles the model types + <const>com::sun::star::bridge::ModelDependent::UNO</const> and + <const>com::sun::star::bridge::ModelDependent::OLE</const>. + The service does not specify any + requirements for registering OLE objects and class factories. </p> + + @deprecated +*/ +published service OleBridgeSupplier2 +{ + interface com::sun::star::bridge::XBridgeSupplier2; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl b/udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl new file mode 100644 index 000000000000..6a237efb3185 --- /dev/null +++ b/udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_OleBridgeSupplierVar1_idl__ +#define __com_sun_star_bridge_OleBridgeSupplierVar1_idl__ + +#ifndef __com_sun_star_bridge_OBridgeSupplier2_idl__ +#include <com/sun/star/bridge/OleBridgeSupplier2.idl> +#endif + + + module com { module sun { module star { module bridge { + + +/** maps UNO types to COM types and vice versa. It is optimized for use in a + remote szenario. <p> +The functionality is basically the same as +<type scope="com::sun::star::bridge">OleBridgeSupplier2</type>. +However, the implementation should be optimized for remote access. For example, it could +try to reduce the calls into the remote process. Also it could create components on its own behalf in the remote process, if this increases performance. + +@deprecated +*/ +published service OleBridgeSupplierVar1 +{ + service OleBridgeSupplier2; + +}; + +//============================================================================= + +}; }; }; }; + + +#endif diff --git a/udkapi/com/sun/star/bridge/OleObjectFactory.idl b/udkapi/com/sun/star/bridge/OleObjectFactory.idl new file mode 100644 index 000000000000..3bc0ab7d5d3f --- /dev/null +++ b/udkapi/com/sun/star/bridge/OleObjectFactory.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_OleObjectFactory_idl__ +#define __com_sun_star_bridge_OleObjectFactory_idl__ + +#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module bridge { + +//============================================================================= + +/** makes it possible to create COM objects as UNO objects. + + <p>A COM object must have a ProgId since the ProgId is used as argument for + XMultiServiceFactory::createInstance. The only interfaces which are mapped + are <code>IUnknown</code> and <code>IDispatch</code>. + The created UNO objects support <type scope="com::sun::star::script">XInvocation</type> + if the original COM objects support IDispatch. </p> + + <p>The optional parameters of the method + <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member> + are reserved for future use; at this time they are ignored. </p> + + @deprecated + */ +published service OleObjectFactory +{ + interface com::sun::star::lang::XMultiServiceFactory; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/bridge/ProtocolProperty.idl b/udkapi/com/sun/star/bridge/ProtocolProperty.idl new file mode 100644 index 000000000000..8a9e1f7635a0 --- /dev/null +++ b/udkapi/com/sun/star/bridge/ProtocolProperty.idl @@ -0,0 +1,46 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_BRIDGE_PROTOCOLPROPERTY_IDL_ +#define _COM_SUN_STAR_BRIDGE_PROTOCOLPROPERTY_IDL_ + +module com { module sun { module star { module bridge { + +/** string/value pair + */ +published struct ProtocolProperty +{ + /** @missing + */ + string Name; + + /** @missing + */ + any Value; +}; + +}; }; }; }; +#endif diff --git a/udkapi/com/sun/star/bridge/UnoUrlResolver.idl b/udkapi/com/sun/star/bridge/UnoUrlResolver.idl new file mode 100644 index 000000000000..55eb1e28a3ac --- /dev/null +++ b/udkapi/com/sun/star/bridge/UnoUrlResolver.idl @@ -0,0 +1,51 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_UnoUrlResolver_idl__ +#define __com_sun_star_bridge_UnoUrlResolver_idl__ + +//============================================================================= + + module com { module sun { module star { module bridge { + +published interface XUnoUrlResolver; + +//============================================================================= + +/** provides the ability to access remote processes, + resolving them by an UNO url. + <br> + */ +published service UnoUrlResolver: XUnoUrlResolver; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/bridge/UrpBridge.idl b/udkapi/com/sun/star/bridge/UrpBridge.idl new file mode 100644 index 000000000000..15326e5dd8b4 --- /dev/null +++ b/udkapi/com/sun/star/bridge/UrpBridge.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_Urp_idl__ +#define __com_sun_star_bridge_Urp_idl__ + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_bridge_XBridge_idl__ +#include <com/sun/star/bridge/XBridge.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module bridge { + +//============================================================================= +/** Concrete service of the meta service Bridge for the urp protocol. + + <p>This bridge works with the urp protocol. + + @see com.sun.star.bridge.Bridge + */ +published service UrpBridge +{ + /** This interface allows to initialize the bridge service with the necessary + arguments. The sequence<any> must have 4 members. + + <ol> + <li> String: The unique name of the bridge or an empty string</li> + <li> String: urp</li> + <li> XConnection: The bidirectional connection, the bridge should work on</li> + <li> XInstanceProvider: + The instance provider, that shall be called to access the initial object.</li> + </ol> + */ + interface com::sun::star::lang::XInitialization; + + /** The main interface of the service. + */ + interface com::sun::star::bridge::XBridge; + + /** allows to terminate the interprocess bridge. + */ + interface com::sun::star::lang::XComponent; + +}; +//============================================================================= + +}; }; }; }; +#endif diff --git a/udkapi/com/sun/star/bridge/XBridge.idl b/udkapi/com/sun/star/bridge/XBridge.idl new file mode 100644 index 000000000000..baebaefceefc --- /dev/null +++ b/udkapi/com/sun/star/bridge/XBridge.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_BRIDGE_XBRIDGE_IDL_ +#define _COM_SUN_STAR_BRIDGE_XBRIDGE_IDL_ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module bridge { + +/** main interface for an interprocess bridge. + */ +published interface XBridge: com::sun::star::uno::XInterface +{ + /** tries to get an interface from the remote that is known by this name. + + <p>In general, this method is called once to get the initial object from the + remote, but it is allowed to call the method multiple times. </p> + + @param sInstanceName The name of the object, that shall be retrieved from the + remote process. The call is delegated to + com.sun.star.bridge.XInstanceProvider.getInstance() in the + remote process. + @see com.sun.star.bridge.XInstanceProvider + */ + com::sun::star::uno::XInterface getInstance( [in] string sInstanceName ); + + + /** name that the bridge got when it was created. + */ + string getName(); + + + /** a unique descriptive string: protocol + ":" + XConnection.getDescription() + */ + string getDescription(); +}; + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/bridge/XBridgeFactory.idl b/udkapi/com/sun/star/bridge/XBridgeFactory.idl new file mode 100644 index 000000000000..fb6db1a0c339 --- /dev/null +++ b/udkapi/com/sun/star/bridge/XBridgeFactory.idl @@ -0,0 +1,95 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_BRIDGE_XBRIDGEFACTORY_IDL_ +#define _COM_SUN_STAR_BRIDGE_XBRIDGEFACTORY_IDL_ + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/connection/XConnection.idl> +#include <com/sun/star/bridge/XBridge.idl> +#include <com/sun/star/bridge/BridgeExistsException.idl> +#include <com/sun/star/bridge/XInstanceProvider.idl> + + module com { module sun { module star { module bridge { + +/** factory to create interprocess bridges. + */ +published interface XBridgeFactory: com::sun::star::uno::XInterface +{ + /** tries to create a UNO interprocess bridge. + + @param sName + The name of the bridge. This allows other components to reuse + an already created bridge (using getBridge). + <p> + If empty, an anonymous bridge is created, which cannot be retrieved with + getBridge(). No BridgeExistsException can be thrown in this case. + + @param sProtocol + The protocol, that will be used on the connection (e.g., urp) plus additional + comma separated name=value protocol properties. + + @param aConnection + The connection, which is used to transfer the calls. The bridge expects to + own the connection, thus it will close the connection, in case it does not + need it anymore. + + @param anInstanceProvider + gets called, when a request from remote comes in. You can pass a null reference + in case you don't want to export any objects. + + @throws BridgeExistsException + There is already a bridge registered with this name. Use getBridge instead. + + @throws IllegalArgumentException + The protocol is unknown or the connection is null. + */ + XBridge createBridge( + [in] string sName, + [in] string sProtocol , + [in] com::sun::star::connection::XConnection aConnection , + [in] XInstanceProvider anInstanceProvider ) + raises ( BridgeExistsException , com::sun::star::lang::IllegalArgumentException ); + + + /** tries to get a bridge by this name. + <p> Cannot be retrieved, when the bridge got disposed before. + + @return An existing remote bridge or a null reference. + */ + XBridge getBridge( [in] string sName ); + + /** returns the sequence of all named and unnamed UNO interprocess + bridges that are instantiated at the time the call is made. + */ + sequence < XBridge > getExistingBridges( ); +}; + + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/bridge/XBridgeSupplier.idl b/udkapi/com/sun/star/bridge/XBridgeSupplier.idl new file mode 100644 index 000000000000..d0597be94ce5 --- /dev/null +++ b/udkapi/com/sun/star/bridge/XBridgeSupplier.idl @@ -0,0 +1,107 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_XBridgeSupplier_idl__ +#define __com_sun_star_bridge_XBridgeSupplier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_uno_Uik_idl__ +#include <com/sun/star/uno/Uik.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module bridge { + +//============================================================================= + + +/** defines the interface for creating bridges to other object models. + + <p>Because bridges sometimes can not be generated in an address space, + the implementation needs to check the address space of the caller by + comparing the machine and process ID against its own. These IDs are + provided by the UNO runtime. </p> + + <p>All objects, whether they are part of the UNO object model or not, + are carried in an <atom>any</atom>. The representation of this object + is heavily model-dependent and has to be specified in the following list: </p> + + <dl> + <dt>UNO: </dt> + <dd>The any carries normal UNO types, which can be any base type, + struct, sequence, enum, or interface. </dd> + + <dt>OLE: </dt> + <dd>The any carries an <atom>unsigned long</atom> (on 32-bit systems) + or an <atom>unsigned hyper</atom> (on 64-bit systems), which is + interpreted as a variant pointer. The any does not control the + lifetime of the represented variant. That implies that the caller + has the responsibility of freeing the OLE resources represented + by the any value. </dd> + + <dt>JAVA: </dt> + <dd>not yet specified. </dd> + + <dt>CORBA: </dt> + <dd>not yet specified. </dd> + </dl> + + <p>Any implementation can supply its own bridges to other object + models by implementing this interface and returning the bridge + when the method is called with itself as the first parameter. </p> + + @see com::sun::star::bridge::OleBridgeSupplier + @deprecated + */ +published interface XBridgeSupplier: com::sun::star::uno::XInterface +{ + + /** creates a bridge to provide an object of one object model with another. + */ + any createBridge( [in] any modelDepObject, + [in] com::sun::star::uno::Uik MachineId, + [in] long ProcessId, + [in] short sourceModelType, + [in] short destModelType ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/bridge/XBridgeSupplier2.idl b/udkapi/com/sun/star/bridge/XBridgeSupplier2.idl new file mode 100644 index 000000000000..5dbbbff5487d --- /dev/null +++ b/udkapi/com/sun/star/bridge/XBridgeSupplier2.idl @@ -0,0 +1,121 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_XBridgeSupplier2_idl__ +#define __com_sun_star_bridge_XBridgeSupplier2_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module bridge { + +//============================================================================= + +/** defines the interface for creating bridges to other object models. + <p /> + <p> + The created bridges are transparent to the user. That is, if one maps + an interface into the target model, then the resulting target interface + is a bridge implementation, that is not being noticed by an user. During + a call on that interface, the bridge is invoked to convert the arguments + and carry out a call according to the rules of the source model. + Return values are automatically mapped to the types of the target model. + </p> + <p> + Simple types are mapped to simple target types. That is, there is no additional + bridging code involved when those types are being used. + </p> + + <p>Sometimes a bridge cannot be created, depending on whether a programm uses + the XBridgeSupplier2 interface remotely. Assuming one wants to bridge an + OLE Automation object to UNO by calling createBridge on a proxy, then the UNO remote + bridge would not recognise that the Any argument contains an IDispatch interface. + Therefore it cannot marshal it as COM requires it and the bridgeing would fail. + To prevent this, implementations of this interface should be aware of this scenario and + if necessary take the appropriate steps. The process ID argument to the createBridge + function represents the calling process and may be used by the implementation to determine + if it is being accessed remotely. + </p> + <p>All objects, whether they are part of the UNO object model or not, + are carried in an <atom>any</atom>. The representation of this object + is heavily model-dependent and has to be specified in the following list: </p> + + <dl> + <dt>UNO: </dt> + <dd>The any carries normal UNO types, which can be any base type, + struct, sequence, enum or interface. </dd> + + <dt>OLE: </dt> + <dd>The any carries an <atom>unsigned long</atom> (on 32-bit systems) + or an <atom>unsigned hyper</atom> (on 64-bit systems), which is + interpreted as a variant pointer. The any does not control the + lifetime of the represented variant. That implies that the caller + has the responsibility of freeing the OLE resources represented + by the any value. </dd> + + <dt>JAVA: </dt> + <dd>not specified yet. </dd> + + <dt>CORBA: </dt> + <dd>not specified yet. </dd> + </dl> + + </p> + <p>Any implementation can supply its own bridges to other object + models by implementing this interface and returning the bridge + when the method <member>XBridgeSupplier2::createBridge()</member> + is called with itself as the first parameter. </p> + + @see com::sun::star::bridge::OleBridgeSupplier2 + */ +published interface XBridgeSupplier2: com::sun::star::uno::XInterface +{ + /** creates a bridge to provide an object of one object model with another. + */ + any createBridge( [in] any aModelDepObject, + [in] sequence< byte > aProcessId, + [in] short nSourceModelType, + [in] short nDestModelType ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/bridge/XInstanceProvider.idl b/udkapi/com/sun/star/bridge/XInstanceProvider.idl new file mode 100644 index 000000000000..8555020650dd --- /dev/null +++ b/udkapi/com/sun/star/bridge/XInstanceProvider.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_BRIDGE_XINSTANCEPROVIDER_IDL_ +#define _COM_SUN_STAR_BRIDGE_XINSTANCEPROVIDER_IDL_ + +#include <com/sun/star/container/NoSuchElementException.idl> + + module com { module sun { module star { module bridge { + + +/** allows to export UNO objects to other processes. + + @see XBridge + */ +published interface XInstanceProvider: com::sun::star::uno::XInterface +{ + + /** gets called, when an initial object is requested from a remote process. + You may either create a new instance or return an existing object. + + @param sInstanceName + The name of the requested object. + + @returns + the object associated with the name. The return value may be null in case + there is no object to offer for this string. In this case, XBridge.getInstance() + (in the other process) will also return a null reference. + + @throws NoSuchElementException + You may throw this exception to indicate, that there is no object for this + name. Due to a specification bug, this exception will appear as a RuntimeException + at the XBridge.getInstance() method. + */ + com::sun::star::uno::XInterface getInstance( [in] string sInstanceName ) + raises ( com::sun::star::container::NoSuchElementException ); +}; + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/bridge/XProtocolProperties.idl b/udkapi/com/sun/star/bridge/XProtocolProperties.idl new file mode 100644 index 000000000000..c3ff6d4c8e92 --- /dev/null +++ b/udkapi/com/sun/star/bridge/XProtocolProperties.idl @@ -0,0 +1,100 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_BRIDGE_XPROTOCOLPROPERTIES_IDL_ +#define _COM_SUN_STAR_BRIDGE_XPROTOCOLPROPERTIES_IDL_ +#include <com/sun/star/bridge/ProtocolProperty.idl> +#include <com/sun/star/bridge/InvalidProtocolChangeException.idl> + +module com { module sun { module star { module bridge { + + +/** Bridge internal interface, that allows to change protocol settings of the remote + counter part. + + <p>In general, this interface is implemented by the bridge itself. It must not + be called from outside the bridge.</p> + + <p>INTERNAL INTERFACE, DO NOT USE IT ELSEWHERE!</p> +*/ +published interface XProtocolProperties : com::sun::star::uno::XInterface +{ + /** called to get a list of bridge internal properties. Which properties can be retrieved, + is protocol dependent. + + <p> The properties MUST NOT change between a requestChange and a commit change call.</p> + */ + sequence< ProtocolProperty > getProperties( ); + + /** called to initiate a protocol change. + + <p>This method should always be called in the scope of the local bridge setting object, + because the remote counter part may do such a call at the same time + (typically at startup time). </p> + + @param nRandomNumber + In case both processes call requestChange at the same time, + the caller with the higher nRandomNumber is allowed to call + commitChange. + + @returns + 1, if the caller may ( and MUST !!!) call commitChange. + 0, if the caller is not allowed to call commitChange. This can only happen, + if the other bridge has called requestChange at the same time and + nRandomNumber is smaller than the other bridge's nRandomNumber. + The remote counterpart is supposed to call commitChange within a small + time span. Please call requestChange() after the remote counterpart has + called commitChange(). + -1 if the nRandomNumber is of the same value as the previously + sent requestChange (sent by the remote counterpart). This is a draw :o). + Generate a new random number and try again. + */ + long requestChange( [in] long nRandomNumber ); + + /** called to commit a protocol change. + + <p>It is only allowed to call commitChange, if requestChange + has been called previously and the return value was true. The new properties are + valid after the reply of commitChange has been received. + Note, that this is difficult for the callee, because it must marshal the reply + with the old settings. </p> + + <p>All properties not mentioned in the list are unchanged. + Note that the bridge must be blocked for other threads, + before commitChange is sent and unblocked + after the reply has been received. This blocks the bridge.</p> + + @throws InvalidProtocolChangeException + when the remote counterpart could not change at least one of the properties. + No property has been changed. requestChange must be called + again to initiate a new change of the protocol. + */ + void commitChange( [in] sequence< ProtocolProperty > newValues ) + raises ( com::sun::star::bridge::InvalidProtocolChangeException ); +}; + +};};};}; +#endif diff --git a/udkapi/com/sun/star/bridge/XUnoUrlResolver.idl b/udkapi/com/sun/star/bridge/XUnoUrlResolver.idl new file mode 100644 index 000000000000..597d3b66ce03 --- /dev/null +++ b/udkapi/com/sun/star/bridge/XUnoUrlResolver.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_XUnoUrlResolver_idl__ +#define __com_sun_star_bridge_XUnoUrlResolver_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/connection/ConnectionSetupException.idl> +#include <com/sun/star/connection/NoConnectException.idl> + +//============================================================================= + + module com { module sun { module star { module bridge { + +//============================================================================= + +/** allows to resolve an object using the uno-url. + */ +published interface XUnoUrlResolver: com::sun::star::uno::XInterface +{ + + /** resolves an object using the given uno-url. + @param sUnoUrl the uno-url. The uno-url is specified + <a href="http://udk.openoffice.org/common/man/spec/uno-url.html">here</a>. + + @returns the resolved object, in general a proxy for a remote object. + You can use it the same way as you use local references. + */ + com::sun::star::uno::XInterface resolve( [in] string sUnoUrl ) + raises (com::sun::star::connection::NoConnectException, + com::sun::star::connection::ConnectionSetupException, + com::sun::star::lang::IllegalArgumentException); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/bridge/makefile.mk b/udkapi/com/sun/star/bridge/makefile.mk new file mode 100644 index 000000000000..74c95bfced33 --- /dev/null +++ b/udkapi/com/sun/star/bridge/makefile.mk @@ -0,0 +1,66 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssbridge +PACKAGE=com$/sun$/star$/bridge + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + ModelDependent.idl\ + OleApplicationRegistration.idl\ + OleBridgeSupplier.idl\ + OleBridgeSupplier2.idl\ + OleBridgeSupplierVar1.idl\ + OleObjectFactory.idl\ + XBridgeSupplier.idl\ + XBridgeSupplier2.idl\ + XBridge.idl \ + XBridgeFactory.idl\ + XInstanceProvider.idl\ + BridgeExistsException.idl \ + XUnoUrlResolver.idl \ + UnoUrlResolver.idl \ + XProtocolProperties.idl \ + ProtocolProperty.idl \ + InvalidProtocolChangeException.idl \ + Bridge.idl \ + BridgeFactory.idl \ + UrpBridge.idl \ + IiopBridge.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl b/udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl new file mode 100644 index 000000000000..8abd2d8068a1 --- /dev/null +++ b/udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl @@ -0,0 +1,81 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_oleautomation_ApplicationRegistration_idl__ +#define __com_sun_star_bridge_oleautomation_ApplicationRegistration_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module bridge { module oleautomation { + +//============================================================================= + +/** registers UNO objects as COM objects. + <p> + That is, COM class factories are registered with COM at runtime. The required + EXE server is the application which deploys this service. In order to access + the factories by COM API functions, there need to be proper registry entries. + This service does not provide for writing those entries. + </p> + <p> + The instantiation of the registered objects can be carried out by any + ordinary mechanism which is used in a certain language to create COM + components. For example, <code>CreateObject</code> in Visual Basic, + <code>CoCreateInstance</code> in C++. + </p> + <p> + Currently only a factory for the service + <type scope="com::sun::star::lang">MultiServiceFactory</type> is registered + by this service. The CLSID is {82154420-0FBF-11d4-8313-005004526AB4} and the + ProgId is com.sun.star.ServiceManager. + </p> + <p> + <type>ApplicationRegistration</type> does not provide any particular + interface because the UNO objects are registered while instantiating this + service and deregistered if the implementation, which makes use of this + service, is being released. + </p> + */ +service ApplicationRegistration +{ + + interface com::sun::star::uno::XInterface; + +}; + +//============================================================================= + +}; }; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.idl b/udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.idl new file mode 100644 index 000000000000..508b8831c994 --- /dev/null +++ b/udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_oleautomation_BridgeSupplier_idl__ +#define __com_sun_star_bridge_oleautomation_BridgeSupplier_idl__ + +#ifndef __com_sun_star_bridge_XBridgeSupplier2_idl__ +#include <com/sun/star/bridge/XBridgeSupplier2.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module bridge { module oleautomation { + +//============================================================================= +/** maps UNO types to oleautomation types and vice versa. + <p> + The function + <member scope="com::sun::star::bridge">XBridgeSupplier2::createBridge</member> + maps a value of a UNO or Automation type to the desired target type. If a UNO + interface was mapped to <code>IDispatch</code>, then all objects + (interfaces, structs) and other types which are obtained from that Automation + object are automatically mapped to the corresponding Automation types. Hence, + if one provides an initial object which forms the root of all other objects, + such as a service manager, then only that object needs to be explicitly + mapped by a call to + <member scope="com::sun::star::bridge">XBridgeSupplier2::createBridge</member>. + The same holds true if an automation object is mapped to an UNO interface. + </p> + <p> + For Automation objects to be mapped they have to implement + <code>IDispatch</code> interface. Other COM interfaces, except for + <code>IUnknown</code>, are not supported. UNO interfaces and structs are + mapped to <code>IDispatch</code>. + </p> + <p> + The service implements the + <type scope="com::sun::star::bridge">XBridgeSupplier2</type> interface and + handles the model types + <const>com::sun::star::bridge::ModelDependent::UNO</const> and + <const>com::sun::star::bridge::ModelDependent::OLE</const>. + The service does not specify any requirements for registering OLE objects and + class factories. + </p> +*/ +service BridgeSupplier +{ + interface com::sun::star::bridge::XBridgeSupplier2; + +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/bridge/oleautomation/Currency.idl b/udkapi/com/sun/star/bridge/oleautomation/Currency.idl new file mode 100644 index 000000000000..6441e3daa9ed --- /dev/null +++ b/udkapi/com/sun/star/bridge/oleautomation/Currency.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_oleautomation_Currency_idl__ +#define __com_sun_star_bridge_oleautomation_Currency_idl__ + + +module com { module sun { module star { module bridge { module oleautomation { + +/** is the UNO representation of the Automation type <code>CY</code>, also know + as <code>CURRENCY</code>. + <p> + A <code>CY</code> could actually be represented as <atom>hyper</atom> in UNO + and therefore a typedef from <atom>hyper</atom> to a currency type would do. + But a typedef cannot be expressed in all language bindings. In the case + where no typedefs are supported the actual type is used. That is, a + typedef'd currency type would be represented as <code>long</code> in Java. + The information that the <code>long</code> is a currency type is lost. + </p> + <p> + When calling Automation objects from UNO the distinction between + <atom>hyper</atom> and a currency type is important. Therefore + <type>Currency</type> is declared as struct. + </p> + + @since OOo 1.1.2 + */ +struct Currency +{ + /** corresponds to the Automation type <code>CY</code>. + */ + hyper Value; +}; + +}; }; }; }; }; + + +#endif diff --git a/udkapi/com/sun/star/bridge/oleautomation/Date.idl b/udkapi/com/sun/star/bridge/oleautomation/Date.idl new file mode 100644 index 000000000000..baac640171cb --- /dev/null +++ b/udkapi/com/sun/star/bridge/oleautomation/Date.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_oleautomation_Date_idl__ +#define __com_sun_star_bridge_oleautomation_Date_idl__ + + +module com { module sun { module star { module bridge { module oleautomation { + +/** is the UNO representation of the Automation type <code>DATE</code>. + <p> + A <code>DATE</code> could actually be representd as<atom>double</atom> in + UNO and therefore a typedef from <atom>double</atom> to a date type would + do. But a typedef cannot be expressed in all language bindings. In the + case where no typedefs are supported the actual type is used. That is, a + typedef'd date type would be represented as <code>double</code> in Java. + The information that the <atom>double</atom> is a date type is lost. + </p> + <p> + When calling Automation objects from UNO the distinction between + <atom>double</atom> and date type is important. Therefore <type>Date</type> + is declared as struct. + </p> + + @since OOo 1.1.2 + */ +struct Date +{ + /** corresponds to the Automation type <code>DATE</code>. + */ + double Value; +}; + +}; }; }; }; }; + + +#endif diff --git a/udkapi/com/sun/star/bridge/oleautomation/Decimal.idl b/udkapi/com/sun/star/bridge/oleautomation/Decimal.idl new file mode 100644 index 000000000000..fe8a58779fdc --- /dev/null +++ b/udkapi/com/sun/star/bridge/oleautomation/Decimal.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_oleautomation_Decimal_idl__ +#define __com_sun_star_bridge_oleautomation_Decimal_idl__ + + +module com { module sun { module star { module bridge { module oleautomation { + +/** is the UNO representation of the Automation type <code>DECIMAL</code>. + + + @since OOo 1.1.2 + */ +struct Decimal +{ + /** corresponds to <code>DECIMAL.scale</code>. + */ + byte Scale; + + /** corresponds to <code>DECIMAL.sign</code>. + */ + byte Sign; + + /** corresponds to <code>DECIMAL.Lo32</code>. + */ + unsigned long LowValue; + + /** corresponds to <code>DECIMAL.Mid32</code>. + */ + unsigned long MiddleValue; + + /** corresponds to <code>DECIMAL.Hi32</code>. + */ + unsigned long HighValue; +}; + +}; }; }; }; }; + + +#endif diff --git a/udkapi/com/sun/star/bridge/oleautomation/Factory.idl b/udkapi/com/sun/star/bridge/oleautomation/Factory.idl new file mode 100644 index 000000000000..3863e0f11a5f --- /dev/null +++ b/udkapi/com/sun/star/bridge/oleautomation/Factory.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_oleautomation_Factory_idl__ +#define __com_sun_star_bridge_oleautomation_Factory_idl__ + +#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module bridge { module oleautomation { + +//============================================================================= + +/** makes it possible to create COM objects as UNO objects. + + <p> + A COM object must have a ProgId since the ProgId is used as argument for + <method scope="com::sun::star::lang">XMultiServiceFactory::createInstance</method>. + The only interfaces which are mapped are <code>IUnknown</code> and + <code>IDispatch</code>. The created UNO objects support + <type scope="com::sun::star::script">XInvocation</type> if the original COM + objects support <code>IDispatch</code>. + </p> + <p> + The optional parameters of the method + <method scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments</method> + are reserved for future use; at this time they are ignored. + </p> + */ +service Factory +{ + interface com::sun::star::lang::XMultiServiceFactory; +}; + +//============================================================================= + +}; }; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl b/udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl new file mode 100644 index 000000000000..cd4e77d3f691 --- /dev/null +++ b/udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_oleautomation_NamedArgument_idl__ +#define __com_sun_star_bridge_oleautomation_NamedArgument_idl__ + + +module com { module sun { module star { module bridge { module oleautomation { + +/** represents a named argument in a call to a method of an Automation object. + <p> + The Automation bridge accepts values of <type>NamedArgument</type> when a + call to an Automation object is made. The call is done through the + <method scope="com::sun::star::script">XInvocation::invoke</method> + method, which takes all arguments in a sequence of anys. Usually the order + of the arguments must correspond to the order of arguments in the Automation + method. By using instances of <type>NamedArgument</type> the arguments in the + sequence can be unordered. The Automation object being called must support + named arguments, otherwise the call fails. + </p> + + @since OOo 1.1.2 + */ +struct NamedArgument +{ + /** The name of the argument, for which + <member>NamedArgument::Value</member> is intended. + */ + string Name; + + /** The value of the argument whoose name is the one as contained in the + member <member>Name</member>. + */ + any Value; +}; + +}; }; }; }; }; + + +#endif diff --git a/udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.idl b/udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.idl new file mode 100644 index 000000000000..9cb268d7d9a6 --- /dev/null +++ b/udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_oleautomation_PropertyPutArgument_idl__ +#define __com_sun_star_bridge_oleautomation_PropertyPutArgument_idl__ + + +module com { module sun { module star { module bridge { module oleautomation { + +/** contains a value that is used as argument in a "property put" + operation on a Automation object. + <p> + If a Automation object is converted into a UNO object by a scripting + bridge, such as + <type scope="com::sun::star::bridge::oleautomation">BridgeSupplier</type>, + then it is accessed through the + <type scope="com::sun::star::script">XInvocation</type> interface. + The methods + <member scope="com::sun::star::script">XInvocation::setValue</member> + and + <member scope="com::sun::star::script">XInvocation::getValue</member> + are used to access properties which do not have additional + arguments. To access a property with additional arguments, the + method + <member scope="com::sun::star::script">XInvocation::invoke</member> + has to be used. The method implementation must decide, if the + property is to be written or read so it can perform the proper + operation on the Automation object. To make this decision, the + caller has to provide the information if the current call is + intended to be a write or read operation. This is done by + providing either instances of <type>PropertyPutArgument</type> or + <type>PropertyGetArgument</type> as arguments to + <member scope="com::sun::star::script">XInvocation::Invoke</member>. + + @since OOo 1.1.2 +*/ +struct PropertyPutArgument +{ + /** contains the actual argument. + */ + any Value; +}; + +}; }; }; }; }; + + +#endif diff --git a/udkapi/com/sun/star/bridge/oleautomation/SCode.idl b/udkapi/com/sun/star/bridge/oleautomation/SCode.idl new file mode 100644 index 000000000000..06e636228af7 --- /dev/null +++ b/udkapi/com/sun/star/bridge/oleautomation/SCode.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_oleautomation_SCode_idl__ +#define __com_sun_star_bridge_oleautomation_SCode_idl__ + + +module com { module sun { module star { module bridge { module oleautomation { + +/** <p>is the UNO representation of the Automation type SCODE. + </p> + <p> + A <code>SCODE</code> is used to express errors in Automation. + In UNO it could be represented by a <atom>long</atom> and therefore a typedef + from <atom>long</atom> to a particular error type would do. But a typedef + cannot be expressed in all language bindings. In the case where no typedefs + are supported the actual type is used. That is, a typedef'd error type would + be represented as <code>int</code> in Java. The information that the + <code>int</code> is an error type is lost. + </p> + <p> + When calling Automation objects from UNO the distinction between error type + and <atom>long</atom> is important. Therefore the <type>Scode</type> is + declared as struct. + </p> + + @since OOo 1.1.2 + */ + + +struct SCode +{ + long Value; +}; + +}; }; }; }; }; + + +#endif diff --git a/udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl b/udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl new file mode 100644 index 000000000000..6c165693bcdc --- /dev/null +++ b/udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_bridge_oleautomation_XAutomationObject_idl__ +#define __com_sun_star_bridge_oleautomation_XAutomationObject_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +module com { module sun { module star { module bridge { module oleautomation { + + +/** a tagging interface for UNO objects which represent Automation + objects. + <p> + If a Automation object is bridged into the UNO environment, then + the resulting UNO object does not distinguish itself from any + other ordinary UNO object. However, it may be desirable to have + that distinction regardless, if a UNO client needs to take + particular Automation specific characteristics into account. + By providing <type>XAutomationObject</type> an object declares + to be representing an Automation object. + + @since OOo 1.1.2 + */ +interface XAutomationObject: com::sun::star::uno::XInterface +{ + +}; + +}; }; }; }; }; + + +#endif diff --git a/udkapi/com/sun/star/bridge/oleautomation/makefile.mk b/udkapi/com/sun/star/bridge/oleautomation/makefile.mk new file mode 100644 index 000000000000..acb0365a4a71 --- /dev/null +++ b/udkapi/com/sun/star/bridge/oleautomation/makefile.mk @@ -0,0 +1,54 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssboleautomation +PACKAGE=com$/sun$/star$/bridge$/oleautomation + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + ApplicationRegistration.idl\ + BridgeSupplier.idl\ + Factory.idl \ + Decimal.idl \ + Currency.idl \ + Date.idl \ + NamedArgument.idl \ + SCode.idl \ + PropertyPutArgument.idl \ + XAutomationObject.idl +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/connection/Acceptor.idl b/udkapi/com/sun/star/connection/Acceptor.idl new file mode 100644 index 000000000000..f2d47c5db65f --- /dev/null +++ b/udkapi/com/sun/star/connection/Acceptor.idl @@ -0,0 +1,50 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_connection_Acceptor_idl__ +#define __com_sun_star_connection_Acceptor_idl__ + +//============================================================================= + + module com { module sun { module star { module connection { + +published interface XAcceptor; + +//============================================================================= + +/** allows to accept connection attempts from another process. + <p> + Acceptor is a delegating service. You can add further acceptors by giving + them a service name com.sun.star.connection.Acceptor.xxx, where xxx is the + connection type used in the connection string during accept()/connect() call. + + */ +published service Acceptor: XAcceptor; + +//============================================================================= + +}; }; }; }; +#endif diff --git a/udkapi/com/sun/star/connection/AlreadyAcceptingException.idl b/udkapi/com/sun/star/connection/AlreadyAcceptingException.idl new file mode 100644 index 000000000000..1ee79693397e --- /dev/null +++ b/udkapi/com/sun/star/connection/AlreadyAcceptingException.idl @@ -0,0 +1,42 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_CONNECTION_ALREADYACCEPTINGEXCEPTION_IDL_ +#define _COM_SUN_STAR_CONNECTION_ALREADYACCEPTINGEXCEPTION_IDL_ +#include <com/sun/star/uno/Exception.idl> + + module com { module sun { module star { module connection { + +/** Is thrown, when there is another thread already accepting on this instance. + */ +published exception AlreadyAcceptingException: com::sun::star::uno::Exception +{ +}; + + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/connection/ConnectionSetupException.idl b/udkapi/com/sun/star/connection/ConnectionSetupException.idl new file mode 100644 index 000000000000..f413354893dc --- /dev/null +++ b/udkapi/com/sun/star/connection/ConnectionSetupException.idl @@ -0,0 +1,42 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_CONNECTION_CONNECTIONSETUPEXCEPTION_IDL_ +#define _COM_SUN_STAR_CONNECTION_CONNECTIONSETUPEXCEPTION_IDL_ +#include <com/sun/star/uno/Exception.idl> + + module com { module sun { module star { module connection { + +/** Is thrown, when it is not possible to accept on a local resource. + */ +published exception ConnectionSetupException: com::sun::star::uno::Exception +{ +}; + + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/connection/Connector.idl b/udkapi/com/sun/star/connection/Connector.idl new file mode 100644 index 000000000000..16bbbcd7163b --- /dev/null +++ b/udkapi/com/sun/star/connection/Connector.idl @@ -0,0 +1,49 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_connection_Connector_idl__ +#define __com_sun_star_connection_Connector_idl__ + +//============================================================================= + + module com { module sun { module star { module connection { + +published interface XConnector; + +//============================================================================= + +/** allows to establish a connection to another process. + <p> + Connector is a delegating service. You can add further connectors by giving + them a service name com.sun.star.connection.Connector.xxx, where xxx is the + connection type used in the connection string during accept()/connect() call. + */ +published service Connector: XConnector; + +//============================================================================= + +}; }; }; }; +#endif diff --git a/udkapi/com/sun/star/connection/NoConnectException.idl b/udkapi/com/sun/star/connection/NoConnectException.idl new file mode 100644 index 000000000000..09aeb48d082b --- /dev/null +++ b/udkapi/com/sun/star/connection/NoConnectException.idl @@ -0,0 +1,42 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_CONNECTION_NOCONNECTEXCEPTION_IDL_ +#define _COM_SUN_STAR_CONNECTION_NOCONNECTEXCEPTION_IDL_ +#include <com/sun/star/uno/Exception.idl> + +module com { module sun { module star { module connection { + +/** Is thrown in case no one is accepting on the specified resource. + */ +published exception NoConnectException: com::sun::star::uno::Exception +{ +}; + + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/connection/SocketPermission.idl b/udkapi/com/sun/star/connection/SocketPermission.idl new file mode 100644 index 000000000000..b53b0678ba80 --- /dev/null +++ b/udkapi/com/sun/star/connection/SocketPermission.idl @@ -0,0 +1,104 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_connection_SocketPermission_idl__ +#define __com_sun_star_connection_SocketPermission_idl__ + +//============================================================================= + +module com { module sun { module star { module connection { + +//============================================================================= + +/** This permission represents access to a network via sockets. + A SocketPermission consists of a host specification and a set of actions + specifying ways to connect to that host. The host is specified as + <pre> + host = (hostname | IPaddress)[:portrange] + portrange = portnumber | -portnumber | portnumber-[portnumber] + </pre> + The host is expressed as a DNS name, as a numerical IP address, or as + <code>"localhost"</code> (for the local machine). The wildcard <code>"*"</code> + may be included once + in a DNS name host specification. If it is included, it must be in the + leftmost position, as in <code>"*.sun.com"</code>. + <br> + The port or portrange is optional. A port specification of the form <code>"N-"</code>, + where <code>N</code> is a port number, signifies all ports numbered <code>N</code> and above, + while a specification of the form <code>"-N"</code> indicates all ports numbered + <code>N</code> and below. + + <p> + The possible ways to connect to the host are + <ul> + <li><code>accept</code></li> + <li><code>connect</code></li> + <li><code>listen</code></li> + <li><code>resolve</code></li> + </ul><br> + The <code>"listen"</code> action is only meaningful when used with <code>"localhost"</code>. + The <code>"resolve"</code> (resolve host/ip name service lookups) action is implied when + any of the other actions are present. + <br> + As an example of the creation and meaning of SocketPermissions, note that if + the following permission +<pre> +SocketPermission("foo.bar.com:7777", "connect,accept"); +</pre> + is granted, it allows to connect to port 7777 on foo.bar.com, and to + accept connections on that port. + <br> + Similarly, if the following permission +<pre> +SocketPermission("localhost:1024-", "accept,connect,listen"); +</pre> + is granted, it allows that code to accept connections on, connect to, or listen + on any port between 1024 and 65535 on the local host. + </p> + + @attention + Granting code permission to accept or make connections to remote hosts may be + dangerous because malevolent code can then more easily transfer and share + confidential data among parties who may not otherwise have access to the data. + </p> + + @since OOo 1.1.2 +*/ +published struct SocketPermission +{ + /** target host with optional portrange + */ + string Host; + /** comma separated actions list + */ + string Actions; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/connection/XAcceptor.idl b/udkapi/com/sun/star/connection/XAcceptor.idl new file mode 100644 index 000000000000..e601b94b79b3 --- /dev/null +++ b/udkapi/com/sun/star/connection/XAcceptor.idl @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_CONNECTION_XACCEPTOR_IDL_ +#define _COM_SUN_STAR_CONNECTION_XACCEPTOR_IDL_ + +#include <com/sun/star/connection/ConnectionSetupException.idl> +#include <com/sun/star/connection/AlreadyAcceptingException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/connection/XConnection.idl> + + +module com { module sun { module star { module connection { + +/** allows to passively accept connection attempts from other processes. + + <p> + This is the counterpart to the XConnector interface. + */ +published interface XAcceptor: com::sun::star::uno::XInterface +{ + // DocMerge from xml: method com::sun::star::connection::XAcceptor::accept + /** accepts an interprocess connection. Waits until someone connects to the resource. + <p> + After a successful return, the method may be called again to accept + further connections, but the parameter string MUST be left unchanged. + + + @param sConnectionDescription + contains the kind of the connection plus a + comma seperated list of attributes, + e.g., <em>socket,host=localhost,port=2345</em> for a tcpip connection. + + @return null reference, + stopAccepting was called. + Otherwise a valid XConnection reference. + + @throws AlreadyAcceptingException + Only one acceptor-thread per instance allowed. + @throws ConnectionSetupException + Problems during setting up the acceptor. + (e.g., Security-reasons, socket already busy, etc.) + @throws com::sun::star::lang::IllegalArgumentException + sConnectionDescription could not be interpreted + + */ + XConnection accept( [in] string sConnectionDescription ) + raises( AlreadyAcceptingException, + ConnectionSetupException, + com::sun::star::lang::IllegalArgumentException); + + + /** pushes acceptor out of the accept-call. + */ + void stopAccepting(); +}; + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/connection/XConnection.idl b/udkapi/com/sun/star/connection/XConnection.idl new file mode 100644 index 000000000000..c068614a6610 --- /dev/null +++ b/udkapi/com/sun/star/connection/XConnection.idl @@ -0,0 +1,98 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_CONNECTION_XCONNECTION_IDL_ +#define _COM_SUN_STAR_CONNECTION_XCONNECTION_IDL_ + +#include <com/sun/star/io/IOException.idl> + + +module com { module sun { module star { module connection { + +/** A bidirectional bytestream. + + <p> You should additionally implement XConnection2. + + @see XConnection2 + */ +published interface XConnection: com::sun::star::uno::XInterface +{ + + /** reads a requested number of bytes from the connection. + <p> This method is blocking, meaning that it always returns a bytesequence + with the requested number of bytes, unless it has reached end of file (which + often means, that close() has been called). + + <p> please see also the readSomeBytes() method of XConnection2. + + @return The read number of bytes. + The return value and the length of the + returned sequence must be identical. + @param nBytesToRead + The number of bytes to be read from the stream. + + @throws com::sun::star::io::IOException + in case an error occurred during reading from the stream. + */ + long read( [out] sequence < byte > aReadBytes , [in] long nBytesToRead ) + raises( com::sun::star::io::IOException ); + + + // DocMerge from xml: method com::sun::star::connection::XConnection::write + /** writes the given bytesequence to the stream. + <p>The method blocks until the whole sequence is written. + + @throws com::sun::star::io::IOException + in case an error occurred during writing to the stream. + */ + void write( [in] sequence < byte > aData ) + raises( com::sun::star::io::IOException ); + + + /** Empties all internal buffers. + */ + void flush( ) + raises( com::sun::star::io::IOException ); + + /** Immediately terminates any ongoing read or write calls. + All subsequent read or write calls() + */ + void close( ) + raises( com::sun::star::io::IOException ); + + + /** A unique string describing the connection. + + <p>This string is different from the arguments to <member>XConnection::accept</member> + and <member>XConnector::connect</member>. In general, the string contains an additional + handle value. For example, "socket,host=localhost,port=2002,uniqueValue=2324". </p> + */ + string getDescription(); +}; + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/connection/XConnection2.idl b/udkapi/com/sun/star/connection/XConnection2.idl new file mode 100644 index 000000000000..29a939fe106d --- /dev/null +++ b/udkapi/com/sun/star/connection/XConnection2.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_CONNECTION_XCONNECTION2_IDL_ +#define _COM_SUN_STAR_CONNECTION_XCONNECTION2_IDL_ + +#include <com/sun/star/io/IOException.idl> +#include <com/sun/star/io/BufferSizeExceededException.idl> +#include <com/sun/star/io/NotConnectedException.idl> + +#include <com/sun/star/connection/XConnection.idl> + + +module com { module sun { module star { module connection { + + + + +/** + XConnection2 extends the <code>XConnection</code> interface + with <code>available</code> and <code>readSomeBytes</code> +*/ +published interface XConnection2: com::sun::star::connection::XConnection +{ + + /** Gives the number of bytes available via <code>read</code> + without blocking. + */ + long available() raises(com::sun::star::io::IOException); + + /** Blocks if no data is available otherwise reads at + max <var>nMaxBytesToRead</var> but at least 1 byte. + </p> + */ + long readSomeBytes([out] sequence<byte> aData, [in] long nMaxBytesToRead) + raises(com::sun::star::io::IOException); +}; + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/connection/XConnectionBroadcaster.idl b/udkapi/com/sun/star/connection/XConnectionBroadcaster.idl new file mode 100644 index 000000000000..44f4ac694cdd --- /dev/null +++ b/udkapi/com/sun/star/connection/XConnectionBroadcaster.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_CONNECTION_XCONNECTIONBROADCASTER_IDL__ +#define _COM_SUN_STAR_CONNECTION_XCONNECTIONBROADCASTER_IDL_ + +#include <com/sun/star/io/XStreamListener.idl> + + + module com { module sun { module star { module connection { + + + + +/** allows to add listeners to a connection. + <p> Maybe supported by connections returned from <member>XAcceptor::accept</member> + or <member>XConnector::connect</member>. + */ +published interface XConnectionBroadcaster: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** registers an object to receive events from this connection. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void addStreamListener( [in] com::sun::star::io::XStreamListener aListener ); + + //------------------------------------------------------------------------- + + /** unregisters an object to receive events from this connection. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void removeStreamListener( [in] com::sun::star::io::XStreamListener aListener ); +}; + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/connection/XConnector.idl b/udkapi/com/sun/star/connection/XConnector.idl new file mode 100644 index 000000000000..cfe16476dbdc --- /dev/null +++ b/udkapi/com/sun/star/connection/XConnector.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_CONNECTION_XCONNECTOR_IDL_ +#define _COM_SUN_STAR_CONNECTION_XCONNECTOR_IDL_ + +#include <com/sun/star/connection/ConnectionSetupException.idl> +#include <com/sun/star/connection/NoConnectException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/connection/XConnection.idl> + + +module com { module sun { module star { module connection { + +/** + allows to actively establish an interprocess connection. + */ +published interface XConnector: com::sun::star::uno::XInterface +{ + + // DocMerge from xml: method com::sun::star::connection::XConnector::connect + /** creates a new connection interprocess connection. + <p> + Tries to connect to an <type>XAcceptor</type>. Behavior is unspecified + if a call to connect is made when another call to connect either has not + yet returned or has returned successfully without raising an exception. + + @param sConnectionDescription + contains the kind of the connection plus a + comma seperated list of attributes, + e.g., <em>socket,host=locahost,port=2345</em> for a tcpip connection. + + @throws ConnectionSetupException + Problems during setting up the connector + on client side, (e.g., Security-reasons, socket already busy .. ), + or the string could not be interpreted correctly. + + @throws NoConnectException + Couldn't reach a server (e.g. network failure), + no server is listening + */ + XConnection connect( [in] string sConnectionDescription ) + raises( NoConnectException,ConnectionSetupException ); +}; + + +};};};}; + +#endif diff --git a/udkapi/com/sun/star/connection/makefile.mk b/udkapi/com/sun/star/connection/makefile.mk new file mode 100644 index 000000000000..616871af4a68 --- /dev/null +++ b/udkapi/com/sun/star/connection/makefile.mk @@ -0,0 +1,56 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssconnection +PACKAGE=com$/sun$/star$/connection + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + SocketPermission.idl\ + XConnection.idl\ + XConnection2.idl\ + XConnectionBroadcaster.idl\ + XAcceptor.idl\ + XConnector.idl\ + NoConnectException.idl\ + AlreadyAcceptingException.idl\ + ConnectionSetupException.idl \ + Connector.idl \ + Acceptor.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/container/ContainerEvent.idl b/udkapi/com/sun/star/container/ContainerEvent.idl new file mode 100644 index 000000000000..76b7cb07cc70 --- /dev/null +++ b/udkapi/com/sun/star/container/ContainerEvent.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_ContainerEvent_idl__ +#define __com_sun_star_container_ContainerEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** This event is fired when an element is inserted in a container. + + @see XContainerListener + */ +published struct ContainerEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + + /** It contains the accessor to the element which is inserted or removed. + + <p>The type and the value of the accessor depends on the service.</p> + */ + any Accessor; + + //------------------------------------------------------------------------- + + /** This contains the element that was inserted or removed. + */ + any Element; + + //------------------------------------------------------------------------- + + /** This contains the replaced element. + */ + any ReplacedElement; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/ElementExistException.idl b/udkapi/com/sun/star/container/ElementExistException.idl new file mode 100644 index 000000000000..34dcb52d3dc0 --- /dev/null +++ b/udkapi/com/sun/star/container/ElementExistException.idl @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_ElementExistException_idl__ +#define __com_sun_star_container_ElementExistException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** is thrown by container methods, if an element is added which is already + a child of the container. + + <p>Probably not the same element is already a member, when this exception + is thrown, but a member with the same id or name. </p> + + @see XNameContainer + @see XNameContainer::insertByName + */ +published exception ElementExistException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/EnumerableMap.idl b/udkapi/com/sun/star/container/EnumerableMap.idl new file mode 100644 index 000000000000..12b04a7ed04b --- /dev/null +++ b/udkapi/com/sun/star/container/EnumerableMap.idl @@ -0,0 +1,141 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_Map_idl__ +#define __com_sun_star_container_Map_idl__ + +#include <com/sun/star/beans/IllegalTypeException.idl> +#include <com/sun/star/beans/Pair.idl> +#include <com/sun/star/container/XEnumerableMap.idl> + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** provides a default <type>XEnumerableMap</type> implementation + + <p>For the keys put into the map using <member>XMap::put</member> or <member>createImmutable</member>, + the following rules apply: + <a name="keyrules"></a> + <ul><li>A <VOID/> key is not allowed.</li> + <li>If the key type is <code>BOOLEAN</code>, <code>CHAR</code>, <code>FLOAT</code>, <code>DOUBLE</code>, + <code>STRING</code>, <code>TYPE</code>, or <code>UNSIGNED HYPER</code>, then only keys of exactly this + type are accepted.</li> + <li>If the key type is <code>DOUBLE</code> or <code>FLOAT</code>, then <code>Double.NaN</code> respectively + <code>Float.NaN</code> is not accepted as key.</li> + <li>If the key type's class is <member scope="com::sun::star::uno">TypeClass::ENUM</member>, then only keys + of exactly this type are accepted.</li> + <li>If the key type is any of <code>BYTE</code>, <code>SHORT</code>, <code>UNSIGNED SHORT</code>, + <code>LONG</code>, <code>UNSIGNED LONG</code>, or <code>HYPER</code>, then all keys which can losslessly + be converted to this type (possibly using widening conversions) are accepted.</li> + <li>If the key type is an interface type, then all key values denoting objects which can be queried for + the given interface are accepted.</li> + <li>All other key types are rejected.</li> + </ul></p> + + <p>For the values put into the map using <member>XMap::put</member> or <member>createImmutable</member>, + the following rules apply: + <a name="valuerules"></a> + <ul><li>The <VOID/> value will be accepted to be put into the map.</p> + <li>If the value type's class is <member scope="com::sun::star::uno">TypeClass::ANY</member>, any value + will be accepted.</li> + <li>If the value type is an interface type, then all values denoting objects which can be queried for + the given interface are accepted.</li> + <li>If the value type's class is <member scope="com::sun::star::uno">TypeClass::EXCEPTION</member> + or <member scope="com::sun::star::uno">TypeClass::STRUCT</member>, then values whose type equals the + value type, or is a sub class of the value type, are accepted.</li> + <li>For all other value types, only values whose type matches exactly are accepted.</li> + <li>If the value type is <code>DOUBLE</code> or <code>FLOAT</code>, then <code>Double.NaN</code> respectively + <code>Float.NaN</code> is not accepted.</li> + </ul></p> + + <p>The factory methods of the <code>XEnumerableMap</code> interface support both <em>isolated</em> + and <em>non-isolated</em> enumerators. The latter one will be automatically disposed when the map changes + after enumerator creation, so every attempt to use them will result in a + <type scope="com::sun::star::lang">DisposedException</type> being thrown.</p> + + @see http://udk.openoffice.org/common/man/typesystem.html +*/ +service EnumerableMap : XEnumerableMap +{ + /** creates an instance mapping from the given key type to the given value type + + @param KeyType + denotes the type of the keys in the to-be-created map + @param ValueType + denotes the type of the values in the to-be-created map + + @throws ::com::sun::star::beans::IllegalTypeException + if <arg>KeyType</arg> or <arg>ValueType</arg> are unsupported types. + For values, all type classes except <member scope="com::sun::star::uno">TypeClass::VOID</member> + and <member scope="com::sun::star::uno">TypeClass::UNKNOWN</member> are accepted. + For keys, scalar types, strings, <type scope="com::sun::star::uno">Type</type> itself, and interface + types are accepted. + */ + create( [in] type KeyType, [in] type ValueType ) + raises( ::com::sun::star::beans::IllegalTypeException ); + + /** creates an instance mapping from the given key type to the given value type + + <p>The resulting map is immutable, so later alter operations on it will fail + with a <type scope="com::sun::star::lang">NoSupportException</type>.</p> + + @param KeyType + denotes the type of the keys in the to-be-created map + @param ValueType + denotes the type of the values in the to-be-created map + @param Values + denote the values contained in the to-be-created map + + @throws ::com::sun::star::beans::IllegalTypeException + if <arg>KeyType</arg> or <arg>ValueType</arg> are unsupported types. + For values, all type classes except <member scope="com::sun::star::uno">TypeClass::VOID</member> + are accepted.<br/> + For keys, scalar types, strings, <type scope="com::sun::star::uno">Type</type> itself, and interface + types are accepted. + @throws ::com::sun::star::lang::IllegalArgumentException + if any of the given values or keys violates the <a href="#keyrules">key rules</a> or + <a href="#valuerules">value rules</a>. + */ + createImmutable( + [in] type KeyType, + [in] type ValueType, + [in] sequence< ::com::sun::star::beans::Pair< any, any > > Values + ) + raises( ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/udkapi/com/sun/star/container/NoSuchElementException.idl b/udkapi/com/sun/star/container/NoSuchElementException.idl new file mode 100644 index 000000000000..b5343a33d064 --- /dev/null +++ b/udkapi/com/sun/star/container/NoSuchElementException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_NoSuchElementException_idl__ +#define __com_sun_star_container_NoSuchElementException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** is thrown by child access methods of collections, if the addressed child + does not exist. + + @see XEnumeration + @see XEnumeration::nextElement + */ +published exception NoSuchElementException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XChild.idl b/udkapi/com/sun/star/container/XChild.idl new file mode 100644 index 000000000000..bb1cff98b99b --- /dev/null +++ b/udkapi/com/sun/star/container/XChild.idl @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XChild_idl__ +#define __com_sun_star_container_XChild_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_NoSupportException_idl__ +#include <com/sun/star/lang/NoSupportException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** provides access to the parent of the object. + + <p>This interface normally is only supported if the objects all have + exactly one dedicated parent container.</p> + */ +published interface XChild: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** grants access to the object containing this content. + */ + com::sun::star::uno::XInterface getParent(); + + //------------------------------------------------------------------------- + + /** sets the parent to this object. + + @throws com::sun::star::lang::NoSupportException + if the name of this object cannot be changed. + */ + void setParent( [in] com::sun::star::uno::XInterface Parent ) + raises( com::sun::star::lang::NoSupportException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XComponentEnumeration.idl b/udkapi/com/sun/star/container/XComponentEnumeration.idl new file mode 100644 index 000000000000..1cc0f5597e84 --- /dev/null +++ b/udkapi/com/sun/star/container/XComponentEnumeration.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XComponentEnumeration_idl__ +#define __com_sun_star_container_XComponentEnumeration_idl__ + +#ifndef __com_sun_star_container_XEnumeration_idl__ +#include <com/sun/star/container/XEnumeration.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** provides a typified enumeration through components. + */ +published interface XComponentEnumeration: com::sun::star::container::XEnumeration +{ + //------------------------------------------------------------------------- + + /** @returns + the next component of this enumeration. + + @throws NoSuchElementException + if no more elements exist. + */ + com::sun::star::lang::XComponent nextComponent() + raises( com::sun::star::container::NoSuchElementException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XComponentEnumerationAccess.idl b/udkapi/com/sun/star/container/XComponentEnumerationAccess.idl new file mode 100644 index 000000000000..e8fcb33f4730 --- /dev/null +++ b/udkapi/com/sun/star/container/XComponentEnumerationAccess.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XComponentEnumerationAccess_idl__ +#define __com_sun_star_container_XComponentEnumerationAccess_idl__ + +#ifndef __com_sun_star_container_XEnumerationAccess_idl__ +#include <com/sun/star/container/XEnumerationAccess.idl> +#endif + +#ifndef __com_sun_star_container_XComponentEnumeration_idl__ +#include <com/sun/star/container/XComponentEnumeration.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** provides a factory for a typified enumeration through + a collection of components. + */ +published interface XComponentEnumerationAccess: com::sun::star::container::XEnumerationAccess +{ + //------------------------------------------------------------------------- + + /** creates a new instance of enumeration through components. + */ + com::sun::star::container::XComponentEnumeration createComponentEnumeration(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XContainer.idl b/udkapi/com/sun/star/container/XContainer.idl new file mode 100644 index 000000000000..686f0b1ea4c4 --- /dev/null +++ b/udkapi/com/sun/star/container/XContainer.idl @@ -0,0 +1,93 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XContainer_idl__ +#define __com_sun_star_container_XContainer_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_container_XContainerListener_idl__ +#include <com/sun/star/container/XContainerListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** supports quick access to the information if a container currently + contains elements. + + <p>The <type>XContainer</type> interface is provided for containers + which need to broadcast changes within the container; that means + the actions of adding or removing elements are broadcast to the + listeners. </p> + + <p>This can be useful for UI to enable/disable some functions + without actually accessing the data. </p> + + @see XContent + @see XIndexAccess + @see XNameAcces + @see XEnumerationAccess + */ +published interface XContainer: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** adds the specified listener to receive events when + elements are inserted or removed. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see XContainerListener + */ + [oneway] void addContainerListener( [in] com::sun::star::container::XContainerListener xListener ); + + //------------------------------------------------------------------------- + + /** removes the specified listener so it does not receive + any events from this container. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see XContainerListener + */ + [oneway] void removeContainerListener( [in] com::sun::star::container::XContainerListener xListener ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XContainerApproveBroadcaster.idl b/udkapi/com/sun/star/container/XContainerApproveBroadcaster.idl new file mode 100644 index 000000000000..0b1c7f2a6926 --- /dev/null +++ b/udkapi/com/sun/star/container/XContainerApproveBroadcaster.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XContainerApproveBroadcaster_idl__ +#define __com_sun_star_container_XContainerApproveBroadcaster_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +interface XContainerApproveListener; + +/** allows containers to implement a vetoing mechanism for insertion, removal, and + replacement of their elements. + */ +interface XContainerApproveBroadcaster +{ + /** adds a listener which can veto changes in the container's content + */ + void addContainerApproveListener( + [in] XContainerApproveListener Listener ); + + /** removes a previously added listener + */ + void removeContainerApproveListener( + [in] XContainerApproveListener Listener ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif + diff --git a/udkapi/com/sun/star/container/XContainerApproveListener.idl b/udkapi/com/sun/star/container/XContainerApproveListener.idl new file mode 100644 index 000000000000..323e4038e13a --- /dev/null +++ b/udkapi/com/sun/star/container/XContainerApproveListener.idl @@ -0,0 +1,89 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XContainerApproveListener_idl +#define __com_sun_star_container_XContainerApproveListener_idl + +#ifndef __com_sun_star_container_ContainerEvent_idl__ +#include <com/sun/star/container/ContainerEvent.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_util_XVeto_idl__ +#include <com/sun/star/util/XVeto.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** is notified to approve changes which happen to the content of a generic container + + @see XContainerApproveBroadcaster + */ +interface XContainerApproveListener +{ + /** is called for the listener to approve an insertion into the container + + @return + an instance implementing the <type scope="com::sun::star::util">XVeto</type> interface, + if the insertion is vetoed, <NULL/> otherwise. + */ + com::sun::star::util::XVeto approveInsertElement( [in] ContainerEvent Event ) + raises ( com::sun::star::lang::WrappedTargetException ); + + /** is called for the listener to approve a replacement inside the container + + @return + an instance implementing the <type scope="com::sun::star::util">XVeto</type> interface, + if the replacement is vetoed, <NULL/> otherwise. + */ + com::sun::star::util::XVeto approveReplaceElement( [in] ContainerEvent Event ) + raises ( com::sun::star::lang::WrappedTargetException ); + + /** is called for the listener to approve a removal of an element from the container + + @return + an instance implementing the <type scope="com::sun::star::util">XVeto</type> interface, + if the removal is vetoed, <NULL/> otherwise. + */ + com::sun::star::util::XVeto approveRemoveElement( [in] ContainerEvent Event ) + raises ( com::sun::star::lang::WrappedTargetException ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/udkapi/com/sun/star/container/XContainerListener.idl b/udkapi/com/sun/star/container/XContainerListener.idl new file mode 100644 index 000000000000..5c1367ff11e5 --- /dev/null +++ b/udkapi/com/sun/star/container/XContainerListener.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XContainerListener_idl__ +#define __com_sun_star_container_XContainerListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_container_ContainerEvent_idl__ +#include <com/sun/star/container/ContainerEvent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** receives events when the content of the related container changes. + */ +published interface XContainerListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + /** is invoked when a container has inserted an element. + */ + [oneway] void elementInserted( [in] com::sun::star::container::ContainerEvent Event ); + + //------------------------------------------------------------------------- + + /** is invoked when a container has removed an element. + */ + [oneway] void elementRemoved( [in] com::sun::star::container::ContainerEvent Event ); + + //------------------------------------------------------------------------- + + /** is invoked when a container has replaced an element. + */ + [oneway] void elementReplaced( [in] com::sun::star::container::ContainerEvent Event ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XContainerQuery.idl b/udkapi/com/sun/star/container/XContainerQuery.idl new file mode 100644 index 000000000000..611138365dbe --- /dev/null +++ b/udkapi/com/sun/star/container/XContainerQuery.idl @@ -0,0 +1,114 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XContainerQuery_idl__ +#define __com_sun_star_container_XContainerQuery_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_container_XEnumeration_idl__ +#include <com/sun/star/container/XEnumeration.idl> +#endif + +#ifndef __com_sun_star_beans_NamedValue_idl__ +#include <com/sun/star/beans/NamedValue.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= +/** supports simple query feature on a container + + <p> + This interface makes it possible to create sub sets of container items + which serve specified search criterion. + <p> + */ +published interface XContainerQuery: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** creates a sub set of container items which match given query command + + <p> + Items of this sub set must match used query string. Format of query depends + from real implementation. Using of "param=value" pairs isn't neccessary. + So it's possible to combine different parameters as one simple command + string. + <p> + + @param Query items of sub set must match to this query<br> + example:<br> + (1)<br> + query as parameter sequence to return all elements wich match + the name pattern and supports a special feature; sort it ascending<br> + "name=*myname_??_;sort=ascending;feature=VISIBLE"<br> + (2)<br> + query as command to return all elements which support special feature + and match by name pattern;ascending sort is the default<br> + "getAllVisible(*myname_??_)"<br> + + @returns an sub set of container items as an enumeration. + */ + XEnumeration createSubSetEnumerationByQuery( [in] string Query ); + + //------------------------------------------------------------------------- + /** creates a sub set of container items which supports searched properties as minimum + + <p> + It's not possible to use special commands or search specific parameters here. + You can match by properties only. Enumerated elements must provide queried + properties as minimum. Not specified properties willn't be used for searching. + <p> + + @param Properties items of sub set must support given properties as minimum<br> + example:<br> + (supported)<br> + search for items wich match the name pattern and supports the VISIBLE feature<br> + Parameters[0].Name = "name"<br> + Parameters[0].Value = "*myname_??_"<br> + Parameters[1].Name = "feature"<br> + Parameters[1].Value = "VISIBLE"<br> + ...<br> + (unsupported)<br> + "sort" isn't a property of a container item! + Parameters[0].Name = "sort"<br> + Parameters[0].Value = "ascending"<br> + ...<br> + + @returns an sub set of container items as an enumeration. + */ + XEnumeration createSubSetEnumerationByProperties( [in] sequence< com::sun::star::beans::NamedValue > Properties ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XContentEnumerationAccess.idl b/udkapi/com/sun/star/container/XContentEnumerationAccess.idl new file mode 100644 index 000000000000..37f2bc34b372 --- /dev/null +++ b/udkapi/com/sun/star/container/XContentEnumerationAccess.idl @@ -0,0 +1,84 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XContentEnumerationAccess_idl__ +#define __com_sun_star_container_XContentEnumerationAccess_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_container_XEnumeration_idl__ +#include <com/sun/star/container/XEnumeration.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** allows access to the collections of all content types within the object. + + @example + <p>This example prints the names of all tables: </p> + + <listing> + xTextTableEnum = xTextDoc.createContentEnumeration( "com::sun::star::text::TextTable" ) + while xTextTableEnum.hasMoreElements() do + print xTextTableEnum.nextElement().Name + wend + </listing> + */ +published interface XContentEnumerationAccess: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + a new enumeration object for the contents of the specified service type. + */ + com::sun::star::container::XEnumeration createContentEnumeration( [in] string aServiceName ); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::container::XContentEnumerationAccess::getAvailableServiceNames + /** @returns + all names of services of which instances exist in this object. + + <p><member>XContentEnumerationAccess::createContentEnumeration</member> + creates an enumeration for all the service names which are + listed here. For all others it creates no enumeration. </p> + */ + sequence<string> getAvailableServiceNames(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XElementAccess.idl b/udkapi/com/sun/star/container/XElementAccess.idl new file mode 100644 index 000000000000..754c01e53ee7 --- /dev/null +++ b/udkapi/com/sun/star/container/XElementAccess.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XElementAccess_idl__ +#define __com_sun_star_container_XElementAccess_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** This is the base interface of all collection interfaces. + */ +published interface XElementAccess: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the type of the elements. <atom>void</atom> means that it is a + multi-type container and you cannot determine the exact types + with this interface. + */ + type getElementType(); + + //------------------------------------------------------------------------- + + /** @returns + <TRUE/> if the object contain elements, + otherwise <FALSE/>. + */ + boolean hasElements(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XEnumerableMap.idl b/udkapi/com/sun/star/container/XEnumerableMap.idl new file mode 100644 index 000000000000..6e9b60d47361 --- /dev/null +++ b/udkapi/com/sun/star/container/XEnumerableMap.idl @@ -0,0 +1,110 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XEnumerableMap_idl__ +#define __com_sun_star_container_XEnumerableMap_idl__ + +#include <com/sun/star/container/XMap.idl> +#include <com/sun/star/container/XEnumeration.idl> +#include <com/sun/star/lang/NoSupportException.idl> + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** extends <type>XMap</type> with enumeration capabilities. + + <p>No assumption should be made about the ordering of the elements returned by the various enumerators. + In particular, you cannot assume the elements are returned in the same order as they were inserted. Also, + you should not expect the <code>XMap</code> implementation to make use of a possibly existing strict ordering + defined on the domain of all possible key values.</p> + + <p>You can create enumerators for the keys of the map, its values, and its key-value pairs.</p> + + <p>In all cases, you can create an <em>isolated</em> enumerator, which works on a copy of the + map's content. Such an iterator is not affected by changes done to the map after creation of + the enumerator.</p> + + <p>On the contrary, an enumerator which is <em>non-isolated</em> works directly on the map data. + This is less expensive than an <em>isolated</em> enumerator, but means that changes to the map while + an enumeration is running potentially invalidate your enumerator. The concrete behavior in this + case is undefined, it's up to the service implementing the <code>XEnumerableMap</code> interface + to specify it in more detail.</p> + + <p>Implementations of this interface might decide to support only <em>isolated</em> enumerators, or + only <em>non-isolated</em> enumerators. Again, it's up to the service to specify this. Requesting an + enumerator type which is not supported will generally result in an <type scope="com::sun::star::lang">NoSupportException</type> + being thrown.</p> + */ +interface XEnumerableMap : XMap +{ + /** creates a enumerator for the keys of the map + + @param Isolated + controls whether the newly create enumerator should be isolated from the map. + + @throws ::com::sun::star::lang::NoSupportException + if the specified enumerator method is not supported by the implementation. + */ + XEnumeration createKeyEnumeration( [in] boolean Isolated ) + raises ( ::com::sun::star::lang::NoSupportException ); + + /** creates a enumerator for the values of the map + + @param Isolated + controls whether the newly create enumerator should be isolated from the map. + + @throws ::com::sun::star::lang::NoSupportException + if the specified enumerator method is not supported by the implementation. + */ + XEnumeration createValueEnumeration( [in] boolean Isolated ) + raises ( ::com::sun::star::lang::NoSupportException ); + + /** creates a enumerator for the key-value pairs of the map + + <p>The elements returned by the enumerator are instances of <type scope="com::sun::star::beans">Pair</type>, + holding the key-value-pairs which are part of the map.</p> + + @param Isolated + controls whether the newly create enumerator should be isolated from the map. + + @throws ::com::sun::star::lang::NoSupportException + if the specified enumerator method is not supported by the implementation. + */ + XEnumeration createElementEnumeration( [in] boolean Isolated ) + raises ( ::com::sun::star::lang::NoSupportException ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/udkapi/com/sun/star/container/XEnumeration.idl b/udkapi/com/sun/star/container/XEnumeration.idl new file mode 100644 index 000000000000..7da0c79f4d0f --- /dev/null +++ b/udkapi/com/sun/star/container/XEnumeration.idl @@ -0,0 +1,102 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XEnumeration_idl__ +#define __com_sun_star_container_XEnumeration_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** provides functionality to enumerate the contents of a container. + + <p>An object that implements the <type>XEnumeration</type> interface + generates a series of elements, one at a time. Successive calls to + the <code>XEnumeration::nextElement</code> method return successive + elements of the series. </p> + + <p>For example (Java), to print all elements of a vector <var>aVect</var>: + </p> + + <listing> + for ( XEnumeration xEnum = aVect.elements() ; + xEnum.hasMoreElements() ; ) + { + System.out.println( xEnum.nextElement() ); + } + </listing> + + + <p> If the object changed, the behavior of the enumeration is + not specified. This is not a remote interface. </p> + */ +published interface XEnumeration: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** tests whether this enumeration contains more elements. + */ + boolean hasMoreElements(); + + //------------------------------------------------------------------------- + + /** @returns + the next element of this enumeration. + + @throws NoSuchElementException + if no more elements exist. + + @throws com::sun::star::lang::WrappedTargetException + If the implementation has internal reasons for exceptions, + then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type> + exception. + */ + any nextElement() + raises( com::sun::star::container::NoSuchElementException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XEnumerationAccess.idl b/udkapi/com/sun/star/container/XEnumerationAccess.idl new file mode 100644 index 000000000000..0282a7cd3592 --- /dev/null +++ b/udkapi/com/sun/star/container/XEnumerationAccess.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XEnumerationAccess_idl__ +#define __com_sun_star_container_XEnumerationAccess_idl__ + +#ifndef __com_sun_star_container_XElementAccess_idl__ +#include <com/sun/star/container/XElementAccess.idl> +#endif + +#ifndef __com_sun_star_container_XEnumeration_idl__ +#include <com/sun/star/container/XEnumeration.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** used to enumerate objects in a container which contains objects. + */ +published interface XEnumerationAccess: com::sun::star::container::XElementAccess +{ + //------------------------------------------------------------------------- + + /** @returns + a new enumeration object for this container. + It returns NULL if there are no objects in this container. + */ + com::sun::star::container::XEnumeration createEnumeration(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XHierarchicalName.idl b/udkapi/com/sun/star/container/XHierarchicalName.idl new file mode 100644 index 000000000000..5913390249c9 --- /dev/null +++ b/udkapi/com/sun/star/container/XHierarchicalName.idl @@ -0,0 +1,82 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XHierarchicalName_idl__ +#define __com_sun_star_container_XHierarchicalName_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_NoSupportException_idl__ +#include <com/sun/star/lang/NoSupportException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** specifies the fully qualified name of the object within a hierarchy. + + <p>The name is generally globally unique in the hierarchy. </p> + + @see com::sun::star::container::XHierarchicalNameAccess + @see com::sun::star::container::XNamed + */ +published interface XHierarchicalName: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the fully qualified hierarchical name of the object. + */ + string getHierarchicalName(); + + //------------------------------------------------------------------------- + + /** builds the hierarchical name of an object, given a relative name + + <p>Can be used to find the name of a descendant object in the hierarchy + without actually accessing it. </p> + + @see XHierarchicalNameAccess::hasByHierarchicalName + */ + string composeHierarchicalName( [in] string aRelativeName ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::NoSupportException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XHierarchicalNameAccess.idl b/udkapi/com/sun/star/container/XHierarchicalNameAccess.idl new file mode 100644 index 000000000000..b19e6ad1dcb5 --- /dev/null +++ b/udkapi/com/sun/star/container/XHierarchicalNameAccess.idl @@ -0,0 +1,90 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XHierarchicalNameAccess_idl__ +#define __com_sun_star_container_XHierarchicalNameAccess_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** is used to have hierarchical access to elements within a container. + + <p>You address an object of a specific level in the hierarchy by giving its + fully qualified name, e.g., "com.sun.star.uno.XInterface". </p> + + <p>To implement inaccurate name access, support the + <type scope="com::sun::star::beans">XExactName</type> interface. </p> + + @see com::sun::star::beans::XExactName + */ +published interface XHierarchicalNameAccess: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the object with the specified name. + + @param aName + the name of the object. + + @throws NoSuchElementException + if an element under Name does not exist. + */ + any getByHierarchicalName( [in] string aName ) + raises( com::sun::star::container::NoSuchElementException ); + + //------------------------------------------------------------------------- + + /** @returns + <TRUE/> if an element with this name is in + the container, <FALSE/> otherwise. + + <p>In many cases, the next call is <member>XNameAccess::getByName</member>. + You should optimize this case. + + @param aName + the name of the object. + */ + boolean hasByHierarchicalName( [in] string aName ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XHierarchicalNameContainer.idl b/udkapi/com/sun/star/container/XHierarchicalNameContainer.idl new file mode 100644 index 000000000000..ae6de0e81ef2 --- /dev/null +++ b/udkapi/com/sun/star/container/XHierarchicalNameContainer.idl @@ -0,0 +1,92 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XHierarchicalNameContainer_idl__ +#define __com_sun_star_container_XHierarchicalNameContainer_idl__ + +#ifndef __com_sun_star_container_XHierarchicalNameReplace_idl__ +#include <com/sun/star/container/XHierarchicalNameReplace.idl> +#endif + +#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__ +#include <com/sun/star/container/XHierarchicalNameAccess.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_container_ElementExistException_idl__ +#include <com/sun/star/container/ElementExistException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module container { + +//============================================================================= + +/** + * Insertion and removal of hierarchical elements. + */ +published interface XHierarchicalNameContainer : com::sun::star::container::XHierarchicalNameReplace +{ + + /** inserts the element at the specified name. + */ + void insertByHierarchicalName( [in] string aName, + [in] any aElement ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::container::ElementExistException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** removes the element at the specified name. + */ + void removeByHierarchicalName( [in] string Name ) + raises( com::sun::star::container::NoSuchElementException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/container/XHierarchicalNameReplace.idl b/udkapi/com/sun/star/container/XHierarchicalNameReplace.idl new file mode 100644 index 000000000000..ac8110d4e7b6 --- /dev/null +++ b/udkapi/com/sun/star/container/XHierarchicalNameReplace.idl @@ -0,0 +1,81 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XHierarchicalNameReplace_idl__ +#define __com_sun_star_container_XHierarchicalNameReplace_idl__ + +#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__ +#include <com/sun/star/container/XHierarchicalNameAccess.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_container_ElementExistException_idl__ +#include <com/sun/star/container/ElementExistException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** + * Replacement of hierarchical elements. + */ +published interface XHierarchicalNameReplace : com::sun::star::container::XHierarchicalNameAccess +{ + + /** replaces the element at the specified name. + */ + void replaceByHierarchicalName( [in] string aName, + [in] any aElement ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::container::NoSuchElementException, + com::sun::star::lang::WrappedTargetException ); +}; + + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif + diff --git a/udkapi/com/sun/star/container/XIdentifierAccess.idl b/udkapi/com/sun/star/container/XIdentifierAccess.idl new file mode 100644 index 000000000000..a13b4761ae00 --- /dev/null +++ b/udkapi/com/sun/star/container/XIdentifierAccess.idl @@ -0,0 +1,84 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XIdentifierAccess_idl__ +#define __com_sun_star_container_XIdentifierAccess_idl__ + +#ifndef __com_sun_star_container_XElementAccess_idl__ +#include <com/sun/star/container/XElementAccess.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** provides access to the elements of a collection through a unique identifier. + */ +published interface XIdentifierAccess: com::sun::star::container::XElementAccess +{ + /** @returns + the element with the specified identifier + + @param Identifier + specifies the identifier of the element that should be retrieved. + + @throws com::sun::star::lang::NoSuchElementException + If the identifier is not existing. + + @throws com::sun::star::lang::WrappedTargetException + If the implementation has internal reasons for exceptions, + then wrap these in a <typee scope="com::sun::star::lang">WrappedTargetException</type> + exception. + */ + any getByIdentifier( [in] long Identifierr ) + raises( com::sun::star::container::NoSuchElementException, + com::sun::star::lang::WrappedTargetException ); + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + /** @returns + a sequence of all identifiers in this container. + + <p>The order of the identifiers is not specified. </p> + */ + sequence<long> getIdentifiers(); +} +; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XIdentifierContainer.idl b/udkapi/com/sun/star/container/XIdentifierContainer.idl new file mode 100644 index 000000000000..138db504bd51 --- /dev/null +++ b/udkapi/com/sun/star/container/XIdentifierContainer.idl @@ -0,0 +1,111 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XIdentifierContainer_idl__ +#define __com_sun_star_container_XIdentifierContainer_idl__ + +#ifndef __com_sun_star_container_XIdentifierReplace_idl__ +#include <com/sun/star/container/XIdentifierReplace.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_container_ElementExistException_idl__ +#include <com/sun/star/container/ElementExistException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** This is the generic interface for supporting the creation and removal of + elements with unique identifiers. + + @see XContainer + */ +published interface XIdentifierContainer: com::sun::star::container::XIdentifierReplace +{ + //------------------------------------------------------------------------- + + /** inserts an element and creates a new unique identifier for it. + + @returns + the newly created identifier under which the element is inserted. + + @param aElement + The new element that will be inserted. + + @throws com::sun::star::lang::IllegalArgumentException + if the argument is not vailid for this container. + + @throws com::sun::star::lang::WrappedTargetException + If the implementation has internal reasons for exceptions, + then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type> + exception. + + */ + long insert( [in] any aElement ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** removes the element with the specified identifier. + + @param Identifier + The identifier that should be removed. + + @throws com::sun::star::lang::NoSuchElementException + If the identifier does not exist. + + @throws com::sun::star::lang::WrappedTargetException + If the implementation has internal reasons for exceptions, + then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type> + exception. + */ + void removeByIdentifier( [in] long Identifier ) + raises( com::sun::star::container::NoSuchElementException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XIdentifierReplace.idl b/udkapi/com/sun/star/container/XIdentifierReplace.idl new file mode 100644 index 000000000000..6b5fda44eb66 --- /dev/null +++ b/udkapi/com/sun/star/container/XIdentifierReplace.idl @@ -0,0 +1,89 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XIdentifierReplace_idl__ +#define __com_sun_star_container_XIdentifierReplace_idl__ + +#ifndef __com_sun_star_container_XIdentifierAccess_idl__ +#include <com/sun/star/container/XIdentifierAccess.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** This is the generic interface for supporting the replacement of elements + with unique identifiers. +*/ +published interface XIdentifierReplace: com::sun::star::container::XIdentifierAccess +{ + /** replaces the element with the specified identifier. + + @param Identifier + specifies the identifier of the element that should be retrieved. + + @param aElement + the new element that replaces the old element for the specified identifier. + + @throws com::sun::star::lang::IllegalArgumentException + If the argument is not valid for this container. + + @throws com::sun::star::lang::NoSuchElementException + If the identifier is not existing. + + @throws com::sun::star::lang::WrappedTargetException + If the implementation has internal reasons for exceptions, + then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type> + exception. + */ + void replaceByIdentifer( [in] long Identifier, + [in] any aElement ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::container::NoSuchElementException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XImplicitIDAccess.idl b/udkapi/com/sun/star/container/XImplicitIDAccess.idl new file mode 100644 index 000000000000..4c108918a724 --- /dev/null +++ b/udkapi/com/sun/star/container/XImplicitIDAccess.idl @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XImplicitIDAccess_idl__ +#define __com_sun_star_container_XImplicitIDAccess_idl__ + +#ifndef __com_sun_star_container_XElementAccess_idl__ +#include <com/sun/star/container/XElementAccess.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +/** makes it possible to access contents through an implicit (unique) ID. + */ +published interface XImplicitIDAccess: com::sun::star::container::XElementAccess +{ + /** @returns + the element with the specified implicit ID. + */ + any getByImplicitID( [in] string ID ) raises( com::sun::star::container::NoSuchElementException ); + + /** @returns + a sequence with all existing implicit IDs. + */ + sequence<string> getImplicitIDs(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/container/XImplicitIDContainer.idl b/udkapi/com/sun/star/container/XImplicitIDContainer.idl new file mode 100644 index 000000000000..c7cfb4ba828a --- /dev/null +++ b/udkapi/com/sun/star/container/XImplicitIDContainer.idl @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XImplicitIDContainer_idl__ +#define __com_sun_star_container_XImplicitIDContainer_idl__ + +#ifndef __com_sun_star_container_XImplicitIDReplace_idl__ +#include <com/sun/star/container/XImplicitIDReplace.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +/** makes it possible to insert and remove elements in/from a container + using an implicit (unique) ID. + */ +published interface XImplicitIDContainer: com::sun::star::container::XImplicitIDReplace +{ + /** adds a new object to the container and generates an implicit (unique) + ID for this object. + + @returns + the implicit ID for the new object. + */ + string addWithImplicitID( [in] any aElement ); + + /** removes an object from the container which is specified by + an implicit (unique) identifier. + */ + void removeByImplicitID( [in] string ID ) + raises( com::sun::star::container::NoSuchElementException ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/container/XImplicitIDReplace.idl b/udkapi/com/sun/star/container/XImplicitIDReplace.idl new file mode 100644 index 000000000000..df0a0d739f84 --- /dev/null +++ b/udkapi/com/sun/star/container/XImplicitIDReplace.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XImplicitIDReplace_idl__ +#define __com_sun_star_container_XImplicitIDReplace_idl__ + +#ifndef __com_sun_star_container_XImplicitIDAccess_idl__ +#include <com/sun/star/container/XImplicitIDAccess.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +/** makes it possible to replace contents in a collection by + an implicit (unique) ID: + */ +published interface XImplicitIDReplace: com::sun::star::uno::XInterface +{ + /** replaces the content which is specified by its implicit (unique) + ID with a new content. + */ + void replaceByUniqueID( [in] string ID, [in] any aNewElement ) + raises( com::sun::star::container::NoSuchElementException ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/container/XIndexAccess.idl b/udkapi/com/sun/star/container/XIndexAccess.idl new file mode 100644 index 000000000000..6cac3654f362 --- /dev/null +++ b/udkapi/com/sun/star/container/XIndexAccess.idl @@ -0,0 +1,91 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XIndexAccess_idl__ +#define __com_sun_star_container_XIndexAccess_idl__ + +#ifndef __com_sun_star_container_XElementAccess_idl__ +#include <com/sun/star/container/XElementAccess.idl> +#endif + +#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__ +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** provides access to the elements of a collection through an + index. + + <p>This interface should only be used if the data structure, itself, + is indexed.</p> + */ +published interface XIndexAccess: com::sun::star::container::XElementAccess +{ + //------------------------------------------------------------------------- + + /** @returns + the number of elements in this container. + */ + long getCount(); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::container::XIndexAccess::getByIndex + /** @returns + the element at the specified index. + + @param Index + specifies the position in the array. The first index is 0. + + @throws com::sun::star::lang::IndexOutOfBoundException + if the index is not valid. + + @throws com::sun::star::lang::WrappedTargetException + If the implementation has internal reasons for exceptions, + then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type> + exception. + */ + any getByIndex( [in] long Index ) + raises( com::sun::star::lang::IndexOutOfBoundsException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XIndexContainer.idl b/udkapi/com/sun/star/container/XIndexContainer.idl new file mode 100644 index 000000000000..6af5913ffc69 --- /dev/null +++ b/udkapi/com/sun/star/container/XIndexContainer.idl @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XIndexContainer_idl__ +#define __com_sun_star_container_XIndexContainer_idl__ + +#ifndef __com_sun_star_container_XIndexReplace_idl__ +#include <com/sun/star/container/XIndexReplace.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__ +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** This is the generic interface for supporting the insertion and removal of + indexed elements.@see XContainer + */ +published interface XIndexContainer: com::sun::star::container::XIndexReplace +{ + //------------------------------------------------------------------------- + + /** inserts the given element at the specified index. + + <p>To append an element, use the index "last index +1". </p> + */ + void insertByIndex( [in] long Index, + [in] any Element ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::IndexOutOfBoundsException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** removes the element at the specified index. + */ + void removeByIndex( [in] long Index ) + raises( com::sun::star::lang::IndexOutOfBoundsException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XIndexReplace.idl b/udkapi/com/sun/star/container/XIndexReplace.idl new file mode 100644 index 000000000000..915063dbadb0 --- /dev/null +++ b/udkapi/com/sun/star/container/XIndexReplace.idl @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XIndexReplace_idl__ +#define __com_sun_star_container_XIndexReplace_idl__ + +#ifndef __com_sun_star_container_XIndexAccess_idl__ +#include <com/sun/star/container/XIndexAccess.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__ +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** This is the generic interface for supporting the replacement of indexed + elements. + @see XContainer + */ +published interface XIndexReplace: com::sun::star::container::XIndexAccess +{ + //------------------------------------------------------------------------- + + /** replaces the element at the specified index with the given element. + */ + void replaceByIndex( [in] long Index, + [in] any Element ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::IndexOutOfBoundsException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XMap.idl b/udkapi/com/sun/star/container/XMap.idl new file mode 100644 index 000000000000..b9a5bd24b97c --- /dev/null +++ b/udkapi/com/sun/star/container/XMap.idl @@ -0,0 +1,203 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XMap_idl__ +#define __com_sun_star_container_XMap_idl__ + +#include <com/sun/star/beans/IllegalTypeException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/lang/NoSupportException.idl> +#include <com/sun/star/container/XElementAccess.idl> + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** describes a map between keys and values. + + <p>Keys in the map are unique, and each key maps to exactly one value.</p> + + <p>Locating elements in the map, both values and keys, requires a notion of equality of two objects. + In conformance with the <a href="http://udk.openoffice.org/common/man/typesystem.html">UNO type system</a>, + two values are said to be equal if and only if they have the same type, and both denote the same element of this + type's value set.</p> + + @see <type>Map</type> for a default implementation of this interface +*/ +interface XMap +{ + interface XElementAccess; + + /** denotes the type of the keys in the map. + + <p>Implementations are free to accept any supertype of <code>KeyType</code> as keys.</p> + */ + [attribute, readonly] type KeyType; + + /** denotes the type of the values in the map. + + <p>Implementations are free to accept any supertype of the <code>ValueType</code> as values.</p> + */ + [attribute, readonly] type ValueType; + + /** clears the map, removing all key-value pairs from it. + + @throws ::com::sun::star::beans::NoSupportException + if the map is not mutable. + */ + void clear() + raises( ::com::sun::star::lang::NoSupportException ); + + /** determines whether a mapping for he given key exists in the map + + @param Key + is the key whose presence in the map is to be tested. + @return + <TRUE/> if and only if the map contains a mapping for the given key. + + @throws ::com::sun::star::beans::IllegalTypeException + if the given key is not of a type which is accepted by the map + @throws ::com::sun::star::lang::IllegalArgumentException + if the given key is not supported to be put into the map. It's up to the service + implementing the <code>XMap</code> interface to specify which special values are not + supported. For instances, implementations might decide to not allow <VOID/> keys, or + to reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic + behavior with respect to equality. + */ + boolean containsKey( [in] any Key ) + raises( ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException ); + + /** determines whether the map contains a mapping to a given value. + + @param Value + is the value whose presence in the map is to be tested. + @return + <TRUE/> if and only one or more keys map to the given value. + + @throws ::com::sun::star::beans::IllegalTypeException + if the given value is not of a type which is accepted by the map. It's up to the service + implementing the <code>XMap</code> interface to specify which special values are not + supported. For instances, implementations might decide to not allow <code>Double.NaN</code> + (<em>not a number</em>) to due its problematic behavior with respect to equality. + @throws ::com::sun::star::lang::IllegalArgumentException + if the given value is not supported to be put into the map. + */ + boolean containsValue( [in] any Value ) + raises( ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException ); + + /** gets the value to which a given key maps. + + @param Key + they key whose associated value is to be returned. + @return + the value which is associated with the given key. + + @throws ::com::sun::star::beans::IllegalTypeException + if the given key is not of a type which is accepted by the map + @throws ::com::sun::star::beans::IllegalArgumentException + if the given key is not supported to be put into the map. It's up to the service + implementing the <code>XMap</code> interface to specify which special values are not + supported. For instances, implementations might decide to not allow <VOID/> keys, or + to reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic + behavior with respect to equality. + @throws ::com::sun::star::container::NoSuchElementException + if there is no value associated with the given key + */ + any get( [in] any Key ) + raises( ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::container::NoSuchElementException ); + + /** associates a given key with a given value + + <p>If the map already contains a mapping for the given key, then the old value is replaced by the + given new value.</p> + + @param Key + is the key which the given value should be associated with + @param Value + is the value which should be associated with the given key + @return + the value which was previously associated with the given key, or <VOID/> + if there was no such previous association. + + @throws ::com::sun::star::beans::IllegalTypeException + if the given key is not of a type which is accepted by the map + @throws ::com::sun::star::lang::IllegalArgumentException + if the given key, or the given value, is not supported to be put into the map. It's up to + the service implementing the <code>XMap</code> interface to specify which special values + are not supported.<br/> + For instances, implementations might decide to not allow <VOID/> keys or values, or to + reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic behavior + with respect to equality. + @throws ::com::sun::star::beans::NoSupportException + if the map does not support putting new mappings into it + */ + any put( [in] any Key, [in] any Value ) + raises( ::com::sun::star::lang::NoSupportException, + ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException ); + + /** removes a key-value mapping, given by key, from the map. + + @param Key + is the key whose mapping should be removed from the map + @return + the value which was associated with the given key before the removal + + @throws ::com::sun::star::beans::IllegalTypeException + if the given key is not of a type which is accepted by the map + @throws ::com::sun::star::lang::IllegalArgumentException + if the given key is not supported to be put into the map. It's up to the service + implementing the <code>XMap</code> interface to specify which special values are not + supported. For instances, implementations might decide to not allow <VOID/> keys, or + to reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic + behavior with respect to equality. + @throws ::com::sun::star::beans::NoSupportException + if the map does not support removing mappings + @throws ::com::sun::star::container::NoSuchElementException + if there is no value associated with the given key + */ + any remove( [in] any Key ) + raises( ::com::sun::star::lang::NoSupportException, + ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::container::NoSuchElementException ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/udkapi/com/sun/star/container/XNameAccess.idl b/udkapi/com/sun/star/container/XNameAccess.idl new file mode 100644 index 000000000000..a845f1085bbe --- /dev/null +++ b/udkapi/com/sun/star/container/XNameAccess.idl @@ -0,0 +1,106 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XNameAccess_idl__ +#define __com_sun_star_container_XNameAccess_idl__ + +#ifndef __com_sun_star_container_XElementAccess_idl__ +#include <com/sun/star/container/XElementAccess.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** is used to access named objects within a container. + + <p>To implement inaccurate name access, support the + <type scope="com::sun::star::beans">XExactName</type> + interface. </p> + @see com::sun::star::beans::XExactName + */ +published interface XNameAccess: com::sun::star::container::XElementAccess +{ + //------------------------------------------------------------------------- + + /** @returns + the object with the specified name. + + @param aName + the name of the object. + + @throws NoSuchElementException + if an element under Name does not exist. + + @throws com::sun::star::lang::WrappedTargetException + If the implementation has internal reasons for exceptions, + then wrap these in a <type scope="com::sun::star::lang">WrappedTargetException</type> + exception. + */ + any getByName( [in] string aName ) + raises( com::sun::star::container::NoSuchElementException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + a sequence of all element names in this container. + + <p>The order of the names is not specified. </p> + */ + sequence<string> getElementNames(); + + //------------------------------------------------------------------------- + + /** @returns + <TRUE/> if an element with this name is in + the container, <FALSE/> otherwise. + + <p>In many cases the next call is <member>XNameAccess::getByName</member>. + You should optimize this case. </p> + + @param aName + the name of the object. + */ + boolean hasByName( [in] string aName ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XNameContainer.idl b/udkapi/com/sun/star/container/XNameContainer.idl new file mode 100644 index 000000000000..b11763f8649e --- /dev/null +++ b/udkapi/com/sun/star/container/XNameContainer.idl @@ -0,0 +1,86 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XNameContainer_idl__ +#define __com_sun_star_container_XNameContainer_idl__ + +#ifndef __com_sun_star_container_XNameReplace_idl__ +#include <com/sun/star/container/XNameReplace.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_container_ElementExistException_idl__ +#include <com/sun/star/container/ElementExistException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** This is the generic interface for supporting the insertion and removal of + named elements. + @see XContainer + */ +published interface XNameContainer: com::sun::star::container::XNameReplace +{ + //------------------------------------------------------------------------- + + /** inserts the given element at the specified name. + */ + void insertByName( [in] string aName, + [in] any aElement ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::container::ElementExistException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** removes the element with the specified name. + */ + void removeByName( [in] string Name ) + raises( com::sun::star::container::NoSuchElementException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XNameReplace.idl b/udkapi/com/sun/star/container/XNameReplace.idl new file mode 100644 index 000000000000..286f2241cc78 --- /dev/null +++ b/udkapi/com/sun/star/container/XNameReplace.idl @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XNameReplace_idl__ +#define __com_sun_star_container_XNameReplace_idl__ + +#ifndef __com_sun_star_container_XNameAccess_idl__ +#include <com/sun/star/container/XNameAccess.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** This is the generic interface for supporting the replacement of named + elements. + @see XContainer + */ +published interface XNameReplace: com::sun::star::container::XNameAccess +{ + //------------------------------------------------------------------------- + + /** replaces the element with the specified name with the given element. + */ + void replaceByName( [in] string aName, + [in] any aElement ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::container::NoSuchElementException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XNamed.idl b/udkapi/com/sun/star/container/XNamed.idl new file mode 100644 index 000000000000..b503514ee539 --- /dev/null +++ b/udkapi/com/sun/star/container/XNamed.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XNamed_idl__ +#define __com_sun_star_container_XNamed_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** specifies the name of the object. + + <p>The name is generally unique in the container of the object.</p> + */ +published interface XNamed: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the programmatic name of the object. + */ + string getName(); + + //------------------------------------------------------------------------- + + /** sets the programmatic name of the object. + */ + [oneway] void setName( [in] string aName ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XSet.idl b/udkapi/com/sun/star/container/XSet.idl new file mode 100644 index 000000000000..5377c2a0785a --- /dev/null +++ b/udkapi/com/sun/star/container/XSet.idl @@ -0,0 +1,87 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XSet_idl__ +#define __com_sun_star_container_XSet_idl__ + +#ifndef __com_sun_star_container_XEnumerationAccess_idl__ +#include <com/sun/star/container/XEnumerationAccess.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_container_ElementExistException_idl__ +#include <com/sun/star/container/ElementExistException.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** This is the generic interface for supporting the insertion and removal of + elements.@see XContainer + */ +published interface XSet: com::sun::star::container::XEnumerationAccess +{ + //------------------------------------------------------------------------- + + /** @returns + <TRUE/> if the given element is a member of this container, + otherwise <FALSE/>. + */ + boolean has( [in] any aElement ); + + //------------------------------------------------------------------------- + + /** inserts the given element into this container. + */ + void insert( [in] any aElement ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::container::ElementExistException ); + + //------------------------------------------------------------------------- + + /** removes the given element from this container. + */ + void remove( [in] any aElement ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::container::NoSuchElementException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XStringKeyMap.idl b/udkapi/com/sun/star/container/XStringKeyMap.idl new file mode 100644 index 000000000000..cf2b87d49b49 --- /dev/null +++ b/udkapi/com/sun/star/container/XStringKeyMap.idl @@ -0,0 +1,154 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XStringKeyMap_idl__ +#define __com_sun_star_container_XStringKeyMap_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__ +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#endif + +#ifndef __com_sun_star_container_ElementExistException_idl__ +#include <com/sun/star/container/ElementExistException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** maps strings to anys. + + @since OOo 2.3.0 + */ + +interface XStringKeyMap +{ + //------------------------------------------------------------------------- + /** reads data from the map. + + @param aKey + The key string which should be searched for. + + @return + the value matching aKey. + + @throws com::sun::star::container::NoSuchElementException + if an element under aKey does not exist. + */ + any getValue( [in] string aKey ) + raises( com::sun::star::container::NoSuchElementException ); + + + //------------------------------------------------------------------------- + /** checks for element existence. + + @param aKey + The key string which should be searched for. + + @return + true if an element with key aKey exists. + */ + boolean hasValue( [in] string aKey ); + + + //------------------------------------------------------------------------- + /** writes data to the map. + + @param aKey + The key string which should be used to store the value. + + @param aValue + The value that should be stored. + + @throws com::sun::star::lang::IllegalArgumentException + if the element could not be inserted. + + @throws com::sun::star::container::ElementExistException + if there is already a value stored under the key aKey. + */ + void insertValue( [in] string aKey, [in] any aValue ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::container::ElementExistException ); + + + //------------------------------------------------------------------------- + /** the number of elements in the map. + */ + [attribute, readonly] long Count; + + + //------------------------------------------------------------------------- + /** obtains the key of an element by index. + + @param nIndex + is the index of the element. + + @return + the key string matching the given index. + + @throws com::sun::star::lang::IndexOutOfBoundsException + if the specified index is greater than the number of + elements + */ + string getKeyByIndex( [in] long nIndex ) + raises( com::sun::star::lang::IndexOutOfBoundsException ); + + + //------------------------------------------------------------------------- + /** obtains the value of an element by index. + + @param nIndex + is the index of the key. + + @return + the value matching the given index. + + @throws com::sun::star::lang::IndexOutOfBoundsException + if the specified index is greater than the number of + elements + */ + any getValueByIndex( [in] long nIndex ) + raises( com::sun::star::lang::IndexOutOfBoundsException ); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/XUniqueIDAccess.idl b/udkapi/com/sun/star/container/XUniqueIDAccess.idl new file mode 100644 index 000000000000..28e19afc726e --- /dev/null +++ b/udkapi/com/sun/star/container/XUniqueIDAccess.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_container_XUniqueIDAccess_idl__ +#define __com_sun_star_container_XUniqueIDAccess_idl__ + +#ifndef __com_sun_star_container_XElementAccess_idl__ +#include <com/sun/star/container/XElementAccess.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module container { + +/** makes it possible to access contents via a unique ID. + */ +published interface XUniqueIDAccess: com::sun::star::uno::XInterface +{ + /** @returns + the element with the specified unique ID. + */ + any getByUniqueID( [in] string ID ) raises( com::sun::star::container::NoSuchElementException ); + + /** removes the element with the specified unique ID from this + container. + */ + void removeByUniqueID( [in] string ID ) raises( com::sun::star::container::NoSuchElementException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/container/makefile.mk b/udkapi/com/sun/star/container/makefile.mk new file mode 100644 index 000000000000..5385b7e98c13 --- /dev/null +++ b/udkapi/com/sun/star/container/makefile.mk @@ -0,0 +1,83 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=csscontainer +PACKAGE=com$/sun$/star$/container + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + XIdentifierAccess.idl\ + XIdentifierReplace.idl\ + XIdentifierContainer.idl\ + ContainerEvent.idl\ + ElementExistException.idl\ + EnumerableMap.idl\ + NoSuchElementException.idl\ + XChild.idl\ + XUniqueIDAccess.idl\ + XComponentEnumeration.idl\ + XComponentEnumerationAccess.idl\ + XContainer.idl\ + XContainerApproveBroadcaster.idl\ + XContainerApproveListener.idl\ + XContainerListener.idl\ + XContainerQuery.idl\ + XContentEnumerationAccess.idl\ + XElementAccess.idl\ + XEnumerableMap.idl\ + XEnumeration.idl\ + XEnumerationAccess.idl\ + XHierarchicalName.idl\ + XHierarchicalNameAccess.idl\ + XHierarchicalNameReplace.idl\ + XHierarchicalNameContainer.idl\ + XImplicitIDAccess.idl\ + XImplicitIDContainer.idl\ + XImplicitIDReplace.idl\ + XIndexAccess.idl\ + XIndexContainer.idl\ + XIndexReplace.idl\ + XMap.idl\ + XNameAccess.idl\ + XNameContainer.idl\ + XNamed.idl\ + XNameReplace.idl\ + XSet.idl\ + XStringKeyMap.idl\ + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/corba/corba.idl b/udkapi/com/sun/star/corba/corba.idl new file mode 100644 index 000000000000..d7e6bdea4c07 --- /dev/null +++ b/udkapi/com/sun/star/corba/corba.idl @@ -0,0 +1,103 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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. + * + ************************************************************************/ +module com { module sun { module star { module corba +{ + /** + @deprecated + */ + published typedef unsigned long ObjectSystemID; + /** + @deprecated + */ + published typedef sequence< byte > OpaqueData; + + /** + @deprecated + */ + published struct OneThreadID + { + ObjectSystemID objSysID; + OpaqueData threadID; + }; + + /** + @deprecated + */ + published typedef sequence<OneThreadID> ThreadIDs; + + /** + @deprecated + */ + published struct LogicalThreadID // Service context + { + ThreadIDs IDs; + }; + + /** + @deprecated + */ + published struct CorbaString8 + { + string theString; + }; + + /** + @deprecated + */ + published struct CorbaUnion + { + long dummy; + }; + + /** + @deprecated + */ + published struct ObjectKey + { + CorbaString8 sOid; + CorbaString8 sType; + }; + + /** + @deprecated + */ + published enum TCKind + { + tk_null, tk_void, + tk_short, tk_long, tk_ushort, tk_ulong, + tk_float, tk_double, tk_boolean, tk_char, + tk_octet, tk_any, tk_TypeCode, tk_Principal, tk_objref, + tk_struct, tk_union, tk_enum, tk_string, + tk_sequence, tk_array, tk_alias, tk_except, + tk_longlong, tk_ulonglong, tk_longdouble, + tk_wchar, tk_wstring, tk_fixed, + tk_value, tk_value_box, + tk_native, + tk_abstract_interface + }; + +}; }; }; }; diff --git a/udkapi/com/sun/star/corba/giop/giop.idl b/udkapi/com/sun/star/corba/giop/giop.idl new file mode 100644 index 000000000000..56e6fe67eda4 --- /dev/null +++ b/udkapi/com/sun/star/corba/giop/giop.idl @@ -0,0 +1,251 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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. + * + ************************************************************************/ +#include <com/sun/star/corba/iop/iop.idl> +module com { module sun { module star { module corba { module giop +{ + /** + @deprecated + */ +published struct Version + { + byte major; + byte minor; + }; + + /** + @deprecated + */ +published enum MsgType_1_1 + { + Request, Reply, CancelRequest, + LocateRequest, LocateReply, + CloseConnection, MessageError, + Fragment // GIOP 1.1 addition + }; + + + /** + @deprecated + */ +published struct MessageHeader_1_0 + {// Renamed from MessageHeader + byte magic_1; + byte magic_2; + byte magic_3; + byte magic_4; + Version GIOP_version; + boolean byte_order; + byte message_type; + unsigned long message_size; + }; + + /** + @deprecated + */ +published struct MessageHeader_1_1 + { + byte magic_1; + byte magic_2; + byte magic_3; + byte magic_4; + Version GIOP_version; + byte flags; // GIOP 1.1 change + byte message_type; + unsigned long message_size; + }; + + /** + @deprecated + */ +published typedef MessageHeader_1_1 MessageHeader_1_2; + + /** + @deprecated + */ +published struct RequestHeader_1_0 + { + com::sun::star::corba::iop::ServiceContextList service_context; + unsigned long request_id; + boolean response_expected; + sequence < byte > object_key; + CorbaString8 operation; + sequence < byte > requesting_principal; + }; + + /** + @deprecated + */ +published struct RequestHeader_1_1 + { + com::sun::star::corba::iop::ServiceContextList service_context; + unsigned long request_id; + boolean response_expected; + byte reserved_1; + byte reserved_2; + byte reserved_3; // Added in GIOP 1.1 + sequence <byte> object_key; + CorbaString8 operation; + sequence <byte> requesting_principal; // binary compatible + }; + + /** + @deprecated + */ +published struct IORAddressingInfo + { + unsigned long selected_profile_index; + com::sun::star::corba::iop::IOR ior; + }; + + /** + @deprecated + */ +published constants TargetAddressGroup + { + const short KeyAddr = 0; + const short ProfileAddr = 1; + const short ReferenceAddr = 2; + }; + + /** + @deprecated + */ +published struct TargetAddress : CorbaUnion + { + short nDiscriminator; + sequence < byte > object_key; // KeyAddr + com::sun::star::corba::iop::TaggedProfile profile; // ProfileAddr + IORAddressingInfo ior; // ReferenceAddr + }; + + + /** + @deprecated + */ +published struct RequestHeader_1_2 + { + unsigned long request_id; + byte response_flags; + byte reserved_1; + byte reserved_2; + byte reserved_3; + TargetAddress target; + CorbaString8 operation; +// Principal not in GIOP 1.2 + com::sun::star::corba::iop::ServiceContextList service_context; // 1.2 change + }; + + + /** + @deprecated + */ +published enum ReplyStatusType_1_2 + { + NO_EXCEPTION, + USER_EXCEPTION, + SYSTEM_EXCEPTION, + LOCATION_FORWARD, + LOCATION_FORWARD_PERM, // new value for 1.2 + NEEDS_ADDRESSING_MODE // new value for 1.2 + }; + + + /** + @deprecated + */ +published struct ReplyHeader_1_2 + { + unsigned long request_id; + ReplyStatusType_1_2 reply_status; + com::sun::star::corba::iop::ServiceContextList service_context; // 1.2 change + }; + + /** + @deprecated + */ +published struct SystemExceptionReplyBody + { + CorbaString8 exception_id; + unsigned long minor_code_value; + unsigned long completion_status; + }; + + /** + @deprecated + */ +published struct CancelRequestHeader + { + unsigned long request_id; + }; + + /** + @deprecated + */ +published struct LocateRequestHeader_1_0 + { +// Renamed LocationRequestHeader + unsigned long request_id; + sequence <byte> object_key; + }; + + /** + @deprecated + */ +published typedef LocateRequestHeader_1_0 LocateRequestHeader_1_1; + + /** + @deprecated + */ +published enum LocateStatusType_1_2 { + UNKNOWN_OBJECT, + OBJECT_HERE, + OBJECT_FORWARD, + OBJECT_FORWARD_PERM, // new value for GIOP 1.2 + LOC_SYSTEM_EXCEPTION, // new value for GIOP 1.2 + LOC_NEEDS_ADDRESSING_MODE // new value for GIOP 1.2 + }; + + /** + @deprecated + */ +published struct LocateReplyHeader_1_2 + { + unsigned long request_id; + LocateStatusType_1_2 locate_status; + }; + + /** + @deprecated + */ +published struct FragmentHeader_1_2 + { + unsigned long request_id; + }; + + +}; }; }; }; }; + diff --git a/udkapi/com/sun/star/corba/giop/makefile.mk b/udkapi/com/sun/star/corba/giop/makefile.mk new file mode 100644 index 000000000000..1e05e5619965 --- /dev/null +++ b/udkapi/com/sun/star/corba/giop/makefile.mk @@ -0,0 +1,43 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* +PRJ=..$/..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssgiop +PACKAGE=com$/sun$/star$/giop + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk +# ------------------------------------------------------------------------ + +IDLFILES=\ + giop.idl + +# ------------------------------------------------------------------ +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/corba/iiop/iiop.idl b/udkapi/com/sun/star/corba/iiop/iiop.idl new file mode 100644 index 000000000000..055b4c8506bb --- /dev/null +++ b/udkapi/com/sun/star/corba/iiop/iiop.idl @@ -0,0 +1,87 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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. + * + ************************************************************************/ +#include <com/sun/star/corba/giop/giop.idl> +module com { module sun { module star { module corba { module iiop +{ + /** + @deprecated + */ +published struct Version + { + byte major; + byte minor; + }; + + + /** + @deprecated + */ +published struct ProfileBody_1_0 + {// renamed from ProfileBody + Version iiop_version; + CorbaString8 host; + unsigned short port; + sequence <byte> object_key; + }; + + /** + @deprecated + */ +published struct ProfileBody_1_1 + {// also used for 1.2 + Version iiop_version; + CorbaString8 host; + unsigned short port; + sequence < byte > object_key; +// Added in 1.1 unchanged for 1.2 + sequence <com::sun::star::corba::iop::TaggedComponent> components; + }; + + /** + @deprecated + */ +published struct ListenPoint + { + CorbaString8 host; + unsigned short port; + }; + + /** + @deprecated + */ +published typedef sequence<ListenPoint> ListenPointList; + + /** + @deprecated + */ +published struct BiDirIIOPServiceContext + {// BI_DIR_IIOP Service Context + ListenPointList listen_points; + }; + +}; }; }; }; }; + diff --git a/udkapi/com/sun/star/corba/iiop/makefile.mk b/udkapi/com/sun/star/corba/iiop/makefile.mk new file mode 100644 index 000000000000..c59fd00293ba --- /dev/null +++ b/udkapi/com/sun/star/corba/iiop/makefile.mk @@ -0,0 +1,43 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* +PRJ=..$/..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssiiop +PACKAGE=com$/sun$/star$/iiop + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk +# ------------------------------------------------------------------------ + +IDLFILES=\ + iiop.idl + +# ------------------------------------------------------------------ +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/corba/iop/iop.idl b/udkapi/com/sun/star/corba/iop/iop.idl new file mode 100644 index 000000000000..85be91f3ae47 --- /dev/null +++ b/udkapi/com/sun/star/corba/iop/iop.idl @@ -0,0 +1,123 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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. + * + ************************************************************************/ +#include <com/sun/star/corba/corba.idl> +module com { module sun { module star { module corba { module iop +{ // IDL + + /** + @deprecated + */ + published typedef unsigned long ProfileId; + + /** + @deprecated + */ + published constants ProfileIdGroup + { + const ProfileId TAG_INTERNET_IOP = 0; + const ProfileId TAG_MULTIPLE_COMPONENTS = 1; + }; + + /** + @deprecated + */ + published struct TaggedProfile + { + ProfileId tag; + sequence <byte> profile_data; + }; + // an Interoperable Object Reference is a sequence of + // object-specific protocol profiles, plus a type ID. + + /** + @deprecated + */ + published struct IOR + { + CorbaString8 type_id; + sequence <TaggedProfile> profiles; + }; + + // Standard way of representing multicomponent profiles. + // This would be encapsulated in a TaggedProfile. + /** + @deprecated + */ + published typedef unsigned long ComponentId; + + /** + @deprecated + */ + published struct TaggedComponent + { + ComponentId tag; + sequence <byte> component_data; + }; + + /** + @deprecated + */ + published typedef sequence <TaggedComponent> MultipleComponentProfile; + + /** + @deprecated + */ + published typedef unsigned long ServiceId; + + /** + @deprecated + */ + published struct ServiceContext + { + ServiceId context_id; + sequence < byte > context_data; + }; + + /** + @deprecated + */ + published typedef sequence <ServiceContext> ServiceContextList; + + /** + @deprecated + */ + published constants ServiceIdGroup + { + const ServiceId TransactionService = 0; + const ServiceId CodeSets = 1; + const ServiceId ChainBypassCheck = 2; + const ServiceId ChainBypassInfo = 3; + const ServiceId LogicalThreadId = 4; + const ServiceId BI_DIR_IIOP = 5; + const ServiceId SendingContextRunTime = 6; + const ServiceId INVOCATION_POLICIES = 7; + const ServiceId FORWARDED_IDENTITY = 8; + const ServiceId UnknownExceptionInfo = 9; + }; + +}; }; }; }; }; + diff --git a/udkapi/com/sun/star/corba/iop/makefile.mk b/udkapi/com/sun/star/corba/iop/makefile.mk new file mode 100644 index 000000000000..982c68c9afb6 --- /dev/null +++ b/udkapi/com/sun/star/corba/iop/makefile.mk @@ -0,0 +1,43 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* +PRJ=..$/..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssiop +PACKAGE=com$/sun$/star$/iop + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk +# ------------------------------------------------------------------------ + +IDLFILES=\ + iop.idl + +# ------------------------------------------------------------------ +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/corba/makefile.mk b/udkapi/com/sun/star/corba/makefile.mk new file mode 100644 index 000000000000..a959378cf827 --- /dev/null +++ b/udkapi/com/sun/star/corba/makefile.mk @@ -0,0 +1,43 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=csscorba +PACKAGE=com$/sun$/star$/corba + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk +# ------------------------------------------------------------------------ + +IDLFILES=\ + corba.idl + +# ------------------------------------------------------------------ +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/io/AlreadyConnectedException.idl b/udkapi/com/sun/star/io/AlreadyConnectedException.idl new file mode 100644 index 000000000000..4430eacda8ad --- /dev/null +++ b/udkapi/com/sun/star/io/AlreadyConnectedException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_AlreadyConnectedException_idl__ +#define __com_sun_star_io_AlreadyConnectedException_idl__ + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::io::AlreadyConnectedException +/** is thrown when a client tries to connect to a resource to which he is + already connected. + */ +exception AlreadyConnectedException: com::sun::star::io::IOException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/BufferSizeExceededException.idl b/udkapi/com/sun/star/io/BufferSizeExceededException.idl new file mode 100644 index 000000000000..881ae786b1cc --- /dev/null +++ b/udkapi/com/sun/star/io/BufferSizeExceededException.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_BufferSizeExceededException_idl__ +#define __com_sun_star_io_BufferSizeExceededException_idl__ + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::io::BufferSizeExceededException +/** is thrown by instances which need to buffer data. + <p>It indicates that not enough system resources are available for + extending the buffer. (May also indicate that the internal buffer + has grown to a larger size than 2G. Some current implementations do + not support larger buffers.) + </p> + */ +published exception BufferSizeExceededException: com::sun::star::io::IOException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/ConnectException.idl b/udkapi/com/sun/star/io/ConnectException.idl new file mode 100644 index 000000000000..f67ae57a0e78 --- /dev/null +++ b/udkapi/com/sun/star/io/ConnectException.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_ConnectException_idl__ +#define __com_sun_star_io_ConnectException_idl__ + +#ifndef __com_sun_star_io_SocketException_idl__ +#include <com/sun/star/io/SocketException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::io::ConnectException +/** Signals that an error occurred while attempting to connect a + socket to a remote address and port. Typically, the connection + was refused remotely (e.g., no process is listening on the remote + address/port). + */ +exception ConnectException: com::sun::star::io::SocketException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/DataInputStream.idl b/udkapi/com/sun/star/io/DataInputStream.idl new file mode 100644 index 000000000000..df11692395e0 --- /dev/null +++ b/udkapi/com/sun/star/io/DataInputStream.idl @@ -0,0 +1,81 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_DataInputStream_idl__ +#define __com_sun_star_io_DataInputStream_idl__ + +#ifndef __com_sun_star_io_XDataInputStream_idl__ +#include <com/sun/star/io/XDataInputStream.idl> +#endif + +#ifndef __com_sun_star_io_XActiveDataSink_idl__ +#include <com/sun/star/io/XActiveDataSink.idl> +#endif + +#ifndef __com_sun_star_io_XConnectable_idl__ +#include <com/sun/star/io/XConnectable.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::io::DataInputStream +/** reads structured data from a chained <type>XInputStream</type>. + <p> + An implementation of this service in general does not need + to buffer data itself. + + @see com::sun::star::io::ObjectInputStream + */ +published service DataInputStream +{ + /** allows to read structured data. + */ + interface com::sun::star::io::XDataInputStream; + + /** used to plug the inputstream-data-source. + A plain input stream is sufficient. + */ + interface com::sun::star::io::XActiveDataSink; + + /** Allows to chain the DataInputStream, so that + */ + interface com::sun::star::io::XConnectable; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/DataOutputStream.idl b/udkapi/com/sun/star/io/DataOutputStream.idl new file mode 100644 index 000000000000..9bfe73312192 --- /dev/null +++ b/udkapi/com/sun/star/io/DataOutputStream.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_DataOutputStream_idl__ +#define __com_sun_star_io_DataOutputStream_idl__ + +#ifndef __com_sun_star_io_XDataOutputStream_idl__ +#include <com/sun/star/io/XDataOutputStream.idl> +#endif + +#ifndef __com_sun_star_io_XActiveDataSource_idl__ +#include <com/sun/star/io/XActiveDataSource.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::io::DataOutputStream +/** writes structured data to a chained <type>XOutputStream</type>. + + <p> + An implementation of this service in general does not need + to buffer data itself. + */ +published service DataOutputStream +{ + /** allows to write structured data. + */ + interface com::sun::star::io::XDataOutputStream; + + /** used to plug the outputstream-data-sink. + <p>A plain output stream is sufficient. + */ + interface com::sun::star::io::XActiveDataSource; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/DataTransferEvent.idl b/udkapi/com/sun/star/io/DataTransferEvent.idl new file mode 100644 index 000000000000..d78f6eb4d64c --- /dev/null +++ b/udkapi/com/sun/star/io/DataTransferEvent.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_DataTransferEvent_idl__ +#define __com_sun_star_io_DataTransferEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: struct com::sun::star::io::DataTransferEvent +/** is broadcast by a filter. + @see XDataTransferEventListener + */ +published struct DataTransferEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: field com::sun::star::io::DataTransferEvent::aException + /** specifies an occurred exception. + */ + any aException; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/FilePermission.idl b/udkapi/com/sun/star/io/FilePermission.idl new file mode 100644 index 000000000000..3511e2c7e2a5 --- /dev/null +++ b/udkapi/com/sun/star/io/FilePermission.idl @@ -0,0 +1,84 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_FilePermission_idl__ +#define __com_sun_star_io_FilePermission_idl__ +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +/** This permission represents access to a file or directory. + A FilePermission consists of a file url and a set of actions valid for that url. + <p> + The path of the file url that ends in <code>"/*"</code> indicates all the files and + directories contained in that directory. A path that ends with <code>"/-"</code> + indicates (recursively) all files and subdirectories contained in that + directory. A file url string consisting of the special token + <code>"<<ALL FILES>>"</code> matches any file. + <br> + Note: A file url string consisting of a single <code>"*"</code> indicates all the files + in the current directory, while a string consisting of a single <code>"-"</code> indicates + all the files in the current directory and (recursively) all files and + subdirectories contained in the current directory. + <br> + The actions to be granted is a list of one or more comma-separated keywords. + The possible keywords are <code>"read"</code>, <code>"write"</code>, + <code>"execute"</code>, and <code>"delete"</code>. + Their meaning is defined as follows: + <ul> + <li><code>read</code> -- read permission</li> + <li><code>write</code> -- write permission</li> + <li><code>execute</code> -- execute permission</li> + <li><code>delete</code> -- delete permission</li> + </ul><br> + The actions string is processed case-insensitive. + </p> + + @attention + Be careful when granting FilePermissions. Think about the implications of + granting read and especially write access to various files and directories. + The <code>"<<ALL FILES>>"</code> permission with write action is + especially dangerous. This grants permission to write to the entire file system. + + @since OOo 1.1.2 +*/ +published struct FilePermission +{ + /** target file url + */ + string URL; + /** comma separated actions list + */ + string Actions; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/io/IOException.idl b/udkapi/com/sun/star/io/IOException.idl new file mode 100644 index 000000000000..6b2da1b6351d --- /dev/null +++ b/udkapi/com/sun/star/io/IOException.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_IOException_idl__ +#define __com_sun_star_io_IOException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::io::IOException +/** is thrown when an input or output error has occurred. + */ +published exception IOException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/MarkableInputStream.idl b/udkapi/com/sun/star/io/MarkableInputStream.idl new file mode 100644 index 000000000000..65058592cc06 --- /dev/null +++ b/udkapi/com/sun/star/io/MarkableInputStream.idl @@ -0,0 +1,78 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_DataInputStream_idl__ +#define __com_sun_star_io_DataInputStream_idl__ + +#ifndef __com_sun_star_io_XMarkableStream_idl__ +#include <com/sun/star/io/XMarkableStream.idl> +#endif + +#ifndef __com_sun_star_io_XActiveDataSink_idl__ +#include <com/sun/star/io/XActiveDataSink.idl> +#endif + +#ifndef __com_sun_star_io_XConnectable_idl__ +#include <com/sun/star/io/XConnectable.idl> +#endif + + +module com { module sun { module star { module io { + +//========================================================================== +/** allows to set marks in an inputstream and to later jump back to these + marks. + <p>The implementation reads the original data from the input stream, + that has been set previously at the <type>XActiveDataSink</type> + interface. In general the implementation must buffer the data. </p> + */ +published service MarkableInputStream +{ + /** allows to access the data of this stream + */ + interface com::sun::star::io::XInputStream; + + /** allows to create marks at the current position + and to set the current position. + */ + interface com::sun::star::io::XMarkableStream; + + /** allows to access to the underlying source + of this stream. + */ + interface com::sun::star::io::XActiveDataSink; + + /** allows to navigate via a chain of streams */ + interface com::sun::star::io::XConnectable; + +}; + + +}; }; }; }; + + + +#endif diff --git a/udkapi/com/sun/star/io/MarkableOutputStream.idl b/udkapi/com/sun/star/io/MarkableOutputStream.idl new file mode 100644 index 000000000000..576f7f56452a --- /dev/null +++ b/udkapi/com/sun/star/io/MarkableOutputStream.idl @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_DataInputStream_idl__ +#define __com_sun_star_io_DataInputStream_idl__ + +#ifndef __com_sun_star_io_XMarkableStream_idl__ +#include <com/sun/star/io/XMarkableStream.idl> +#endif + +#ifndef __com_sun_star_io_XActiveDataSink_idl__ +#include <com/sun/star/io/XActiveDataSource.idl> +#endif + +#ifndef __com_sun_star_io_XConnectable_idl__ +#include <com/sun/star/io/XConnectable.idl> +#endif + + +module com { module sun { module star { module io { + +//========================================================================== +/** allows to set marks in an outputstream and to later jump back to these + marks. + <p>The implementation stores the data as long as marks exists + and later writes these data into the output stream, + that has been set previously at the <type>XActiveDataSource</type> + interface. </p> + */ +published service MarkableOutputStream +{ + /** allows to write data at the current position. + <p> Flushing the outputstream will only flush data, + which was written before the first non-deleted mark, + because data after the first non-deleted mark + may be modified by later jumpToMark()/writeBytes() calls. + */ + interface com::sun::star::io::XOutputStream; + + /** allows to create marks at the current position + and to set the current position. + */ + interface com::sun::star::io::XMarkableStream; + + /** allows to access to the underlying sink + of this stream. + */ + interface com::sun::star::io::XActiveDataSource; + + /** allows to navigate via a chain of streams */ + interface com::sun::star::io::XConnectable; + +}; + + +}; }; }; }; + + + +#endif diff --git a/udkapi/com/sun/star/io/NoRouteToHostException.idl b/udkapi/com/sun/star/io/NoRouteToHostException.idl new file mode 100644 index 000000000000..c37663eaf55d --- /dev/null +++ b/udkapi/com/sun/star/io/NoRouteToHostException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_NoRouteToHostException_idl__ +#define __com_sun_star_io_NoRouteToHostException_idl__ + +#ifndef __com_sun_star_io_SocketException_idl__ +#include <com/sun/star/io/SocketException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::io::NoRouteToHostException +/** Signals that an error occurred while attempting to connect a socket to + a remote address and port. Typically, the remote host cannot be reached + because of an intervening firewall, or if an intermediate router is down. + */ +exception NoRouteToHostException: com::sun::star::io::SocketException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/NotConnectedException.idl b/udkapi/com/sun/star/io/NotConnectedException.idl new file mode 100644 index 000000000000..956e10896f96 --- /dev/null +++ b/udkapi/com/sun/star/io/NotConnectedException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_NotConnectedException_idl__ +#define __com_sun_star_io_NotConnectedException_idl__ + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::io::NotConnectedException +/** is thrown when a read/write operation is tried on an instance that has + not been chained properly. + */ +published exception NotConnectedException: com::sun::star::io::IOException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/ObjectInputStream.idl b/udkapi/com/sun/star/io/ObjectInputStream.idl new file mode 100644 index 000000000000..69e98d3a1d6e --- /dev/null +++ b/udkapi/com/sun/star/io/ObjectInputStream.idl @@ -0,0 +1,109 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_ObjectInputStream_idl__ +#define __com_sun_star_io_ObjectInputStream_idl__ + +#ifndef __com_sun_star_io_XObjectInputStream_idl__ +#include <com/sun/star/io/XObjectInputStream.idl> +#endif + +#ifndef __com_sun_star_io_XActiveDataSink_idl__ +#include <com/sun/star/io/XActiveDataSink.idl> +#endif + +#ifndef __com_sun_star_io_XConnectable_idl__ +#include <com/sun/star/io/XConnectable.idl> +#endif + +#ifndef __com_sun_star_io_XMarkableStream_idl__ +#include <com/sun/star/io/XMarkableStream.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::io::ObjectInputStream +/** is a stream which allows reading the data of persistent objects. + + <p>Implementations of this service must fulfill the specifications of the + <type>DataInputStream</type> service. It must be chained to an + <type>XMarkableStream</type>. Therefore, it provides the + <type>XMarkableStream</type> interface, and delegates the calls to the + chained object. </p> + <p>The written objects are held until this instance is destroyed. + The references to the objects are read as four-byte integers. + Data format reads:</p> + + <pre> + short InfoLength + long ObjectReference // 0 indicates no object + UTF ServiceName // length of 0 indicates this is only a reference + long ObjectLength // 0 if it is a reference or no object, otherwise the len of the object data + Object ObjectData // the data of the object + ... // skipping additional data + </pre> + + @guarantees + <ul> + <li>-thread safe</li> + <li>-allow buffer size is 2 ^ 31 -1</li> + <li>-maximum object reference identifier must be the number of objects. </li> + <li>-object reference identifier 0 indicates no object</li> + <li>-skip addition data</li> + <li>-set the stream position behind the object data</li> + </ul> + */ +published service ObjectInputStream +{ + /** allows to read the data from the stream. + */ + interface com::sun::star::io::XObjectInputStream; + + /** allows to set the underlying inputstream */ + interface com::sun::star::io::XActiveDataSink; + + /** allows to navigate via a chain of streams */ + interface com::sun::star::io::XConnectable; + + /** allows to set marks within the stream. The implementation + may forward calls to this interface to a chained markablestream. */ + interface com::sun::star::io::XMarkableStream; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/ObjectOutputStream.idl b/udkapi/com/sun/star/io/ObjectOutputStream.idl new file mode 100644 index 000000000000..3669db12b723 --- /dev/null +++ b/udkapi/com/sun/star/io/ObjectOutputStream.idl @@ -0,0 +1,96 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_ObjectOutputStream_idl__ +#define __com_sun_star_io_ObjectOutputStream_idl__ + +#ifndef __com_sun_star_io_XObjectOutputStream_idl__ +#include <com/sun/star/io/XObjectOutputStream.idl> +#endif + +#ifndef __com_sun_star_io_XActiveDataSource_idl__ +#include <com/sun/star/io/XActiveDataSource.idl> +#endif + +#ifndef __com_sun_star_io_XConnectable_idl__ +#include <com/sun/star/io/XConnectable.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::io::ObjectOutputStream +/** is a stream which allows writing the data of persistent objects. + + <p>Implementations of this service must fulfill the specifications of the + <type>DataOutputStream</type> service; futhermore, the stream needs to be chained to a + <type>XMarkableStream</type>. Therefore, it also provides the <type>XMarkableStream</type> + interface, but it delegates the calls to the chained object. + The written objects are held until this instance is destroyed. + The references to the objects are written as four-byte integers + and begin at 1. Data format is written: </p> + <pre> + short InfoLength + long ObjectReference // 0 indicates no object + UTF ServiceName // length of 0 indicates this is only a reference + long ObjectLength // 0 if it is a reference or no object, otherwise the len of the object data + Object ObjectData // the data of the object + </pre> + + @garantees + <ul> + <li>-thread safe </li> + <li>-allow buffer size is 2 ^ 31 -1 </li> + <li>-maximum object reference identifier is the number of objects. </li> + <li>-object reference identifier 0 indicates no object </li> + </ul> + */ +published service ObjectOutputStream +{ + /** allows to write the data to the stream. + */ + interface com::sun::star::io::XObjectOutputStream; + + /** allows to set the underlying outputstream */ + interface com::sun::star::io::XActiveDataSource; + + /** allows to navigate via a chain of streams */ + interface com::sun::star::io::XConnectable; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/Pipe.idl b/udkapi/com/sun/star/io/Pipe.idl new file mode 100644 index 000000000000..256f6357a447 --- /dev/null +++ b/udkapi/com/sun/star/io/Pipe.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_Pipe_idl__ +#define __com_sun_star_io_Pipe_idl__ + +#ifndef __com_sun_star_io_XOutputStream_idl__ +#include <com/sun/star/io/XOutputStream.idl> +#endif + +#ifndef __com_sun_star_io_XInputStream_idl__ +#include <com/sun/star/io/XInputStream.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::io::Pipe +/** the implementation of an output stream and an input stream. + <p> + All data written through the outputstream is buffered until it is + read again from the input stream. Often two different threads access + input and outputstream. + + <p> With the pipe-service, an outputstream can be converted into an + input stream at the cost of an additional buffer. + */ +published service Pipe +{ + // DocMerge: empty anyway + interface com::sun::star::io::XOutputStream; + + // DocMerge: empty anyway + interface com::sun::star::io::XInputStream; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/Pump.idl b/udkapi/com/sun/star/io/Pump.idl new file mode 100644 index 000000000000..7e52e917d979 --- /dev/null +++ b/udkapi/com/sun/star/io/Pump.idl @@ -0,0 +1,78 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_Pipe_idl__ +#define __com_sun_star_io_Pipe_idl__ + +#ifndef __com_sun_star_io_XActiveDataSource_idl__ +#include <com/sun/star/io/XActiveDataSource.idl> +#endif + +#ifndef __com_sun_star_io_XActiveDataSink_idl__ +#include <com/sun/star/io/XActiveDataSink.idl> +#endif + +#ifndef __com_sun_star_io_XActiveDataControl_idl__ +#include <com/sun/star/io/XActiveDataControl.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::io::Pump +/** the implementation of a data source and a data sink. + <p>A thread will be created that reads from the input stream and writes + the data to the connected output stream. Data will not be buffered by + this service. </p> + + */ +published service Pump +{ + /** allows to set the outputstream + */ + interface com::sun::star::io::XActiveDataSource; + + /** allows to set the inputstream + */ + interface com::sun::star::io::XActiveDataSink; + + /** allows listener administration and starting/stopping the pump */ + interface com::sun::star::io::XActiveDataControl; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/SequenceInputStream.idl b/udkapi/com/sun/star/io/SequenceInputStream.idl new file mode 100644 index 000000000000..e480b280c0bd --- /dev/null +++ b/udkapi/com/sun/star/io/SequenceInputStream.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_SequenceInputStream_idl__ +#define __com_sun_star_io_SequenceInputStream_idl__ + +#ifndef __com_sun_star_io_XSeekableInputStream_idl__ +#include <com/sun/star/io/XSeekableInputStream.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::io::SequenceInputStream +/** This service allows to wrap a sequence of bytes with a stream object. + */ +published service SequenceInputStream : XSeekableInputStream +{ + /** allows to create a stream based on the sequence. + */ + createStreamFromSequence( [in] sequence<byte> aData ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/SequenceOutputStream.idl b/udkapi/com/sun/star/io/SequenceOutputStream.idl new file mode 100644 index 000000000000..7822ac991004 --- /dev/null +++ b/udkapi/com/sun/star/io/SequenceOutputStream.idl @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_SequenceOutputStream_idl__ +#define __com_sun_star_io_SequenceOutputStream_idl__ + +#ifndef __com_sun_star_io_XSequenceOutputStream_idl__ +#include <com/sun/star/io/XSequenceOutputStream.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= +/** This service allows to wrap a sequence of bytes with a output stream object. + */ +service SequenceOutputStream : XSequenceOutputStream; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/io/SocketException.idl b/udkapi/com/sun/star/io/SocketException.idl new file mode 100644 index 000000000000..2d53f43c0579 --- /dev/null +++ b/udkapi/com/sun/star/io/SocketException.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_SocketException_idl__ +#define __com_sun_star_io_SocketException_idl__ + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::io::SocketException +/** Thrown to indicate that there is an error in the underlying + protocol, such as a TCP error. + */ +exception SocketException: com::sun::star::io::IOException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/TempFile.idl b/udkapi/com/sun/star/io/TempFile.idl new file mode 100644 index 000000000000..84d16e362db0 --- /dev/null +++ b/udkapi/com/sun/star/io/TempFile.idl @@ -0,0 +1,47 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_TempFile_idl__ +#define __com_sun_star_io_TempFile_idl__ + +#ifndef __com_sun_star_io_XTempFile_idl__ +#include <com/sun/star/io/XTempFile.idl> +#endif + + +//========================================================================= +module com { module sun { module star { module io { + +//======================================================================== +/** This service allows to get access to temp files. + */ +service TempFile : XTempFile; + +//========================================================================= + +}; }; }; }; + +#endif
\ No newline at end of file diff --git a/udkapi/com/sun/star/io/TextInputStream.idl b/udkapi/com/sun/star/io/TextInputStream.idl new file mode 100644 index 000000000000..6f5e8dd00ac5 --- /dev/null +++ b/udkapi/com/sun/star/io/TextInputStream.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_TextInputStream_idl__ +#define __com_sun_star_io_TextInputStream_idl__ + +#ifndef __com_sun_star_io_XTextInputStream_idl__ +#include <com/sun/star/io/XTextInputStream.idl> +#endif + +#ifndef __com_sun_star_io_XActiveDataSink_idl__ +#include <com/sun/star/io/XActiveDataSink.idl> +#endif + +#ifndef __com_sun_star_io_XConnectable_idl__ +#include <com/sun/star/io/XConnectable.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= +/** provides functionality to read text data from a + <type scope="com::sun::star::io">XInputStream</type> + that initially has to be passed to the method + <member>XActiveDataSink::setInputStream()</member>. + + <p>For details about the text functionality see + <type scope="com::sun::star::io">XTextInputStream</type>. + */ +published service TextInputStream +{ + /// Interface to read text data + interface com::sun::star::io::XTextInputStream; + + /// Interface to specify the used <type scope="com::sun::star::io">XInputStream</type> + interface com::sun::star::io::XActiveDataSink; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/io/TextOutputStream.idl b/udkapi/com/sun/star/io/TextOutputStream.idl new file mode 100644 index 000000000000..879b58070580 --- /dev/null +++ b/udkapi/com/sun/star/io/TextOutputStream.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_TextOutputStream_idl__ +#define __com_sun_star_io_TextOutputStream_idl__ + +#ifndef __com_sun_star_io_XTextOutputStream_idl__ +#include <com/sun/star/io/XTextOutputStream.idl> +#endif + +#ifndef __com_sun_star_io_XActiveDataSource_idl__ +#include <com/sun/star/io/XActiveDataSource.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= +/** provides functionality to write text data to a + <type scope="com::sun::star::io">XOutputStream</type> + that initially has to be passed to the method + <member>XActiveDataSource::setOutputStream()</member>. + + <p>For details about the text functionality see + <type scope="com::sun::star::io">XTextOutputStream</type>. + */ +published service TextOutputStream +{ + /// Interface to write text data + interface com::sun::star::io::XTextOutputStream; + + /// Interface to specify the used <type scope="com::sun::star::io">XOutputStream</type> + interface com::sun::star::io::XActiveDataSource; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/io/UnexpectedEOFException.idl b/udkapi/com/sun/star/io/UnexpectedEOFException.idl new file mode 100644 index 000000000000..234174a69c32 --- /dev/null +++ b/udkapi/com/sun/star/io/UnexpectedEOFException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_UnexpectedEOFException_idl__ +#define __com_sun_star_io_UnexpectedEOFException_idl__ + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::io::UnexpectedEOFException +/** is thrown when the <code>EOF/code> is reached during reading a datatype + (<code>long</code>, <code>string</code>, etc.). + */ +published exception UnexpectedEOFException: com::sun::star::io::IOException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/UnknownHostException.idl b/udkapi/com/sun/star/io/UnknownHostException.idl new file mode 100644 index 000000000000..6cb2cf423b5c --- /dev/null +++ b/udkapi/com/sun/star/io/UnknownHostException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_UnknownHostException_idl__ +#define __com_sun_star_io_UnknownHostException_idl__ + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::io::UnknownHostException +/** is thrown when the IP address of a host could not be determined. + */ +exception UnknownHostException: com::sun::star::io::IOException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/WrongFormatException.idl b/udkapi/com/sun/star/io/WrongFormatException.idl new file mode 100644 index 000000000000..8be8f31c2c1c --- /dev/null +++ b/udkapi/com/sun/star/io/WrongFormatException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_WrongFormatException_idl__ +#define __com_sun_star_io_WrongFormatException_idl__ + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::io::WrongFormatException +/** is thrown when inconsistent data comes up while reading a complex + data type (<code>string</code> or object). + */ +published exception WrongFormatException: com::sun::star::io::IOException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XActiveDataControl.idl b/udkapi/com/sun/star/io/XActiveDataControl.idl new file mode 100644 index 000000000000..9e53a38b3d44 --- /dev/null +++ b/udkapi/com/sun/star/io/XActiveDataControl.idl @@ -0,0 +1,107 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XActiveDataControl_idl__ +#define __com_sun_star_io_XActiveDataControl_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_XStreamListener_idl__ +#include <com/sun/star/io/XStreamListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XActiveDataControl +/** makes it possible to control an active data source. + + <p>This interface should be supported by objects which implement + <type>XActiveDataSource</type> or <type>XActiveDataSink</type>.</p> + */ +published interface XActiveDataControl: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XActiveDataControl::addListener + /** registers an object to receive events from this data source. + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void addListener( [in] com::sun::star::io::XStreamListener aListener ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XActiveDataControl::removeListener + /** unregisters an object to receive events from this data source. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void removeListener( [in] com::sun::star::io::XStreamListener aListener ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XActiveDataControl::start + /** starts I/O. + + <p>Either <member>XActiveDataControl::setInputStream()</member> or + <member>XActiveDataControl::setOutputStream()</member> must be called beforehand. + </p> + + <p>This method does not block the thread, so reading is + generally not finished when the method returns. </p> + */ + void start(); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XActiveDataControl::terminate + /** does a weak abort. + + <p>It closes all connected resources and calls + <member>XInputStream::close</member> or + <member>XOutputStream::close</member> and fires the + <member>XStreamListener::terminated</member>-event.</p> + */ + void terminate(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XActiveDataSink.idl b/udkapi/com/sun/star/io/XActiveDataSink.idl new file mode 100644 index 000000000000..3602e4d7c538 --- /dev/null +++ b/udkapi/com/sun/star/io/XActiveDataSink.idl @@ -0,0 +1,81 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XActiveDataSink_idl__ +#define __com_sun_star_io_XActiveDataSink_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_XInputStream_idl__ +#include <com/sun/star/io/XInputStream.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XActiveDataSink +/** makes it possible to read the corresponding object from an input stream. + + <p>If you want to allow control from outside, also implement the + <type>XActiveDataControl</type> interface. </p> + */ +published interface XActiveDataSink: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XActiveDataSink::setInputStream + /** plugs the input stream. + + <p>If <type>XConnectable</type> is also implemented, this + method should query <var>aStream</var> for an + <type>XConnectable</type> and connect both.</p> + */ + void setInputStream( [in] com::sun::star::io::XInputStream aStream ); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::io::XActiveDataSink::getInputStream + /** @returns + the plugged stream. + */ + com::sun::star::io::XInputStream getInputStream(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XActiveDataSource.idl b/udkapi/com/sun/star/io/XActiveDataSource.idl new file mode 100644 index 000000000000..441dedf5f371 --- /dev/null +++ b/udkapi/com/sun/star/io/XActiveDataSource.idl @@ -0,0 +1,81 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XActiveDataSource_idl__ +#define __com_sun_star_io_XActiveDataSource_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_XOutputStream_idl__ +#include <com/sun/star/io/XOutputStream.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XActiveDataSource +/** has to be implemented if the class should be able to write into an output + stream. + @see XActiveDataControl. + */ +published interface XActiveDataSource: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XActiveDataSource::setOutputStream + /** plugs the output stream. + + <p>If <type>XConnectable</type> is also implemented, this + method should query <var>aStream</var> for a + <type>XConnectable</type> and connect both. + </p> + */ + void setOutputStream( [in] com::sun::star::io::XOutputStream aStream ); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::io::XActiveDataSource::getOutputStream + /** @returns + the plugged stream. + */ + com::sun::star::io::XOutputStream getOutputStream(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XActiveDataStreamer.idl b/udkapi/com/sun/star/io/XActiveDataStreamer.idl new file mode 100644 index 000000000000..686981525d90 --- /dev/null +++ b/udkapi/com/sun/star/io/XActiveDataStreamer.idl @@ -0,0 +1,82 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XActiveDataStreamer_idl__ +#define __com_sun_star_io_XActiveDataStreamer_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_XStream_idl__ +#include <com/sun/star/io/XStream.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XActiveDataStreamer +/** makes it possible to read and write the corresponding stream. + + + <p>If you want to allow control from outside, also implement the + <type>XActiveDataControl</type> interface. </p> + */ +published interface XActiveDataStreamer: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XActiveDataStreamer::setStream + /** plugs the input/output stream. + + <p>If <type>XConnectable</type> is also implemented, this + method should query <var>aStream</var> for a + <type>XConnectable</type> and connect both.</p> + */ + void setStream( [in] com::sun::star::io::XStream aStream ); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::io::XActiveDataStreamer::getStream + /** @returns + the plugged stream. + */ + com::sun::star::io::XStream getStream(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl b/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl new file mode 100644 index 000000000000..aa5a0ba1802c --- /dev/null +++ b/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl @@ -0,0 +1,95 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XAsyncOutputMonitor_idl__ +#define __com_sun_star_io_XAsyncOutputMonitor_idl__ + +#ifndef __com_sun_star_io_IOException_idl__ +#include "com/sun/star/io/IOException.idl" +#endif +#ifndef __com_sun_star_uno_XInterface_idl__ +#include "com/sun/star/uno/XInterface.idl" +#endif + +module com { module sun { module star { module io { + +/** + An optional companion interface to + <type scope="com::sun::star::io">XOutputStream</type> that supports scenarios + where <member scope="com::sun::star::io">XOutputStream::writeBytes</member> + operates asynchronously and does not necessarily report any errors. + + <p>A typical scenario where this interface is useful is when an + <type scope="com::sun::star::io">XOutputStream</type> is used to write to a + file via NFS. Normally, any calls to + <member scope="com::sun::star::io">XOutputStream::writeBytes</member> will + execute asynchronously then, in that any potential errors might only be + reported by later calls to + <member scope="com::sun::star::io">XOutputStream::writeBytes</member> or + <member scope="com::sun::star::io">XOutputStream::closeOutput</member>. If + such an output stream shall not be closed immediately after one or more calls + to <member scope="com::sun::star::io">XOutputStream::writeBytes</member>, but + the client wants to know as soon as possible whether writing was successful, + then <member + scope="com::sun::star::io">XAsyncOutputMonitor::waitForCompletion</member> + should be called after the series of calls to + <member scope="com::sun::star::io">XOutputStream::writeBytes</member>.</p> + + @since OOo2.0.0 +*/ +interface XAsyncOutputMonitor { + /** + waits for the completion of any previous calls to + <member scope="com::sun::star::io">XOutputStream::writeBytes</member>, + and reports potentially pending errors. + + <p>Calling this method is potentially expensive (even if the associated + <type scope="com::sun::star::io">XOutputStream</type> represents a local + file not accessed via NFS, for example). This method has a similar + description to + <member scope="com::sun::star::io">XOutputStream::flush</member>. + However, where the semantics of <code>flush</code> are rather vague, + <code>waitForCompletion</code> has very specific semantics—it just + blocks long enough so that any errors encountered during previous calls + to <member scope="com::sun::star::io">XOutputStream::writeBytes</member> + can reliably be reported. It specificially does not guarantee that any + data have savely been stored on a stable physical medium, like a hard + disk (and it is completely unspecified whether <code>flush</code> should + give this guarantee).</p> + + @throws com::sun::star::io::IOException + if any previous call to <member + scope="com::sun::star::io">XOutputStream::writeBytes</member> encountered + such an error, but has not yet reported it (in cases where + <code>writeBytes</code> operates asynchronously). + */ + void waitForCompletion() raises (IOException); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/io/XConnectable.idl b/udkapi/com/sun/star/io/XConnectable.idl new file mode 100644 index 000000000000..8286e5add4af --- /dev/null +++ b/udkapi/com/sun/star/io/XConnectable.idl @@ -0,0 +1,94 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XConnectable_idl__ +#define __com_sun_star_io_XConnectable_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XConnectable +/** makes it possible to connect data sinks and sources. + + <p>The predecessor-member is the element in the connection that is + nearer to the source of the data. The successor-member is the element + that is further away from the source of the data. (Note that this + classification does not depend on whether the class implements + <type>XInputStream</type> or <type>XOutputStream</type>; it only + depends on the direction of data flow.) </p> + <p>This interface allows generic services to navigate between + arbitrary elements of a connection.</p> + */ +published interface XConnectable: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XConnectable::setPredecessor + /** sets the source of the data flow for this object. + */ + void setPredecessor( [in] com::sun::star::io::XConnectable aPredecessor ); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::io::XConnectable::getPredecessor + /** @returns + the predecessor of this object. + */ + com::sun::star::io::XConnectable getPredecessor(); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XConnectable::setSuccessor + /** sets the sink of the data flow for this object. + */ + void setSuccessor( [in] com::sun::star::io::XConnectable aSuccessor ); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::io::XConnectable::getSuccessor + /** @returns + the successor of this object. + */ + com::sun::star::io::XConnectable getSuccessor(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XDataExporter.idl b/udkapi/com/sun/star/io/XDataExporter.idl new file mode 100644 index 000000000000..672342a8a7a9 --- /dev/null +++ b/udkapi/com/sun/star/io/XDataExporter.idl @@ -0,0 +1,86 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XDataExporter_idl__ +#define __com_sun_star_io_XDataExporter_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_XOutputStream_idl__ +#include <com/sun/star/io/XOutputStream.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_io_XDataTransferEventListener_idl__ +#include <com/sun/star/io/XDataTransferEventListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XDataExporter +/** makes it possible to export data from a component into a data sink. + + <p>Exporter objects are registered for specific components and data types. + </p> + */ +published interface XDataExporter: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataExporter::exportData + /** exports data for a component into an output stream. + */ + [oneway] void exportData( [in] com::sun::star::io::XOutputStream aOutputStream, + [in] com::sun::star::lang::XComponent Component, + [in] com::sun::star::io::XDataTransferEventListener aListener ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataExporter::cancel + /** cancels the export process. + */ + [oneway] void cancel(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XDataImporter.idl b/udkapi/com/sun/star/io/XDataImporter.idl new file mode 100644 index 000000000000..b395ad91ceb1 --- /dev/null +++ b/udkapi/com/sun/star/io/XDataImporter.idl @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XDataImporter_idl__ +#define __com_sun_star_io_XDataImporter_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_XActiveDataSource_idl__ +#include <com/sun/star/io/XActiveDataSource.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_io_XDataTransferEventListener_idl__ +#include <com/sun/star/io/XDataTransferEventListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XDataImporter +/** makes it possible to import data from a data source into a component. + + <p>Importer objects are registered for specific components and data types.</p> + */ +published interface XDataImporter: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataImporter::importData + /** imports data for a component from an active data source. + */ + [oneway] void importData( [in] com::sun::star::io::XActiveDataSource aActiveSource, + [in] com::sun::star::lang::XComponent Component, + [in] com::sun::star::io::XDataTransferEventListener aListener ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataImporter::cancel + /** cancels the import process. + */ + [oneway] void cancel(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XDataInputStream.idl b/udkapi/com/sun/star/io/XDataInputStream.idl new file mode 100644 index 000000000000..fc5183e89acc --- /dev/null +++ b/udkapi/com/sun/star/io/XDataInputStream.idl @@ -0,0 +1,134 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XDataInputStream_idl__ +#define __com_sun_star_io_XDataInputStream_idl__ + +#ifndef __com_sun_star_io_XInputStream_idl__ +#include <com/sun/star/io/XInputStream.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XDataInputStream +/** makes it possible to read machine-independent simple data types from a + stream. + @see com::sun::star::io::XDataOutputStream + */ +published interface XDataInputStream: com::sun::star::io::XInputStream +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataInputStream::readBoolean + /** reads in a boolean. It is an 8-bit value. 0 means FALSE; all + other values mean TRUE. + */ + byte readBoolean() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataInputStream::readByte + /** reads an 8-bit byte. + */ + byte readByte() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataInputStream::readChar + /** reads a 16-bit unicode character. + */ + char readChar() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataInputStream::readShort + /** reads a 16-bit big endian integer. + */ + short readShort() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataInputStream::readLong + /** reads a 32-bit big endian integer. + */ + long readLong() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataInputStream::readHyper + /** reads a 64-bit big endian integer. + */ + hyper readHyper() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataInputStream::readFloat + /** reads a 32-bit IEEE float. + */ + float readFloat() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataInputStream::readDouble + /** reads a 64-bit IEEE double. + */ + double readDouble() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataInputStream::readUTF + /** reads a string of UTF encoded characters. + */ + string readUTF() + raises( com::sun::star::io::IOException ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XDataOutputStream.idl b/udkapi/com/sun/star/io/XDataOutputStream.idl new file mode 100644 index 000000000000..ab64c9920257 --- /dev/null +++ b/udkapi/com/sun/star/io/XDataOutputStream.idl @@ -0,0 +1,134 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XDataOutputStream_idl__ +#define __com_sun_star_io_XDataOutputStream_idl__ + +#ifndef __com_sun_star_io_XOutputStream_idl__ +#include <com/sun/star/io/XOutputStream.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XDataOutputStream +/** makes it possible to write machine-independent simple data types to a + stream. + @see com::sun::star::io::XDataInputStream + */ +published interface XDataOutputStream: com::sun::star::io::XOutputStream +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeBoolean + /** writes a boolean. It is an 8-bit value. 0 means FALSE; all other + values mean TRUE. + */ + void writeBoolean( [in] boolean Value ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeByte + /** writes an 8-bit byte. + */ + void writeByte( [in] byte Value ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeChar + /** writes a 16-bit character. + */ + void writeChar( [in] char Value ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeShort + /** writes a 16-bit big endian integer. + */ + void writeShort( [in] short Value ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeLong + /** writes a 32-bit big endian integer. + */ + void writeLong( [in] long Value ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeHyper + /** writes a 64-bit big endian integer. + */ + void writeHyper( [in] hyper Value ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeFloat + /** writes a 32-bit IEEE float. + */ + void writeFloat( [in] float Value ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeDouble + /** writes a 64-bit IEEE double. + */ + void writeDouble( [in] double Value ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataOutputStream::writeUTF + /** writes a string in UTF format. + */ + void writeUTF( [in] string Value ) + raises( com::sun::star::io::IOException ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XDataTransferEventListener.idl b/udkapi/com/sun/star/io/XDataTransferEventListener.idl new file mode 100644 index 000000000000..2cc7d83a9e73 --- /dev/null +++ b/udkapi/com/sun/star/io/XDataTransferEventListener.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XDataTransferEventListener_idl__ +#define __com_sun_star_io_XDataTransferEventListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_io_DataTransferEvent_idl__ +#include <com/sun/star/io/DataTransferEvent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XDataTransferEventListener +/** is used to receive callbacks from an importer or exporter. + */ +published interface XDataTransferEventListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataTransferEventListener::finished + /** is called when an import or export process has finished. + */ + [oneway] void finished( [in] com::sun::star::io::DataTransferEvent aEvent ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XDataTransferEventListener::cancelled + /** is called when an import or export process has been cancelled. + */ + [oneway] void cancelled( [in] com::sun::star::io::DataTransferEvent aEvent ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XInputStream.idl b/udkapi/com/sun/star/io/XInputStream.idl new file mode 100644 index 000000000000..2ebbde5d61b1 --- /dev/null +++ b/udkapi/com/sun/star/io/XInputStream.idl @@ -0,0 +1,177 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XInputStream_idl__ +#define __com_sun_star_io_XInputStream_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_NotConnectedException_idl__ +#include <com/sun/star/io/NotConnectedException.idl> +#endif + +#ifndef __com_sun_star_io_BufferSizeExceededException_idl__ +#include <com/sun/star/io/BufferSizeExceededException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XInputStream +/** This is the basic interface to read data from a stream. + <p> + See the <a href="http://udk.openoffice.org/common/man/concept/streams.html"> + streaming document</a> for further information on chaining and piping streams. + */ +published interface XInputStream: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XInputStream::readBytes + /** reads the specified number of bytes in the given sequence. + + <p>The return value specifies the number of bytes which have been + put into the sequence. A difference between <var>nBytesToRead</var> + and the return value indicates that EOF has been reached. This means + that the method blocks until the specified number of bytes are + available or the EOF is reached. </p> + @param aData + after the call, the byte sequence contains the requested number + of bytes (or less as a sign of EOF). + + <p> + C++ only : Note that for unbridged (e.g., in-process) + calls, using the same sequence for repetive readBytes()-calls + can bear a performance advantage. The callee can put the data + directly into the sequence so that no buffer reallocation is + necessary. + But this holds only when + <ol> + <li> neither caller nor callee keep a second reference to the same + sequence. + <li> the sequence is pre-allocated with the requested number of bytes. + <li> the same sequence is reused ( simply preallocationg a new + sequence for every call bears no advantage ). + <li> the call is not bridged (e.g., betweeen different compilers + or different processes ). + </ol> + + If the same 'optimized' code runs against an interface in a different process, + there is an unnecessary memory allocation/deallocation (the out parameter + is of course NOT transported over the connection), but this should + be negligible compared to a synchron call. + @param nBytesToRead + the total number of bytes to read + */ + long readBytes( [out] sequence<byte> aData, + [in] long nBytesToRead ) + raises( com::sun::star::io::NotConnectedException, + com::sun::star::io::BufferSizeExceededException, + com::sun::star::io::IOException); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XInputStream::readSomeBytes + /** reads the available number of bytes, at maximum + <var>nMaxBytesToRead</var>. + + <p>This method is very similar to the readBytes method, except that + it has different blocking behaviour. + The method blocks as long as at least 1 byte is available or + EOF has been reached. EOF has only been reached, when the method + returns 0 and the corresponding byte sequence is empty. + Otherwise, after the call, aData contains the available, + but no more than nMaxBytesToRead, bytes. + @param aData contains the data read from the stream. + @param nMaxBytesToRead The maximum number of bytes to be read from this + stream during the call. + @see com::sun::star::io::XInputStream::readBytes + */ + long readSomeBytes( [out] sequence<byte> aData, + [in] long nMaxBytesToRead ) + raises( com::sun::star::io::NotConnectedException, + com::sun::star::io::BufferSizeExceededException, + com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XInputStream::skipBytes + /** skips the next <var>nBytesToSkip</var> bytes (must be positive). + + <p>It is up to the implementation whether this method is + blocking the thread or not. </p> + @param nBytesToSkip + number of bytes to skip + */ + void skipBytes( [in] long nBytesToSkip ) + raises( com::sun::star::io::NotConnectedException, + com::sun::star::io::BufferSizeExceededException, + com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XInputStream::available + /** states how many bytes can be read or skipped without blocking. + + <p>Note: This method offers no information on whether the EOF + has been reached. </p> + */ + long available() + raises( com::sun::star::io::NotConnectedException, + com::sun::star::io::IOException + ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XInputStream::closeInput + /** closes the stream. + + <p>Users must close the stream explicitly when no further + reading should be done. (There may exist ring references to + chained objects that can only be released during this call. + Thus not calling this method would result in a leak of memory or + external resources.) </p> + */ + void closeInput() + raises( com::sun::star::io::NotConnectedException, + com::sun::star::io::IOException); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XInputStreamProvider.idl b/udkapi/com/sun/star/io/XInputStreamProvider.idl new file mode 100644 index 000000000000..f45aae34fb06 --- /dev/null +++ b/udkapi/com/sun/star/io/XInputStreamProvider.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XInputStreamProvider_idl__ +#define __com_sun_star_io_XInputStreamProvider_idl__ + +#ifndef __com_sun_star_io_XInputStream_idl__ +#include <com/sun/star/io/XInputStream.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +/** Interface for providing an input stream. + + <p>Every time createInputStream() is called a new input stream + is returned, always pointing to the begin of the same data. All + input streams returned by <member>createInputStream()</member> + are completely independend from each other.</p> +*/ +published interface XInputStreamProvider : com::sun::star::uno::XInterface +{ + /** Creates a new input stream, every time providing + the same data. + + @return + a new input stream + */ + com::sun::star::io::XInputStream createInputStream(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/io/XMarkableStream.idl b/udkapi/com/sun/star/io/XMarkableStream.idl new file mode 100644 index 000000000000..856b01cef2bf --- /dev/null +++ b/udkapi/com/sun/star/io/XMarkableStream.idl @@ -0,0 +1,127 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XMarkableStream_idl__ +#define __com_sun_star_io_XMarkableStream_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XMarkableStream +/** makes it possible to set and remove seekable marks to a stream. + */ +published interface XMarkableStream: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XMarkableStream::createMark + /** creates a mark of the current postion and returns an identifier to it. + */ + long createMark() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XMarkableStream::deleteMark + /** deletes the mark that you previously created with + <member>XMarkableStream::createMark</member>. + + <p>It is an error to delete a mark if other marks after this + exist. In this case, for reasons of robustness, the + implementation must delete this mark and all others after + this mark. </p> + */ + void deleteMark( [in] long Mark ) + raises( com::sun::star::io::IOException, + com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XMarkableStream::jumpToMark + /** jumps to a previously created mark. + */ + void jumpToMark( [in] long nMark ) + raises( com::sun::star::io::IOException, + com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + + /** jumps to the furthest position of the stream. + <p> In the inputstream case, a subsequent read call returns + data, that was never read or skipped over before. In the + outputstream case, a subsequent write call will add + new data at the end of the stream without overwriting existing data. + */ + void jumpToFurthest() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::io::XMarkableStream::offsetToMark + /** @returns + the offset from the current stream position to the + mark ("current position" - "mark position"). + + @param nMark + identifies the mark which is used as a base + to calculate the offset of the current position. + + @throws IllegalArgumentException + if the mark does not exist or is deleted. + + @throws IOException + if an I/O error has occurred. + */ + long offsetToMark( [in] long nMark ) + raises( com::sun::star::io::IOException, + com::sun::star::lang::IllegalArgumentException ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XObjectInputStream.idl b/udkapi/com/sun/star/io/XObjectInputStream.idl new file mode 100644 index 000000000000..565cf5f4e9a5 --- /dev/null +++ b/udkapi/com/sun/star/io/XObjectInputStream.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XObjectInputStream_idl__ +#define __com_sun_star_io_XObjectInputStream_idl__ + +#ifndef __com_sun_star_io_XDataInputStream_idl__ +#include <com/sun/star/io/XDataInputStream.idl> +#endif + +#ifndef __com_sun_star_io_XPersistObject_idl__ +#include <com/sun/star/io/XPersistObject.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +/** reads XPersistObject implementations from a stream + */ +published interface XObjectInputStream: com::sun::star::io::XDataInputStream +{ + //------------------------------------------------------------------------- + + /** reads an object from the stream. In general, it + reads the service name, instantiaties the object and + calls read on the XPersistObject interface with itself + as argument. + */ + com::sun::star::io::XPersistObject readObject() + raises( com::sun::star::io::IOException ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XObjectOutputStream.idl b/udkapi/com/sun/star/io/XObjectOutputStream.idl new file mode 100644 index 000000000000..31d34a96bda0 --- /dev/null +++ b/udkapi/com/sun/star/io/XObjectOutputStream.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XObjectOutputStream_idl__ +#define __com_sun_star_io_XObjectOutputStream_idl__ + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +#ifndef __com_sun_star_io_XDataOutputStream_idl__ +#include <com/sun/star/io/XDataOutputStream.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module io { + + published interface XPersistObject; + +//============================================================================= + +/** stores XPersistObject implementations into the stream + + <p>An implementation of the type <type>XPersistObject</type> + uses this interface to write its internal state into a stream. + Have a look there for the explanation of the concept. + + @see com::sun::star::io::XPersistObject + */ +published interface XObjectOutputStream: XDataOutputStream +{ + /** writes an object to the stream. + @param Object the object, which shall serialize itself into the stream. + */ + void writeObject( [in] XPersistObject Object ) + raises( IOException ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XOutputStream.idl b/udkapi/com/sun/star/io/XOutputStream.idl new file mode 100644 index 000000000000..cc2cd61bd963 --- /dev/null +++ b/udkapi/com/sun/star/io/XOutputStream.idl @@ -0,0 +1,105 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XOutputStream_idl__ +#define __com_sun_star_io_XOutputStream_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_NotConnectedException_idl__ +#include <com/sun/star/io/NotConnectedException.idl> +#endif + +#ifndef __com_sun_star_io_BufferSizeExceededException_idl__ +#include <com/sun/star/io/BufferSizeExceededException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XOutputStream +/** This is the basic interface to write data to a stream. + <p> + See the <a href="http://udk.openoffice.org/common/man/concept/streams.html"> + streaming document</a> for further information on chaining and piping streams. + */ +published interface XOutputStream: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XOutputStream::writeBytes + /** writes the whole sequence to the stream. (blocking call) + */ + void writeBytes( [in] sequence<byte> aData ) + raises( com::sun::star::io::NotConnectedException, + com::sun::star::io::BufferSizeExceededException, + com::sun::star::io::IOException); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XOutputStream::flush + /** flushes out of the stream any data that may exist in buffers. + + <p>The semantics of this method are rather vague. See + <member scope="com::sun::star::io"> + XAsyncOutputMonitor::waitForCompletion</member> for a similar method + with very specific semantics, that is useful in certain scenarios.</p> + */ + void flush() + raises( com::sun::star::io::NotConnectedException, + com::sun::star::io::BufferSizeExceededException, + com::sun::star::io::IOException); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XOutputStream::closeOutput + /** gets called to indicate that all data has been written. + + <p>If this method has not yet been called, no attached + <type>XInputStream</type> receives an EOF signal. No further + bytes may be written after this method has been called.</p> + */ + void closeOutput() + raises( com::sun::star::io::NotConnectedException, + com::sun::star::io::BufferSizeExceededException, + com::sun::star::io::IOException); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XPersist.idl b/udkapi/com/sun/star/io/XPersist.idl new file mode 100644 index 000000000000..77f750c6599d --- /dev/null +++ b/udkapi/com/sun/star/io/XPersist.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XPersist_idl__ +#define __com_sun_star_io_XPersist_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XPersist +/** makes it possible to write this object to an URL or read it from an URL. + */ +published interface XPersist: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XPersist::write + /** writes all the persistent data of the object to the URL. + */ + void write ( [in] string URL ) raises ( com::sun::star::io::IOException ) ; + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XPersist::read + /** reads all the persistent data of the object from the URL. + */ + void read ( [in] string URL ) raises ( com::sun::star::io::IOException ) ; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XPersistObject.idl b/udkapi/com/sun/star/io/XPersistObject.idl new file mode 100644 index 000000000000..53da2b9a2e64 --- /dev/null +++ b/udkapi/com/sun/star/io/XPersistObject.idl @@ -0,0 +1,117 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XPersistObject_idl__ +#define __com_sun_star_io_XPersistObject_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + + published interface XObjectInputStream; + published interface XObjectOutputStream; + +//============================================================================= + +/** allows to make UNO objects persistent + + <p>Every UNO object, that wants to be serializable, should implement + this interface. The object stores stores itself, when the + write method is called. + <p> + The object needs to be created before it deserializes + itself again (by using the read method). Therefor it must be + createable by name via a factory, which is in general + the global service manager. The create and read mechanism + is implemented by the <type scope="com::sun::star::io">ObjectInputStream</type>. + + <p>The serialization format (the series of strings, integers, objects) must + be specified at the specification of the concrete service. + + <p>The interface does not support any special versioning mechanism. + + @see com::sun::star::io::XObjectOutputStream + @see com::sun::star::io::XObjectInputStream + */ +published interface XPersistObject: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** gives the service name of the object + + @returns + the service name that specifies the behavior and the + persistent data format of this implementation. + + <p>This name is used to create such an object by a factory + during deserialization. </p> + + @see com::sun::star::lang::XServiceInfo::getAvailableServiceNames + */ + string getServiceName(); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XPersistObject::write + /** writes all the persistent data of the object to the stream. + <p>The implementation + must write the data in the order documented in the service specification. + @param OutStream the stream, the data shall be written to. The stream + supports simple types and other XPersistObject implementations. + */ + void write( [in] com::sun::star::io::XObjectOutputStream OutStream ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XPersistObject::read + /** reads all the persistent data of the object from the stream. + <p>In case + other XPersistObjects are read from the stream, the implementation uses a factory + to create these objects (in general the global service manager). + <p> The implementation must read the data in the order documented at + the service specification. + @param InStream the stream, the data shall be read from. + */ + void read( [in] com::sun::star::io::XObjectInputStream InStream ) + raises( com::sun::star::io::IOException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/io/XSeekable.idl b/udkapi/com/sun/star/io/XSeekable.idl new file mode 100644 index 000000000000..f22dbdb875ca --- /dev/null +++ b/udkapi/com/sun/star/io/XSeekable.idl @@ -0,0 +1,93 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XSeekable_idl__ +#define __com_sun_star_io_XSeekable_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XSeekable +/** makes it possible to seek to a certain position within a stream. + + <p>This interface should be supported, if it is possible to access the + data at the new position quickly. + You should not support this interface, if you have a continuous + stream, for example, a video stream. + */ +published interface XSeekable: com::sun::star::uno::XInterface +{ + + // DocMerge from xml: method com::sun::star::io::XSeekable::seek + /** changes the seek pointer to a new location relative to the beginning of the stream. + + + <p> This method changes the seek pointer so subsequent reads and writes can take place at a different + location in the stream object. It is an error to seek before the beginning of the stream or after the + end of the stream. </p> + + @throws com::sun::star::lang::IllegalArgumentException in case location is negative or greater than <member>XSeekable::getLength</member>. + */ + void seek( [in] hyper location ) + raises( com::sun::star::lang::IllegalArgumentException, com::sun::star::io::IOException ); + + + // DocMerge from xml: method com::sun::star::io::XSeekable::getPosition + /** returns the current offset of the stream. + @returns + the current offset in this stream. + */ + hyper getPosition() + raises( com::sun::star::io::IOException ); + + + // DocMerge from xml: method com::sun::star::io::XSeekable::getLength + /** returns the length of the stream. + @returns + the length of the storage medium on which the stream works. + */ + hyper getLength() + raises( com::sun::star::io::IOException ); +}; + +//============================================================================= + +}; }; }; }; +#endif diff --git a/udkapi/com/sun/star/io/XSeekableInputStream.idl b/udkapi/com/sun/star/io/XSeekableInputStream.idl new file mode 100644 index 000000000000..63cbf0a6d306 --- /dev/null +++ b/udkapi/com/sun/star/io/XSeekableInputStream.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XSeekableInputStream_idl__ +#define __com_sun_star_io_XSeekableInputStream_idl__ + +#ifndef __com_sun_star_io_XInputStream_idl__ +#include <com/sun/star/io/XInputStream.idl> +#endif + +#ifndef __com_sun_star_io_XSeekable_idl__ +#include <com/sun/star/io/XSeekable.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= +/** This interface can be used to represent a seekable input stream. + */ +published interface XSeekableInputStream +{ + interface XInputStream; + interface XSeekable; +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/udkapi/com/sun/star/io/XSequenceOutputStream.idl b/udkapi/com/sun/star/io/XSequenceOutputStream.idl new file mode 100644 index 000000000000..43539f82c647 --- /dev/null +++ b/udkapi/com/sun/star/io/XSequenceOutputStream.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XSequenceOutputStream_idl__ +#define __com_sun_star_io_XSequenceOutputStream_idl__ + +#ifndef __com_sun_star_io_XOutputStream_idl__ +#include <com/sun/star/io/XOutputStream.idl> +#endif + +#ifndef __com_sun_star_io_NotConnectedException_idl__ +#include <com/sun/star/io/NotConnectedException.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= +/** This interface offers access to the written bytes +*/ +interface XSequenceOutputStream +{ + interface XOutputStream; + + /** allows to get access to the written data + */ + sequence< byte > getWrittenBytes() + raises( com::sun::star::io::NotConnectedException, + com::sun::star::io::IOException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/io/XStream.idl b/udkapi/com/sun/star/io/XStream.idl new file mode 100644 index 000000000000..c24dfd020e0c --- /dev/null +++ b/udkapi/com/sun/star/io/XStream.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XStream_idl__ +#define __com_sun_star_io_XStream_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_XInputStream_idl__ +#include <com/sun/star/io/XInputStream.idl> +#endif +#ifndef __com_sun_star_io_XOutputStream_idl__ +#include <com/sun/star/io/XOutputStream.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module io { + + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XStream +/** offers read and write access to the same stream. + */ +published interface XStream: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XStream::getInputStream + /** @returns + the <type>XInputStream</type> part of the stream. Closing the returned + <type>XInputStream</type> also closes any <type>XOutputStream</type> part. + */ + XInputStream getInputStream(); + + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XStream::getOutputStream + /** @returns + the <type>XInputStream</type> part of the stream. Closing the returned + <type>XOutputStream</type> also closes the <type>XInputStream</type> part. + */ + XOutputStream getOutputStream(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XStreamListener.idl b/udkapi/com/sun/star/io/XStreamListener.idl new file mode 100644 index 000000000000..5fc5d0b15edc --- /dev/null +++ b/udkapi/com/sun/star/io/XStreamListener.idl @@ -0,0 +1,90 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XStreamListener_idl__ +#define __com_sun_star_io_XStreamListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::io::XStreamListener +/** makes it possible to receive events from an active data control. + */ +published interface XStreamListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XStreamListener::started + /** gets called as soon as data transfer has started. + */ + void started(); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XStreamListener::closed + /** gets called when data transfer terminates normally or when data + transfer is terminated from outside. + + <p>The termination could be done using the method + <member>XActiveDataControl::terminate()</member>.</p> + */ + void closed(); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XStreamListener::terminated + /** gets called when <member>XActiveDataControl::terminate()</member> is called. + */ + void terminated(); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::io::XStreamListener::error + /** gets called when an internal error in source or sink has occurred. + + <p>After the method is called, the close is called on the + connected streams.</p> + */ + void error( [in] any aException ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XTempFile.idl b/udkapi/com/sun/star/io/XTempFile.idl new file mode 100644 index 000000000000..94b7daaac85c --- /dev/null +++ b/udkapi/com/sun/star/io/XTempFile.idl @@ -0,0 +1,89 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XTempFile_idl__ +#define __com_sun_star_io_XTempFile_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_XStream_idl__ +#include <com/sun/star/io/XStream.idl> +#endif + +#ifndef __com_sun_star_io_XSeekable_idl__ +#include <com/sun/star/io/XSeekable.idl> +#endif + + +//======================================================================== +module com { module sun { module star { module io { + +//======================================================================== +/** This interface offers access to temp files. + */ +interface XTempFile +{ + // INTERFACES + // + // ------------------------------------------------------------------- + /** interface <type>XStream</type> offers read and write access to + the same stream. + */ + interface XStream; + + // -------------------------------------------------------------------- + /** interface <type>XSeekable</type> makes it possible to seek to a + certain position within a stream. + */ + interface XSeekable; + + // ATTRIBUTES + // + // -------------------------------------------------------------------- + /** This attribute controls whether the file will be automatically + removed on object destruction. + */ + [attribute] boolean RemoveFile; + + // -------------------------------------------------------------------- + /** This attribute specifies the URL of the temp file. + */ + [readonly,attribute] string Uri; + + // -------------------------------------------------------------------- + /** This attribute specifies the temp file name. + */ + [readonly,attribute] string ResourceName; + +}; + +//========================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/io/XTextInputStream.idl b/udkapi/com/sun/star/io/XTextInputStream.idl new file mode 100644 index 000000000000..73b79218001f --- /dev/null +++ b/udkapi/com/sun/star/io/XTextInputStream.idl @@ -0,0 +1,121 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XTextInputStream_idl__ +#define __com_sun_star_io_XTextInputStream_idl__ + +#ifndef __com_sun_star_io_XInputStream_idl__ +#include <com/sun/star/io/XInputStream.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= +/** Interface to read strings from a stream. + + <p>This interfaces allows to read strings seperated by + delimiters and to read lines. The character encoding + to be used can be set by <member>setEncoding()</member>. + Default encoding is "utf8".</p> + */ +published interface XTextInputStream: com::sun::star::io::XInputStream +{ + //------------------------------------------------------------------------- + /** reads text until a line break (CR, LF, or CR/LF) or + EOF is found and returns it as string (without CR, LF). + + <p>The read characters are converted according to the + encoding defined by <member>setEncoding</member>. If + EOF is already reached before calling this method + an empty string is returned.<p> + + @see setEncoding + @see isEOF + */ + string readLine() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + /** reads text until one of the given delimiter characters + or EOF is found and returns it as string (without delimiter). + + <p><strong>Important:</strong> CR/LF is not used as default + delimiter! So if no delimiter is defined or none of the + delimiters is found, the stream will be read to EOF. The + read characters are converted according to the encoding + defined by <member>setEncoding</member>. If EOF is already + reached before calling this method an empty string is returned.</p> + + @see setEncoding + @see isEOF + */ + string readString( [in] sequence<char> Delimiters, [in] boolean bRemoveDelimiter ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + /** Returns the EOF status. + + <p>This method has to be used to detect if the end + of the stream is reached.</p> + <p><strong>Important:</strong> + This cannot be detected by asking for an empty string + because that can be a valid return value of <member> + readLine()</member> (if the line is empty) and + readString() (if a delimiter is directly followed + by the next one).</p> + + @returns + <TRUE/>, if the end of file is reached, so that + no next string can be read. <FALSE/> otherwise + */ + boolean isEOF() + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + /** sets character encoding. + + @param Encoding + sets the character encoding that should be used. + The character encoding names refer to the document + http://www.iana.org/assignments/character-sets. + Which character sets are supported depends on + the implementation. + */ + void setEncoding( [in] string Encoding ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/io/XTextOutputStream.idl b/udkapi/com/sun/star/io/XTextOutputStream.idl new file mode 100644 index 000000000000..423d18682abc --- /dev/null +++ b/udkapi/com/sun/star/io/XTextOutputStream.idl @@ -0,0 +1,86 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XTextOutputStream_idl__ +#define __com_sun_star_io_XTextOutputStream_idl__ + +#ifndef __com_sun_star_io_XOutputStream_idl__ +#include <com/sun/star/io/XOutputStream.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= +/** Interface to write strings to a stream using a special + character encoding. + + <p>This interfaces allows to write strings to a stream. + The character encoding to be used can be set by <member> + setEncoding()</member>. Default encoding is "utf8".</p> + */ +published interface XTextOutputStream: com::sun::star::io::XOutputStream +{ + //------------------------------------------------------------------------- + /** writes a string to the stream using the encoding + defined by <member>setEncoding</member>. + + <p>Line breaks or delimiters that may be neccessary + to support <member>XTextInputStream::readLine</member> + and <member>XTextInputStream::readString</member> + have to be added manually to the parameter string.</p> + + @see setEncoding + @see XTextInputStream::readLine + @see XTextInputStream::readString + */ + void writeString( [in] string aString ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + /** sets character encoding. + + @param Encoding + sets the character encoding that should be used. + The character encoding names refer to the document + http://www.iana.org/assignments/character-sets. + Which character sets are supported depends on + the implementation. + */ + void setEncoding( [in] string Encoding ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/io/XTruncate.idl b/udkapi/com/sun/star/io/XTruncate.idl new file mode 100644 index 000000000000..719922b198eb --- /dev/null +++ b/udkapi/com/sun/star/io/XTruncate.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XTruncate_idl__ +#define __com_sun_star_io_XTruncate_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module io { + + +//============================================================================= + +/** makes it possible to set the size of the underlying data of a stream + to zero. + */ +published interface XTruncate: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** sets the size of the underlying data of the stream to zero. + */ + void truncate() + raises( IOException ); + + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/io/XXMLExtractor.idl b/udkapi/com/sun/star/io/XXMLExtractor.idl new file mode 100644 index 000000000000..12ee0f23083b --- /dev/null +++ b/udkapi/com/sun/star/io/XXMLExtractor.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_io_XXMLExtractor_idl__ +#define __com_sun_star_io_XXMLExtractor_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_io_XInputStream_idl__ +#include <com/sun/star/io/XInputStream.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module io { + +//============================================================================= +/** offers the capability to extract the XML document stream from a document + storage. +*/ + +published interface XXMLExtractor : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** extracts the XML stream from the document storage. + + @returns + the extracted XML stream. + */ + com::sun::star::io::XInputStream extract( [in] com::sun::star::io::XInputStream aStream ); +}; + +//============================================================================= + +}; }; }; }; + + +#endif diff --git a/udkapi/com/sun/star/io/makefile.mk b/udkapi/com/sun/star/io/makefile.mk new file mode 100644 index 000000000000..3c8b0d5ac1d2 --- /dev/null +++ b/udkapi/com/sun/star/io/makefile.mk @@ -0,0 +1,99 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssio +PACKAGE=com$/sun$/star$/io + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + FilePermission.idl\ + BufferSizeExceededException.idl\ + MarkableInputStream.idl\ + MarkableOutputStream.idl\ + DataInputStream.idl\ + DataOutputStream.idl\ + DataTransferEvent.idl\ + IOException.idl\ + NotConnectedException.idl\ + AlreadyConnectedException.idl\ + ObjectInputStream.idl\ + ObjectOutputStream.idl\ + Pipe.idl\ + Pump.idl\ + SequenceInputStream.idl\ + SequenceOutputStream.idl\ + UnexpectedEOFException.idl\ + WrongFormatException.idl\ + XActiveDataControl.idl\ + XActiveDataSink.idl\ + XActiveDataSource.idl\ + XActiveDataStreamer.idl\ + XConnectable.idl\ + XDataExporter.idl\ + XDataImporter.idl\ + XDataInputStream.idl\ + XDataOutputStream.idl\ + XDataTransferEventListener.idl\ + XInputStream.idl\ + XStream.idl\ + XMarkableStream.idl\ + XObjectInputStream.idl\ + XObjectOutputStream.idl\ + XOutputStream.idl\ + XPersist.idl\ + XPersistObject.idl\ + XStreamListener.idl\ + XSeekable.idl\ + XSeekableInputStream.idl\ + XSequenceOutputStream.idl\ + TextInputStream.idl\ + TextOutputStream.idl\ + XTextInputStream.idl\ + XTextOutputStream.idl\ + XTruncate.idl\ + XXMLExtractor.idl\ + XInputStreamProvider.idl\ + UnknownHostException.idl\ + SocketException.idl\ + NoRouteToHostException.idl\ + ConnectException.idl \ + XAsyncOutputMonitor.idl\ + XTempFile.idl\ + TempFile.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl b/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl new file mode 100755 index 000000000000..588ac4933b05 --- /dev/null +++ b/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl @@ -0,0 +1,52 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_InvalidJavaSettingsException_idl__ +#define __com_sun_star_java_InvalidJavaSettingsException_idl__ + +#ifndef __com_sun_star_java_JavaInitializationException_idl__ +#include <com/sun/star/java/JavaInitializationException.idl> +#endif + +module com { module sun { module star { module java { + + +/** indicates a the Java settings have been modified. + + <p>The Java framework uses a configuration file, which can be used + by distributors to determine what versions are supported. If this + file is modified, then the current settings are regarded as invalid.</p> + + @since OOo 2.0.0 + */ +exception InvalidJavaSettingsException: JavaInitializationException +{ +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/java/JavaDisabledException.idl b/udkapi/com/sun/star/java/JavaDisabledException.idl new file mode 100644 index 000000000000..ef226072c13f --- /dev/null +++ b/udkapi/com/sun/star/java/JavaDisabledException.idl @@ -0,0 +1,51 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_JavaDisabledException_idl__ +#define __com_sun_star_java_JavaDisabledException_idl__ + +#ifndef __com_sun_star_java_JavaInitializationException_idl__ +#include <com/sun/star/java/JavaInitializationException.idl> +#endif + +module com { module sun { module star { module java { + + +/** indicates that Java could not be initialized because it has + been switched off.<p> + The user has switched off Java in the configuration of the office, + for example by means of the options dialog. + + @since OOo 1.1.2 + */ +published exception JavaDisabledException: JavaInitializationException +{ +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/java/JavaInitializationException.idl b/udkapi/com/sun/star/java/JavaInitializationException.idl new file mode 100644 index 000000000000..c43ea40709b5 --- /dev/null +++ b/udkapi/com/sun/star/java/JavaInitializationException.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_JavaInitializationException_idl__ +#define __com_sun_star_java_JavaInitializationException_idl__ + +#ifndef __com_sun_star_uno_DeploymentException_idl__ +#include <com/sun/star/uno/DeploymentException.idl> +#endif + +module com { module sun { module star { module java { + + +/** indicates that there is no Java available <p> + It is presumed that Java is a vital part of an office installation. + That is, if Java does work for some reason, it it not guaranteed that + the office is functional. A JavaInitializationException is therefore + caused by some misconfiguration of Java which is closer described by + other exceptions in this namespace which inherit JavaInitializationException. + These are: + <p> + <type scope:"com::sun::star::java">JavaDisabledException</type> <br> + <type scope:"com::sun::star::java">JavaNotConfiguredException</type> <br> + <type scope:"com::sun::star::java">MissingJavaRuntimeException</type> <br> + <type scope:"com::sun::star::java">JavaVMCreationFailureException</type> <br> + + @since OOo 1.1.2 + */ +published exception JavaInitializationException: com::sun::star::uno::DeploymentException +{ +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/java/JavaNotConfiguredException.idl b/udkapi/com/sun/star/java/JavaNotConfiguredException.idl new file mode 100644 index 000000000000..db69e409811f --- /dev/null +++ b/udkapi/com/sun/star/java/JavaNotConfiguredException.idl @@ -0,0 +1,50 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_JavaNotConfiguredException_idl__ +#define __com_sun_star_java_JavaNotConfiguredException_idl__ + +#ifndef __com_sun_star_java_JavaInitializationException_idl__ +#include <com/sun/star/java/JavaInitializationException.idl> +#endif + +module com { module sun { module star { module java { + + +/** indicates that the user did not configure Java for an Office installation. <p> + This exception occurs if there is no java.ini or javarc available. This usually + happens if a user cancels the Java configuration which of the office. + + @since OOo 1.1.2 + */ +published exception JavaNotConfiguredException: JavaInitializationException +{ +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/java/JavaNotFoundException.idl b/udkapi/com/sun/star/java/JavaNotFoundException.idl new file mode 100644 index 000000000000..3f8a994decc1 --- /dev/null +++ b/udkapi/com/sun/star/java/JavaNotFoundException.idl @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_JavaNotFoundException_idl__ +#define __com_sun_star_java_JavaNotFoundException_idl__ + +#ifndef __com_sun_star_java_JavaInitializationException_idl__ +#include <com/sun/star/java/JavaInitializationException.idl> +#endif + +module com { module sun { module star { module java { + + +/** indicates that no suitable JRE was found. + + @since OOo 2.0.0 + */ +exception JavaNotFoundException: JavaInitializationException +{ +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/java/JavaVMCreationFailureException.idl b/udkapi/com/sun/star/java/JavaVMCreationFailureException.idl new file mode 100644 index 000000000000..6f027e9556fc --- /dev/null +++ b/udkapi/com/sun/star/java/JavaVMCreationFailureException.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_JavaVMCreationFailureException_idl__ +#define __com_sun_star_java_JavaVMCreationFailureException_idl__ + +#ifndef __com_sun_star_java_JavaInitializationException_idl__ +#include <com/sun/star/java/JavaInitializationException.idl> +#endif + +module com { module sun { module star { module java { + + +/** indicates that the Java Virtual Machine could not be created <p> + This exception can be thrown when the creation of the Java Virtual + Machine failed, even if the runtime library could be loaded. + Possible reasons for a failure are that JNI_CreateJavaVM returns + an error code that reflects a failure, JNI_CreateJavaVM does not + return because it tries to quit the process ( _exit), the shared + library is corrupted, so that the symbols for JNI_GetDefaultVMInitArgs + or JNI_CreateJavaVM cannot be found, etc. + + @since OOo 1.1.2 + */ +published exception JavaVMCreationFailureException: JavaInitializationException +{ + /** contains an error code that reflects the returned error code of + JNI_CreateJavaVM or other errors. A negative value represents + the returned error code of JNI_CreateJavaVM. All other values + indicate a different cause. + */ + long ErrorCode; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/java/JavaVirtualMachine.idl b/udkapi/com/sun/star/java/JavaVirtualMachine.idl new file mode 100644 index 000000000000..e7d80865a432 --- /dev/null +++ b/udkapi/com/sun/star/java/JavaVirtualMachine.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_JavaVirtualMachine_idl__ +#define __com_sun_star_java_JavaVirtualMachine_idl__ + +//============================================================================= + +module com { module sun { module star { module java { + + published interface XJavaVM; + published interface XJavaThreadRegister_11; + +//============================================================================= + +// DocMerge from xml: service com::sun::star::java::JavaVirtualMachine +/** exports interfaces to handle a JavaVM and Java threads. + + @deprecated + A UNO service seems to be at the wrong abstraction level for this + functionality. This should probably be replaced by an appropriate C/C++ + API. + */ +published service JavaVirtualMachine +{ + // DocMerge: empty anyway + interface XJavaVM; + + // DocMerge: empty anyway + interface XJavaThreadRegister_11; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/java/MissingJavaRuntimeException.idl b/udkapi/com/sun/star/java/MissingJavaRuntimeException.idl new file mode 100644 index 000000000000..dd98d8eeaa3e --- /dev/null +++ b/udkapi/com/sun/star/java/MissingJavaRuntimeException.idl @@ -0,0 +1,53 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_MissingJavaRuntimeException_idl__ +#define __com_sun_star_java_MissingJavaRuntimeException_idl__ + +#ifndef __com_sun_star_java_JavaInitializationException_idl__ +#include <com/sun/star/java/JavaInitializationException.idl> +#endif + +module com { module sun { module star { module java { + + +/** indicates that the Java runtime library could not be found. <p> + This happens when a user moves or deletes a Java installation after + the office has been configured to use that Java installation. + + @since OOo 1.1.2 + */ +published exception MissingJavaRuntimeException: JavaInitializationException +{ + /** contains the path to the runtime lib as file URL. + */ + string URLRuntimeLib; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/java/RestartRequiredException.idl b/udkapi/com/sun/star/java/RestartRequiredException.idl new file mode 100755 index 000000000000..a41b7de14b6a --- /dev/null +++ b/udkapi/com/sun/star/java/RestartRequiredException.idl @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_RestartRequiredException_idl__ +#define __com_sun_star_java_RestartRequiredException_idl__ + +#ifndef __com_sun_star_java_JavaInitializationException_idl__ +#include <com/sun/star/java/JavaInitializationException.idl> +#endif + +module com { module sun { module star { module java { + + +/** indicates that the office must be restarted before a JRE can be used. + + @since OOo 2.0.0 + */ +exception RestartRequiredException: JavaInitializationException +{ +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/java/WrongJavaVersionException.idl b/udkapi/com/sun/star/java/WrongJavaVersionException.idl new file mode 100644 index 000000000000..5cf1840bbc61 --- /dev/null +++ b/udkapi/com/sun/star/java/WrongJavaVersionException.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_WrongJavaVersionException_idl__ +#define __com_sun_star_java_WrongJavaVersionException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include "com/sun/star/uno/Exception.idl" +#endif + +module com { module sun { module star { module java { + +//============================================================================ +/** indicates that an operation involving Java (probably executing Java code) + failed due to a wrong Java version. + */ +published exception WrongJavaVersionException: com::sun::star::uno::Exception +{ + //------------------------------------------------------------------------ + /** contains the lowest Java version for which the operation would + succeed, or is left empty if this is unknown. + */ + string LowestSupportedVersion; + + //------------------------------------------------------------------------ + /** contains the highest Java version for which the operation would + succeed, or is left empty if this is unknown. + */ + string HighestSupportedVersion; + + //------------------------------------------------------------------------ + /** contains the Java version that has been detected, or is left empty if + this is unknown. + */ + string DetectedVersion; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/java/XJavaThreadRegister_11.idl b/udkapi/com/sun/star/java/XJavaThreadRegister_11.idl new file mode 100644 index 000000000000..788ecfec33f6 --- /dev/null +++ b/udkapi/com/sun/star/java/XJavaThreadRegister_11.idl @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_XJavaThreadRegister_11_idl__ +#define __com_sun_star_java_XJavaThreadRegister_11_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module java { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::java::XJavaThreadRegister_11 +/** must be implemented by the user of the XJavaThreadRegister_11. + + @incomplete + @deprecated + */ +published interface XJavaThreadRegister_11: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::java::XJavaThreadRegister_11::isThreadAttached + /** returns <true/> if the current thread is already attached to the VM otherwise <false/>. + */ + boolean isThreadAttached(); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::java::XJavaThreadRegister_11::registerThread + /** registers the current thread. + + <p>This method should be called every time a JNI function is called from Java. </p> + */ + void registerThread(); + + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::java::XJavaThreadRegister_11::revokeThread + /** revokes the current thread from the list of registerd threads. + + <p>This method should be called at the end of every JNI call from Java. </p> + */ + void revokeThread(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/java/XJavaVM.idl b/udkapi/com/sun/star/java/XJavaVM.idl new file mode 100644 index 000000000000..4f31f3994ef1 --- /dev/null +++ b/udkapi/com/sun/star/java/XJavaVM.idl @@ -0,0 +1,141 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_java_XJavaVM_idl__ +#define __com_sun_star_java_XJavaVM_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module java { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::java::XJavaVM +/** must be implemented by the user of the XJavaVM. + + @deprecated + A UNO interface seems to be at the wrong abstraction level for this + functionality (also, the C++ classes <code>jvmaccess::VirtualMachine</code> + and <code>jvmaccess::UnoVirtualMachine</code> used by + <member scope="com::sun::star::java">XJavaVM::getJavaVM</member> are not + part of the public C++ UNO runtime API). This should probably be replaced + by an appropriate C/C++ API. + */ +published interface XJavaVM: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::java::XJavaVM::getJavaVM + /** returns the address of the Java Virtual Machine. + + <p>If the VM is not already instantiated, it will be now.</p> + + <p>If the <code>processID</code> is a normal 16-byte ID, the returned + <atom>any</atom> contains a JNI <code>JavaVM</code> pointer as a + <atom>long</atom> or <atom>hyper</atom> integer (depending on the + platform). If the <code>processID</code> does not match the current + process, or if the VM cannot be instantiated for whatever reason, a + <void/> <atom>any</atom> is returned.</p> + + <p>If the <code>processID</code> has an additional 17th byte of + value <code>0</code>, the returned <atom>any</atom> contains a + non–reference-counted pointer to a (reference-counted) instance of + the C++ <code>jvmaccess::VirtualMachine</code> class, always represented + as a <atom>hyper</atom> integer. The pointer is guaranteed to be valid + as long as the reference to this + <type scope="com::sun::star::java">XJavaVM</type> is valid (but the + pointer should be converted into a reference-counted reference as soon + as possible). Again, if the first 16 bytes of the + <code>processID</code> do not match the current process, or if the VM + cannot be instantiated for whatever reason, a <void/> <atom>any</atom> + is returned.</p> + + <p>If the <code>processID</code> has an additional 17th byte of + value <code>1</code>, the returned <atom>any</atom> contains a + non–reference-counted pointer to a (reference-counted) instance of + the C++ <code>jvmaccess::UnoVirtualMachine</code> class, always + represented as a <atom>hyper</atom> integer. The pointer is guaranteed + to be valid as long as the reference to this + <type scope="com::sun::star::java">XJavaVM</type> is valid. Again, if + the first 16 bytes of the <code>processID</code> do not match the + current process, or if the VM cannot be instantiated for whatever + reason, a <void/> <atom>any</atom> is returned.</p> + + <p>The first form (returning a JNI <code>JavaVM</code> pointer) is + mainly for backwards compatibility, new code should use the second form + (returning a pointer to a <code>jvmaccess::VirtualMachine</code>) if it + does not want to use the Java UNO environment, and it should use the + third form (returning a pointer to a + <code>jvmaccess::UnoVirtualMachine</code>) if it wants to use the Java + UNO environment. For example, one advantage of using + <code>jvmaccess::VirtualMachine</code> instead of the raw + <code>JavaVM</code> pointer is that whenever you attach a native thread + to the Java virtual machine, that thread's context + <code>ClassLoader</code> (see + <code>java.lang.Thread.getContextClassLoader</code>) will automatically + be set to a meaningful value.</p> + + @param processID + The process ID of the caller's process, possibly extended by a 17th byte + of value <code>0</code> or <code>1</code>. + + @return + On success, the <atom>any</atom> contains a pointer represented as + <atom>long</atom> or <atom>hyper</atom>, otherwise the <atom>any</atom> + is <void/>. + */ + any getJavaVM( [in] sequence<byte> processID ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::java::XJavaVM::isVMStarted + /** returns <true/> if the VM is started successfully, otherwise <false/>. + */ + boolean isVMStarted(); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::java::XJavaVM::isVMEnabled + /** Returns <true/> if the VM is enabled. + + <p>It is only possible to get the VM, if this method return 0. </p> + */ + boolean isVMEnabled(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/java/makefile.mk b/udkapi/com/sun/star/java/makefile.mk new file mode 100644 index 000000000000..bf7f467c9de0 --- /dev/null +++ b/udkapi/com/sun/star/java/makefile.mk @@ -0,0 +1,57 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssjava +PACKAGE=com$/sun$/star$/java + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + JavaVirtualMachine.idl\ + WrongJavaVersionException.idl\ + XJavaThreadRegister_11.idl\ + XJavaVM.idl\ + JavaInitializationException.idl\ + JavaDisabledException.idl\ + JavaNotConfiguredException.idl\ + MissingJavaRuntimeException.idl\ + JavaVMCreationFailureException.idl\ + JavaNotFoundException.idl \ + InvalidJavaSettingsException.idl \ + RestartRequiredException.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/lang/ArrayIndexOutOfBoundsException.idl b/udkapi/com/sun/star/lang/ArrayIndexOutOfBoundsException.idl new file mode 100644 index 000000000000..b491f06eb41a --- /dev/null +++ b/udkapi/com/sun/star/lang/ArrayIndexOutOfBoundsException.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_ArrayIndexOutOfBoundsException_idl__ +#define __com_sun_star_lang_ArrayIndexOutOfBoundsException_idl__ + +#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__ +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::ArrayIndexOutOfBoundsException +/** This exception is thrown to indicate that an array has been + accessed with an illegal index. + + <p>The index is either negative or greater than or equal to + the size of the array. </p> + */ +published exception ArrayIndexOutOfBoundsException: com::sun::star::lang::IndexOutOfBoundsException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/ClassNotFoundException.idl b/udkapi/com/sun/star/lang/ClassNotFoundException.idl new file mode 100644 index 000000000000..4b2d3e3ed415 --- /dev/null +++ b/udkapi/com/sun/star/lang/ClassNotFoundException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_ClassNotFoundException_idl__ +#define __com_sun_star_lang_ClassNotFoundException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::ClassNotFoundException +/** This exception is thrown when an application tries to load + the information on the type through its string name. + */ +published exception ClassNotFoundException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/DisposedException.idl b/udkapi/com/sun/star/lang/DisposedException.idl new file mode 100644 index 000000000000..5e404c6b1def --- /dev/null +++ b/udkapi/com/sun/star/lang/DisposedException.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_DisposedException_idl__ +#define __com_sun_star_lang_DisposedException_idl__ + +#ifndef __com_sun_star_uno_RuntimeException_idl__ +#include <com/sun/star/uno/RuntimeException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::DisposedException +/** This exception occurs if the object behind this interface has been + disposed before and can't uphold its method specification anymore. + + <p>The implementation normally should implement the + <type scope="com::sun::star::lang">XComponent</type> interface + to indicate this possibility. </p> + */ +published exception DisposedException: com::sun::star::uno::RuntimeException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/EventObject.idl b/udkapi/com/sun/star/lang/EventObject.idl new file mode 100644 index 000000000000..4cab388aafbf --- /dev/null +++ b/udkapi/com/sun/star/lang/EventObject.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_EventObject_idl__ +#define __com_sun_star_lang_EventObject_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: struct com::sun::star::lang::EventObject +/** specifies the base for all event objects and identifies the + source of the event. + */ +published struct EventObject +{ + // DocMerge from xml: field com::sun::star::lang::EventObject::Source + /** refers to the object that fired the event. + */ + com::sun::star::uno::XInterface Source; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/IllegalAccessException.idl b/udkapi/com/sun/star/lang/IllegalAccessException.idl new file mode 100644 index 000000000000..0e9332b43019 --- /dev/null +++ b/udkapi/com/sun/star/lang/IllegalAccessException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_IllegalAccessException_idl__ +#define __com_sun_star_lang_IllegalAccessException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::IllegalAccessException +/** This exception is thrown when an application tries to change + a constant property. + */ +published exception IllegalAccessException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/IllegalArgumentException.idl b/udkapi/com/sun/star/lang/IllegalArgumentException.idl new file mode 100644 index 000000000000..4aafc1f08648 --- /dev/null +++ b/udkapi/com/sun/star/lang/IllegalArgumentException.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_IllegalArgumentException_idl__ +#define __com_sun_star_lang_IllegalArgumentException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::IllegalArgumentException +/** This exception is thrown to indicate that a method has + passed an illegal or inappropriate argument. + */ +published exception IllegalArgumentException: com::sun::star::uno::Exception +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: field com::sun::star::lang::IllegalArgumentException::ArgumentPosition + /** identifies the position of the illegal argument. + + <p>This field is -1 if the position is not known.</p> + */ + short ArgumentPosition; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/IndexOutOfBoundsException.idl b/udkapi/com/sun/star/lang/IndexOutOfBoundsException.idl new file mode 100644 index 000000000000..33747c07b9a6 --- /dev/null +++ b/udkapi/com/sun/star/lang/IndexOutOfBoundsException.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_IndexOutOfBoundsException_idl__ +#define __com_sun_star_lang_IndexOutOfBoundsException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::IndexOutOfBoundsException +/** This exception is thrown to indicate that a container has been + accessed with an illegal index. + + <p>The index is either negative or greater than or equal to + the count of the elements. </p> + */ +published exception IndexOutOfBoundsException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/InvalidListenerException.idl b/udkapi/com/sun/star/lang/InvalidListenerException.idl new file mode 100644 index 000000000000..24460b32a607 --- /dev/null +++ b/udkapi/com/sun/star/lang/InvalidListenerException.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_InvalidListenerException_idl__ +#define __com_sun_star_lang_InvalidListenerException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::InvalidListenerException +/** is thrown by the <member>XConnectionPoint::advice</member> method + to indicate that the listener has not supplied the necessary + interface. + + @see XConnectionPoint + */ +published exception InvalidListenerException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/ListenerExistException.idl b/udkapi/com/sun/star/lang/ListenerExistException.idl new file mode 100644 index 000000000000..5505426b468e --- /dev/null +++ b/udkapi/com/sun/star/lang/ListenerExistException.idl @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_ListenerExistException_idl__ +#define __com_sun_star_lang_ListenerExistException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::ListenerExistException +/** is thrown by the <member>XConnectionPoint::advise</member> method + to indicate that there is only one listener allowed. + + @see XConnectionPoint + */ +published exception ListenerExistException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/Locale.idl b/udkapi/com/sun/star/lang/Locale.idl new file mode 100644 index 000000000000..40c43748b2d7 --- /dev/null +++ b/udkapi/com/sun/star/lang/Locale.idl @@ -0,0 +1,122 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_Locale_idl__ +#define __com_sun_star_lang_Locale_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: struct com::sun::star::lang::Locale +/** object represents a specific geographical, political, or cultural region. + + <p>An operation that requires a <code>Locale</code> to perform + its task is called <em>locale-sensitive</em> and uses the + <code>Locale</code> to tailor information for the user. For example, + displaying a number is a locale-sensitive operation; the number + should be formatted according to the customs/conventions of the + user's native country, region, or culture. </p> + + <p> Because a <code>Locale</code> object is just an identifier for a + region, no validity check is performed. If you want to see whether + particular resources are available for the <code>Locale</code>, use + the <method scope="com::sun::star::resource">XLocale::getAvailableLocales</method> method to ask for the + locales it supports.</p> + + <p> <strong>Note:</strong> When you ask for a resource for a + particular locale, you get the best available match, not necessarily + precisely what you asked for. For more information, see + <type scope="com::sun::star::resource">XResourceBundle</type>.</p> + + <p> Each implementation that performs locale-sensitive operations + allows you to get all the available objects of that type. Use the + <typed scope="com::sun::star::resource">XLocale</type> interface to set the locale. </p> + */ +published struct Locale +{ + // DocMerge from xml: field com::sun::star::lang::Locale::Language + /** specifies an <strong>ISO Language Code</strong>. + + <p>These codes are the lower-case two-letter codes as defined by + ISO-639. You can find a full list of these codes at a number of + sites, such as: <br> + <a href="http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt"> + <code>http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt</code></a>. + </p> + + <p>If this field contains an empty string, the meaning depends on the + context.</p> + */ + string Language; + + //------------------------------------------------------------------------- + + // DocMerge from xml: field com::sun::star::lang::Locale::Country + /** specifies an <strong>ISO Country Code.</strong> + + <p>These codes are the upper-case two-letter codes as + defined by ISO-3166. You can find a full list of these codes at a + number of sites, such as: <br> + <a href="http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html"> + <code>http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html</code></a>. + </p> + + <p>If this field contains an empty string, the meaning depends on the + context.</p> + */ + string Country; + + //------------------------------------------------------------------------- + + // DocMerge from xml: field com::sun::star::lang::Locale::Variant + /** contains a variant of the locale; codes are vendor and + browser-specific. + + <p>For example, use WIN for Windows, MAC for Macintosh, and POSIX + for POSIX. Wherever there are two variants, separate them with an + underscore, and put the most important one first. For example, a + traditional Spanish collation might construct a locale with parameters + for language, country and variant as: "es", "ES", "Traditional_WIN".</p> + */ + string Variant; + +}; + + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/MultiServiceFactory.idl b/udkapi/com/sun/star/lang/MultiServiceFactory.idl new file mode 100644 index 000000000000..d55199784370 --- /dev/null +++ b/udkapi/com/sun/star/lang/MultiServiceFactory.idl @@ -0,0 +1,86 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_MultiServiceFactory_idl__ +#define __com_sun_star_lang_MultiServiceFactory_idl__ + +#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#endif +#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__ +#include <com/sun/star/lang/XMultiComponentFactory.idl> +#endif + +#ifndef __com_sun_star_lang_XServiceInfo_idl__ +#include <com/sun/star/lang/XServiceInfo.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** Provides a collection of implementations of services. + + <p>The factories for instantiating objects of implemetations + are accessed via a service name.</p> + + <p>The <type scope="com::sun::star::container">XContentEnumerationAccess</type> + interface can be supported optionally. + If it is suported, it is possible to enumerate all implementations that + support the service specified with the argument of + <member scope="com::sun::star::container">XContentEnumerationAccess::createContentEnumeration</member>. + The enumerator returns interfaces. The type of the interface is not specified. + Commonly this is <type>XSingleComponentFactory</type>.</p> +*/ +published service MultiServiceFactory +{ + /** This interface uses a service name to instantiate a component + which supports the specified service. + */ + interface com::sun::star::lang::XMultiServiceFactory; + + /** This interface uses a service name and a component context to instantiate + a component which supports the specified service. + */ + interface com::sun::star::lang::XMultiComponentFactory; + + /** Factories, as well as all other services, should always support + this interface. + */ + interface com::sun::star::lang::XServiceInfo; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/NoSuchFieldException.idl b/udkapi/com/sun/star/lang/NoSuchFieldException.idl new file mode 100644 index 000000000000..2ae3045275f3 --- /dev/null +++ b/udkapi/com/sun/star/lang/NoSuchFieldException.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_NoSuchFieldException_idl__ +#define __com_sun_star_lang_NoSuchFieldException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::NoSuchFieldException +/** signals that the class does not have a field of a specified name. + */ +published exception NoSuchFieldException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/NoSuchMethodException.idl b/udkapi/com/sun/star/lang/NoSuchMethodException.idl new file mode 100644 index 000000000000..dfaab8937843 --- /dev/null +++ b/udkapi/com/sun/star/lang/NoSuchMethodException.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_NoSuchMethodException_idl__ +#define __com_sun_star_lang_NoSuchMethodException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::NoSuchMethodException +/** signals that the interface does not have a method of a specified name. + */ +published exception NoSuchMethodException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/NoSupportException.idl b/udkapi/com/sun/star/lang/NoSupportException.idl new file mode 100644 index 000000000000..0048e2faf0a0 --- /dev/null +++ b/udkapi/com/sun/star/lang/NoSupportException.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_NoSupportException_idl__ +#define __com_sun_star_lang_NoSupportException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** This exception is thrown when a feature of an interface is not + supported. + + <p>An example is a <code>setParent(...)</code> method and the object + does not allow the change. </p> + + @see XEnumeration + @see com::sun::star::container::XChild::setParent + */ +published exception NoSupportException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/NotInitializedException.idl b/udkapi/com/sun/star/lang/NotInitializedException.idl new file mode 100644 index 000000000000..b876d4180d27 --- /dev/null +++ b/udkapi/com/sun/star/lang/NotInitializedException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_NotInitializedException_idl__ +#define __com_sun_star_lang_NotInitializedException_idl__ + +#ifndef __com_sun_star_uno_RuntimeException_idl__ +#include <com/sun/star/uno/RuntimeException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** + */ +/** is thrown when a component is attempted to be used before it was + completely constructed. +*/ +published exception NotInitializedException : com::sun::star::uno::RuntimeException +{ +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/udkapi/com/sun/star/lang/NullPointerException.idl b/udkapi/com/sun/star/lang/NullPointerException.idl new file mode 100644 index 000000000000..939c278ba797 --- /dev/null +++ b/udkapi/com/sun/star/lang/NullPointerException.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_NullPointerException_idl__ +#define __com_sun_star_lang_NullPointerException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::NullPointerException +/** This exception is thrown when an application attempts to use + <NULL/> in a case where an object is required. + + <p>Applications should throw instances of this class to indicate + other illegal uses of the <NULL/> object. </p> + + @see com::sun::star::reflection::XIdlReflection::forName + */ +published exception NullPointerException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/RegistryServiceManager.idl b/udkapi/com/sun/star/lang/RegistryServiceManager.idl new file mode 100644 index 000000000000..78cd1b018ac0 --- /dev/null +++ b/udkapi/com/sun/star/lang/RegistryServiceManager.idl @@ -0,0 +1,100 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_RegistryServiceManager_idl__ +#define __com_sun_star_lang_RegistryServiceManager_idl__ + +#ifndef __com_sun_star_lang_ServiceManager_idl__ +#include <com/sun/star/lang/ServiceManager.idl> +#endif + +#ifndef __com_sun_star_lang_MultiServiceFactory_idl__ +#include <com/sun/star/lang/MultiServiceFactory.idl> +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_registry_XSimpleRegistry_idl__ +#include <com/sun/star/registry/XSimpleRegistry.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** Provides a collection of implementations for services reading from a + persistent registry storage. + + For usage of the service manager have a look at service description + of <type>ServiceManager</type>. + + @see ServiceManager +*/ +published service RegistryServiceManager +{ + /** This is a derived ServiceManager service. + */ + service com::sun::star::lang::ServiceManager; + + /** The first two arguments of the intitialization arguments reference: + <ol> + <li>a simple registry + (<type scope="com::sun::star::registry">XSimpleRegistry</type>), + i.e. the registry to be read from</li> + <li>a component context + (<type scope="com::sun::star::uno">XComponentContext</type>) + to be installed as "DefaultContext" property of the + <type>ServiceManager</type> which is the context to be used + using the <type>XMultiServiceFactory</type> interface.</li> + </ol> + */ + interface com::sun::star::lang::XInitialization; + + /** Property access. + */ + interface com::sun::star::beans::XPropertySet; + /** Specifies the current registry to be read from. + */ + [readonly, property] com::sun::star::registry::XSimpleRegistry Registry; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/ServiceManager.idl b/udkapi/com/sun/star/lang/ServiceManager.idl new file mode 100644 index 000000000000..e49e21e8a648 --- /dev/null +++ b/udkapi/com/sun/star/lang/ServiceManager.idl @@ -0,0 +1,141 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_ServiceManager_idl__ +#define __com_sun_star_lang_ServiceManager_idl__ + +#ifndef __com_sun_star_lang_MultiServiceFactory_idl__ +#include <com/sun/star/lang/MultiServiceFactory.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_container_XSet_idl__ +#include <com/sun/star/container/XSet.idl> +#endif + +#ifndef __com_sun_star_container_XContentEnumerationAccess_idl__ +#include <com/sun/star/container/XContentEnumerationAccess.idl> +#endif + +#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#endif + +#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__ +#include <com/sun/star/lang/XMultiComponentFactory.idl> +#endif + +#ifndef __com_sun_star_lang_XServiceInfo_idl__ +#include <com/sun/star/lang/XServiceInfo.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** Provides a collection of implementations for services. This is a singleton + you commonly find in your component context under key + <code>/singletons/com.sun.star.lang.theServiceManager</code>. + + <p> + The factories are accessed with a service name. It is possible to + access the factories with their implementation names, but you should + avoid this. + </p> + + <p>Service factories added via <type scope="com::sun::star::container">XSet</type> + should support the following interfaces: </p> + + <dl> + <dt><type>XServiceInfo</type></dt> + <dd>supported interfaces/ implementation name</dd> + + <dt><type>XSingleComponentFactory</type>(optional)</dt> + <dd>is used to create instances of the implementation.</dd> + + <dt><type>XComponent</type> (optional)</dt> + <dd>The service manager calls the method + <member scope="com::sun::star::lang">XComponent::dispose</member> + on the factory when going down (i.e. it is commonly disposed by the component context).</dd> + </dl> + + @see com::sun::star::uno::XComponentContext +*/ +published service ServiceManager +{ + /** This is a derived MultiServiceFactory service. + */ + service com::sun::star::lang::MultiServiceFactory; + + /** Disposing of service manager. + <p> + The component context disposes its service manager singleton when going down + (i.e. when the component context is disposed). + </p> + */ + interface com::sun::star::lang::XComponent; + + /** Management of service factories. + */ + interface com::sun::star::container::XSet; + + /** Enumeration of all service factories. + <p> + It is possible to enumerate all implementations that support the + service specified with the argument of the + <member scope="com::sun::star::container">XContentEnumerationAccess::createContentEnumeration</member> method. + The enumerator commonly returns <type>XSingleComponentFactory</type> + interfaces. + </p> + */ + interface com::sun::star::container::XContentEnumerationAccess; + + /** Property access. + */ + [optional] interface com::sun::star::beans::XPropertySet; + /** specifies the default component context to be used, if instanciating services + via <type>XMultiServiceFactory</type> + */ + [optional, property] com::sun::star::uno::XComponentContext DefaultContext; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/ServiceNotRegisteredException.idl b/udkapi/com/sun/star/lang/ServiceNotRegisteredException.idl new file mode 100644 index 000000000000..c75835b90194 --- /dev/null +++ b/udkapi/com/sun/star/lang/ServiceNotRegisteredException.idl @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_ServiceNotRegisteredException_idl__ +#define __com_sun_star_lang_ServiceNotRegisteredException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::ServiceNotRegisteredException +/** This exception is thrown when a needed service is not found. + + <p>Applications should throw instances of this class to indicate + that a needed service is not registered. </p> + */ +published exception ServiceNotRegisteredException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/SystemDependent.idl b/udkapi/com/sun/star/lang/SystemDependent.idl new file mode 100644 index 000000000000..5d4bf69be0e6 --- /dev/null +++ b/udkapi/com/sun/star/lang/SystemDependent.idl @@ -0,0 +1,125 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_SystemDependent_idl__ +#define __com_sun_star_lang_SystemDependent_idl__ + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from idl: constants com::sun::star::lang::SystemDependent +/** These constants are used to specify systems which depend on return values. + + <p> You should avoid system-dependent methods if possible. + + @example:C++ + + <listing> + #ifdef __WINDOW // Microsoft Windows + HWND hWin = (HWND)xInterface->getWindowHandle(SystemDependentWIN32); + if( hWin ) ... + #elif( ... ) // other systems + ... + #endif + </listing> + + <p>The Symbols are now prepended with SYSTEM_ thus we avoid collisions + with system headers. </p> + + @see com::sun::star::awt::XSystemDependentWindowPeer + @deprecated + */ +published constants SystemDependent +{ + //------------------------------------------------------------------------- + + // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_WIN32 + /** The called interface method returns a value specified for the + 32-bit Windows systems. + + <p>These are Windows NT, Windows 95, Windows 98 or higher. </p> + */ + const short SYSTEM_WIN32 = 1; + + //------------------------------------------------------------------------- + + // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_WIN16 + /** The called interface method returns a value specified for + the 16-bit Windows system. + + <p>This is Windows 3.11. </p> + */ + const short SYSTEM_WIN16 = 2; + + //------------------------------------------------------------------------- + + // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_JAVA + /** The called interface method returns a value specified for the system java. + + <p>These are <em>JRE 1.1</em>, <em>JRE 1.2</em>, <em>JDK 1.1</em>, + <em>JDK 1.2</em> or higher. </p> + + <p>The return should be a handle to a java object locked with + the call <code>JavaEnvironment->NewGlobalRef( ... )</code> + by the callee. </p> + */ + const short SYSTEM_JAVA = 3; + + //------------------------------------------------------------------------- + + // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_OS2 + /** The called interface method returns a value specified for the <em>OS/2</em> system. + */ + const short SYSTEM_OS2 = 4; + + //------------------------------------------------------------------------- + + // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_MAC + /** The called interface method returns a value specified for the <em>MAC-OS</em> system. + */ + const short SYSTEM_MAC = 5; + + //------------------------------------------------------------------------- + + // DocMerge from idl: value com::sun::star::lang::SystemDependent::SYSTEM_XWINDOW + /** The called interface method returns a value specified for the <em>X Window System</em>. + */ + const short SYSTEM_XWINDOW = 6; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/WrappedTargetException.idl b/udkapi/com/sun/star/lang/WrappedTargetException.idl new file mode 100644 index 000000000000..169b0073f9a7 --- /dev/null +++ b/udkapi/com/sun/star/lang/WrappedTargetException.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_WrappedTargetException_idl__ +#define __com_sun_star_lang_WrappedTargetException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::lang::WrappedTargetException +/** This is a checked exception that wraps an exception thrown + by the original target. + + <p>Normally this exception is declared for generic methods. </p> + + @see com::sun::star::container::XIndexAccess + @see com::sun::star::container::XNameAccess + @see com::sun::star::beans::XPropertySet + */ +published exception WrappedTargetException: com::sun::star::uno::Exception +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: field com::sun::star::lang::WrappedTargetException::TargetException + /** The exception is thrown by the target. + */ + any TargetException; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/WrappedTargetRuntimeException.idl b/udkapi/com/sun/star/lang/WrappedTargetRuntimeException.idl new file mode 100644 index 000000000000..0a48f02d672a --- /dev/null +++ b/udkapi/com/sun/star/lang/WrappedTargetRuntimeException.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_WrappedTargetRuntimeException_idl__ +#define __com_sun_star_lang_WrappedTargetRuntimeException_idl__ + +#ifndef __com_sun_star_uno_RuntimeException_idl__ +#include <com/sun/star/uno/RuntimeException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** This is a runtime exception that wraps any other exception thrown + by the original target. + <p> + This exception should not be declared at interfaces, use + <type>WrappedTargetException</type> instead. It was defined + to transport an exception via interface-methods, that do not + specify the appropriate exceptions (so using this exception + should in general be avoided). + */ +published exception WrappedTargetRuntimeException: ::com::sun::star::uno::RuntimeException +{ + //------------------------------------------------------------------------- + /** The exception is thrown by the target. + */ + any TargetException; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/lang/XComponent.idl b/udkapi/com/sun/star/lang/XComponent.idl new file mode 100644 index 000000000000..250842aebd40 --- /dev/null +++ b/udkapi/com/sun/star/lang/XComponent.idl @@ -0,0 +1,143 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XComponent_idl__ +#define __com_sun_star_lang_XComponent_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module lang { + + published interface XEventListener; + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::lang::XComponent +/** allows to exclicitly free resources and break cyclic references. + + <p>Actually the real lifetime of an UNO object is controlled by + references kept on interfaces of this object. But there are two + distinct meanings in keeping a reference to an interface: + 1st to own the object and 2nd to know the object. + + <p>You are only allowed to keep references of interfaces + to UNO objects if you are by definition the owner of that object or + your reference is very temporary or you have registered an + EventListener at that object and release the reference when + "disposing" is called.</p> + */ +published interface XComponent: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::lang::XComponent::dispose + /** The owner of an object calls this method to explicitly free all + resources kept by this object and thus break cyclic references. + + <p>Only the owner of this object is allowed to call this method. + The object should release all resources and references in the + easiest possible manner ( for instance no serialization should + take place anymore ). + </p> + <p> + The object must notify all registered listeners using the method + <member>XEventListener::disposing</member>. All notfied objects + should release there references to this object without + calling <member>XComponent::removeEventListener</member> + (the disposed object will release the listeners eitherway). + </p> + + <p>After this method has been called, the object should behave as passive + as possible, thus it should ignore all calls + in case it can comply with its specification (for instance addEventListener()). + Often the object can't fulfill its specification anymore, + in this case it must throw the <type>DisposedException</type> + (which is derived from <type scope="com::sun::star::uno">RuntimeException</type>) + when it gets called.</p> + + <p>For some objects no real owner can be identified, thus it can be + disposed from multiple reference holders. In this case + the object should be able to cope with multiple dispose()-calls (which + are inevitable in a multithreaded environment). + */ + void dispose(); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::lang::XComponent::addEventListener + /** adds an event listener to the object. + + <p>The broadcaster fires the disposing method of this listener + if the <member>XComponent::dispose</member> method is called.</p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed.</p> + + <p>If this <type scope="com::sun::star::lang">XComponent</type> is + already disposed when <member scope="com::sun::star::lang"> + XComponent::addEventListener</member> is called, the call will not fail + with a <type scope="com::sun::star::lang">DisposedException</type>, but + the caller will be notified via the + <member scope="com::sun::star::lang">XEventListener::disposing</member> + callback. This callback can occur synchronously within the + <member scope="com::sun::star::lang">XComponent::addEventListener + </member> call.</p> + + @see XComponent::removeEventListener + */ + void addEventListener( [in] XEventListener xListener ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::lang::XComponent::removeEventListener + /** removes an event listener from the listener list. + + <p>It is a "noop" if the specified listener is not registered.</p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + <p>If this <type scope="com::sun::star::lang">XComponent</type> is + already disposed when <member scope="com::sun::star::lang"> + XComponent::removeEventListener</member> is called, the call will not + fail with a <type scope="com::sun::star::lang">DisposedException</type>, + but will rather be ignored silently.</p> + + @see XComponent::addEventListener + */ + void removeEventListener( [in] XEventListener aListener ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/lang/XConnectionPoint.idl b/udkapi/com/sun/star/lang/XConnectionPoint.idl new file mode 100644 index 000000000000..7d20e9703465 --- /dev/null +++ b/udkapi/com/sun/star/lang/XConnectionPoint.idl @@ -0,0 +1,204 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XConnectionPoint_idl__ +#define __com_sun_star_lang_XConnectionPoint_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_XConnectionPointContainer_idl__ +#include <com/sun/star/lang/XConnectionPointContainer.idl> +#endif + +#ifndef __com_sun_star_lang_ListenerExistException_idl__ +#include <com/sun/star/lang/ListenerExistException.idl> +#endif + +#ifndef __com_sun_star_lang_InvalidListenerException_idl__ +#include <com/sun/star/lang/InvalidListenerException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from idl: interface com::sun::star::lang::XConnectionPoint +/** supports connection points for connectable objects. + + <p>Connectable objects support the following features: </p> + + <ul> + <li>outgoing interfaces, such as event sets; </li> + <li>the ability to enumerate the types of the outgoing interfaces; + <li>the ability to connect and disconnect sinks to the object + for those outgoing types; </li> + <li>the ability to enumerate the connections that exist to a + particular outgoing interface. </li> + </ul> + + <h4>When to Implement?<h4> + + <p>To create a connectable object, you need to implement objects + that provide two related interfaces: </p> + + <ul> + <li><type>XConnectionPointContainer</type> </li> + <li><type>XConnectionPoint</type> </li> + </ul> + + <p>The <type>XConnectionPointContainer</type> interface is implemented + on the connectable object to indicate the existence of the outgoing + interfaces. It provides a sequence of sub-objects. It also provides + access to all the connection point sub-objects, each of which + implements the <type>XConnectionPoint</type> interface. The + <type>XConnectionPoint</type> interface provides a sequence of + sub-objects. </p> + + <p>Each connection point is a separate sub-object to avoid circular + reference counting problems. A connection point controls how many + connections (one or more) it will allow in its implementation of + <member>XConnectionPoint::advise()</member>. </p> + + <h4>When to use?</h4> + + <p>A client can use the <type>XConnectionPointContainer</type> interface: </p> + + <UL> + + <LI>to get a sequence of connection points for each outgoing type. </LI> + + <LI>to obtain access to connection point sub-objects with the + <type>XConnectionPoint</type> interface for each + outgoing type. Through the XConnectionPoint interface, + a client starts or terminates an advisory loop with the + connectable object and the client's own sink. The + client can also use the <type>XConnectionPoint</type> + interface to get a sequence of the connections that it + knows about. </LI> + </UL> + + @see XConnectionPointContainer + */ +published interface XConnectionPoint: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::lang::XConnectionPoint::getConnectionType + /** @returns + the type of the outgoing interface managed by this + connection point. + + <p>Using the <member>XConnectionPointContainer::getConnectionPoints</member> + method, a client can obtain an <type>XConnectionPoint</type> + interface. Using that interface and this method, the client + can determine the type of each connection point enumerated. The + type returned from this method must enable the caller to access + this same connection point through + <member>XConnectionPointContainer::findConnectionPoint</member>. + + @see XConnectionPointContainer::findConnectionPoint + */ + type getConnectionType(); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::lang::XConnectionPoint::getConnectionPointContainer + /** @returns + the <type>XConnectionPointContainer</type> interface on + the parent connectable object. + + @see XConnectionPointContainer + */ + com::sun::star::lang::XConnectionPointContainer getConnectionPointContainer(); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::lang::XConnectionPoint::advise + /** creates a connection between a connection point and a + client's sink, where the sink implements the outgoing interface + supported by this connection point. + + <p>A few <code>add...Listener</code> methods need additional parameters + to add listeners or throw exceptions. One of these methods is + <member scope="com::sun::star::beans">XPropertySet::addPropertyChangeListener</member>. + We ignore the problem in this interface. A solution must be provided + in an additional <type>XConnectionPoint</type> interface. </p> + + @param xListener + specifies the listener interface on the client's advise sink. + The client's sink receives outgoing calls from the + connection point container. + + @throws ListenerExistException + if it is a unicast broadcaster and a listener is already set. + + @throws InvalidListenerException + if the listener does not supply the needed interfaces. + + @see com::sun::star::beans::XPropertySet::addPropertyChangeListener + */ + void advise( [in] com::sun::star::uno::XInterface xListener ) + raises( com::sun::star::lang::ListenerExistException, + com::sun::star::lang::InvalidListenerException ); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::lang::XConnectionPoint::unadvise + /** terminates a notification previously set up with advise. + + <p>A few <code>remove...Listener</code> methods need additional + parameters to add listeners or throw exceptions. One of these methods + is <member scope="com::sun::star::beans">XPropertySet::removePropertyChangeListener</member>. + We ignore the problem in this interface. A solution must be + provided in an additional <type>XConnectionPoint</type> interface. </p> + + @param listener + specifies the listener interface on the client's advise sink. + + @see com::sun::star::beans::XPropertySet::removePropertyChangeListener + */ + void unadvise( [in] com::sun::star::uno::XInterface xListener ); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::lang::XConnectionPoint::getConnections + /** @returns + a sequence of all currently advised connections. + */ + sequence<com::sun::star::uno::XInterface> getConnections(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/lang/XConnectionPointContainer.idl b/udkapi/com/sun/star/lang/XConnectionPointContainer.idl new file mode 100644 index 000000000000..d21f97161ac1 --- /dev/null +++ b/udkapi/com/sun/star/lang/XConnectionPointContainer.idl @@ -0,0 +1,118 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XConnectionPointContainer_idl__ +#define __com_sun_star_lang_XConnectionPointContainer_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module lang { + + published interface XConnectionPoint; + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::lang::XConnectionPointContainer +/** makes it possible to locate a specific connection point + for a specified UIK and manages a sequence of connections points. + + <p>An implementation of this interface <strong>must</strong> + support the <type scope="com::sun::star::uno">XWeak</type> interface. + Look at the language binding for a superclass or something else. </p> + + @see XConnectionPoint + @see com::sun::star::uno::XWeak + */ +published interface XConnectionPointContainer: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::lang::XConnectionPointContainer::getConnectionPointTypes + /** @returns + a sequence of all outgoing types; specifies which are supported + by this connectable object. + */ + sequence<type> getConnectionPointTypes(); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::lang::XConnectionPointContainer::queryConnectionPoint + /** @returns + an <type>XConnectionPoint</type> interface of a + connection point for a specified type if that type + describes a supported outgoing interface. It is + <const>NULL</const> on failure of the call. + + @param aType + specifies the connection point's type. + */ + XConnectionPoint queryConnectionPoint( [in] type aType ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::lang::XConnectionPointContainer::advise + /** creates a connection between this object and a + client's sink, where the sink implements the outgoing + interface specified with ID. + + <p>The interface is advised under the connection point you + get with <code>queryConnectionPoint( id )</code>. </p> + + <p>Use this method instead of the advise method at the + connection point, only if you know that the broadcaster supports + the outgoing interface, or if it does not matter that the + outgoing interface is not supported. </p> + + @see XConnectionPoint::advise + */ + [oneway] void advise( [in] type aType, + [in] com::sun::star::uno::XInterface xListener ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::lang::XConnectionPointContainer::unadvise + /** terminates a notification previously set up with + advise at the container or at the suitable connection point. + + @see XConnectionPoint::unadvise + */ + [oneway] void unadvise( [in] type aType, + [in] com::sun::star::uno::XInterface xListener ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/XEventListener.idl b/udkapi/com/sun/star/lang/XEventListener.idl new file mode 100644 index 000000000000..95128a6a78c6 --- /dev/null +++ b/udkapi/com/sun/star/lang/XEventListener.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XEventListener_idl__ +#define __com_sun_star_lang_XEventListener_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::lang::XEventListener +/** base interface for all event listeners interfaces. + */ +published interface XEventListener: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::lang::XEventListener::disposing + /** gets called when the broadcaster is about to be disposed. + + <p>All listeners and all other objects, which reference the + broadcaster should release the reference to the source. + No method should be invoked anymore on this object ( + including <member>XComponent::removeEventListener</member> ). + </p> + + <p>This method is called for every listener registration + of derived listener interfaced, not only for registrations + at <type>XComponent</type>. </p> + */ + void disposing( [in] com::sun::star::lang::EventObject Source ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/XInitialization.idl b/udkapi/com/sun/star/lang/XInitialization.idl new file mode 100644 index 000000000000..26a7b5e7a5bf --- /dev/null +++ b/udkapi/com/sun/star/lang/XInitialization.idl @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XInitialization_idl__ +#define __com_sun_star_lang_XInitialization_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::lang::XInitialization +/** initializes an object directly after its creation. + + <p>This interface works together with factories. If you want to + initialize the object after creation, you should + support this interface and you may support other interfaces + which offer type-safe initialization methods. </p> + + <p>Instead of calling <member>XSingleComponentFactory::createInstanceWithContext</member> + and later initialize(), you should call + <member>XSingleComponentFactory::createInstanceWithArgumentsAndContext</member> + to pass the arguments to the instance. The reason is, that a component may want to + return the same instance for the same set of parameters, and it can do so by implementing + the factory itself. + </p> + + */ +published interface XInitialization: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::lang::XInitialization::initialize + /** initializes the object. + + <p>It should be called directly after the object is created. + */ + void initialize( [in] sequence<any> aArguments ) + raises( com::sun::star::uno::Exception ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/XLocalizable.idl b/udkapi/com/sun/star/lang/XLocalizable.idl new file mode 100644 index 000000000000..b270d9ecdc73 --- /dev/null +++ b/udkapi/com/sun/star/lang/XLocalizable.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XLocalizable_idl__ +#define __com_sun_star_lang_XLocalizable_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_Locale_idl__ +#include <com/sun/star/lang/Locale.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::lang::XLocalizable +/** makes it possible to set a <type>Locale</type> to be used by the object. + */ +published interface XLocalizable: com::sun::star::uno::XInterface +{ + + // DocMerge from xml: method com::sun::star::lang::XLocalizable::setLocale + /** sets the locale to be used by this object. + */ + void setLocale( [in] Locale eLocale ); + + + // DocMerge from idl: method com::sun::star::lang::XLocalizable::getLocale + /** @returns + the locale, which is used by this object. + */ + Locale getLocale(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/XMain.idl b/udkapi/com/sun/star/lang/XMain.idl new file mode 100644 index 000000000000..85ce9b9e48ba --- /dev/null +++ b/udkapi/com/sun/star/lang/XMain.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XMain_idl__ +#define __com_sun_star_lang_XMain_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** Executing interface for executable components run by the uno executable + loader. This is an application to run components passing the command + line arguments. +*/ +published interface XMain: com::sun::star::uno::XInterface +{ + /** This method is called to run the component. + + @param aArguments + arguments passed to the component, + i.e. the command line arguments + @return + return value passed to be returned by main() + */ + long run( [in] sequence< string > aArguments ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/XMultiComponentFactory.idl b/udkapi/com/sun/star/lang/XMultiComponentFactory.idl new file mode 100644 index 000000000000..826b46257ce9 --- /dev/null +++ b/udkapi/com/sun/star/lang/XMultiComponentFactory.idl @@ -0,0 +1,90 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XMultiComponentFactory_idl__ +#define __com_sun_star_lang_XMultiComponentFactory_idl__ + +#ifndef __com_sun_star_uno_XComponentContext_idl__ +#include <com/sun/star/uno/XComponentContext.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +/** Factory interface for creating component instances giving a context from + which to retrieve deployment values. + + @see XInitialization +*/ +published interface XMultiComponentFactory : com::sun::star::uno::XInterface +{ + /** Creates an instance of a component which supports the + services specified by the factory. + + @param aServiceSpecifier + service name + @param Context + context the component instance gets its deployment values from + @return + component instance + */ + com::sun::star::uno::XInterface createInstanceWithContext( + [in] string aServiceSpecifier, + [in] com::sun::star::uno::XComponentContext Context ) + raises (com::sun::star::uno::Exception); + + /** Creates an instance of a component which supports the + services specified by the factory, and initializes the new instance + with the given arguments and context. + + @param ServiceSpecifier + service name + @param Arguments + arguments + @param Context + context the component instance gets its deployment values from + @return + component instance + */ + com::sun::star::uno::XInterface createInstanceWithArgumentsAndContext( + [in] string ServiceSpecifier, + [in] sequence<any> Arguments, + [in] com::sun::star::uno::XComponentContext Context ) + raises (com::sun::star::uno::Exception); + + /** Gets the names of all supported services. + + @returns + sequence of all service names + */ + sequence< string > getAvailableServiceNames(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/lang/XMultiServiceFactory.idl b/udkapi/com/sun/star/lang/XMultiServiceFactory.idl new file mode 100644 index 000000000000..73ed89b21b4c --- /dev/null +++ b/udkapi/com/sun/star/lang/XMultiServiceFactory.idl @@ -0,0 +1,97 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XMultiServiceFactory_idl__ +#define __com_sun_star_lang_XMultiServiceFactory_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** Factories support this interface creating instances giving a name, + e.g. a service name. + + <p> + Note: + Although this interface deals with the notion of "services", this is not + generally be meant. In general this interface can be used for all kinds + of factories for all kinds of instances, indeed not only UNO services. + </p> +*/ +published interface XMultiServiceFactory: com::sun::star::uno::XInterface +{ + /** Creates an instance classified by the specified name. + + @param aServiceSpecifier + classified name of instance + @return + instance + */ + com::sun::star::uno::XInterface createInstance( [in] string aServiceSpecifier ) + raises( com::sun::star::uno::Exception ); + + /** Creates an instance classified by the specified name and passes the arguments + to that instance. + + @param ServiceSpecifier + classified name of instance + @param Arguments + arguments passed to the instance + @return + instance + */ + com::sun::star::uno::XInterface createInstanceWithArguments( + [in] string ServiceSpecifier, + [in] sequence<any> Arguments ) + raises( com::sun::star::uno::Exception ); + + /** Provides the available names of the factory to be used to create instances. + + @returns + sequence of all names + */ + sequence<string> getAvailableServiceNames(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/XServiceDisplayName.idl b/udkapi/com/sun/star/lang/XServiceDisplayName.idl new file mode 100644 index 000000000000..6715bc7e1212 --- /dev/null +++ b/udkapi/com/sun/star/lang/XServiceDisplayName.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XServiceDisplayName_idl__ +#define __com_sun_star_lang_XServiceDisplayName_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_Locale_idl__ +#include <com/sun/star/lang/Locale.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= +/** provides a name for the service to be used in displays. + + <p>This name can be used in displays (dialogs, menus, etc.) to provide + a more memorable / meaningful name than the service name or its + implementation name. It should not be used to identify / select a + specific service / implementation.</p> + */ +published interface XServiceDisplayName : ::com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns the display name of the service for a given language. + + <p>The caller may specify a + <type scope="com::sun::star::lang">Locale</type> for the preferred + language of the resulting string. + However, if that locale is not supported the resulting string may + be given in a different language. Usually this should be English.</p> + + @param aLocale + the preferred language for the resulting display name. + + @returns + the string to be used for the service in displays. + */ + string getServiceDisplayName( + [in] ::com::sun::star::lang::Locale aLocale ); +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/udkapi/com/sun/star/lang/XServiceInfo.idl b/udkapi/com/sun/star/lang/XServiceInfo.idl new file mode 100644 index 000000000000..42f09f85e666 --- /dev/null +++ b/udkapi/com/sun/star/lang/XServiceInfo.idl @@ -0,0 +1,79 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XServiceInfo_idl__ +#define __com_sun_star_lang_XServiceInfo_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** Provides information regarding the implementation, i.e. which services + are implemented and the name of the implementation. +*/ +published interface XServiceInfo: com::sun::star::uno::XInterface +{ + /** Provides the implementation name of the service implementation. + + @returns + unique name of the implementation + */ + string getImplementationName(); + + /** Tests whether the specified service is supported, i.e. implemented + by the implementation. + + @param ServiceName + name of service to be tested + @return + true, if service is supported, false otherwise + */ + boolean supportsService( [in] string ServiceName ); + + /** Provides the supported service names of the implementation, including + also indirect service names. + + @return + sequence of service names that are supported + */ + sequence<string> getSupportedServiceNames(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/XServiceName.idl b/udkapi/com/sun/star/lang/XServiceName.idl new file mode 100644 index 000000000000..ec4910e2a97f --- /dev/null +++ b/udkapi/com/sun/star/lang/XServiceName.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XServiceName_idl__ +#define __com_sun_star_lang_XServiceName_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module lang { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::lang::XServiceName +/** identifies the object with a service name which can be used to create + such an object by a factory. + */ +published interface XServiceName: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::lang::XServiceName::getServiceName + /** @returns + the service name that can be used to create such an object + by a factory. + + @see com::sun::star::io::XPersistObject::getServiceName + */ + string getServiceName(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/lang/XSingleComponentFactory.idl b/udkapi/com/sun/star/lang/XSingleComponentFactory.idl new file mode 100644 index 000000000000..776003591d93 --- /dev/null +++ b/udkapi/com/sun/star/lang/XSingleComponentFactory.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XSingleComponentFactory_idl__ +#define __com_sun_star_lang_XSingleComponentFactory_idl__ + +#ifndef __com_sun_star_uno_XComponentContext_idl__ +#include <com/sun/star/uno/XComponentContext.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +/** Factory interface to create instances of an implementation of a service + specification. + + @see XInitialization +*/ +published interface XSingleComponentFactory : com::sun::star::uno::XInterface +{ + /** Creates an instance of a service implementation. + + @param Context + the instance gets its deployment values from this + @return + component instance + */ + com::sun::star::uno::XInterface createInstanceWithContext( + [in] com::sun::star::uno::XComponentContext Context ) + raises (com::sun::star::uno::Exception); + + /** Creates an instance of a component and initializes the new instance + with the given arguments and context. + + @param Arguments + arguments passed to implementation + @param Context + the instance gets its deployment values from this + @return + component instance + */ + com::sun::star::uno::XInterface createInstanceWithArgumentsAndContext( + [in] sequence<any> Arguments, + [in] com::sun::star::uno::XComponentContext Context ) + raises( com::sun::star::uno::Exception ); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/lang/XSingleServiceFactory.idl b/udkapi/com/sun/star/lang/XSingleServiceFactory.idl new file mode 100644 index 000000000000..e8b246394ce1 --- /dev/null +++ b/udkapi/com/sun/star/lang/XSingleServiceFactory.idl @@ -0,0 +1,82 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XSingleServiceFactory_idl__ +#define __com_sun_star_lang_XSingleServiceFactory_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** Factory interface to produce instances of an implementation + of a service specification. + + This interface is deprecated. Please use <type>XSingleComponentFactory</type>. + + @see XInitialization + @deprecated +*/ +published interface XSingleServiceFactory: com::sun::star::uno::XInterface +{ + /** Creates an instance of a service implementation. + + @return + service instance + */ + com::sun::star::uno::XInterface createInstance() + raises( com::sun::star::uno::Exception ); + + /** Creates an instance of a service implementation initialized with + some arguments. + + @param aArguments + arguments passed to implementation + @return + service instance + */ + com::sun::star::uno::XInterface createInstanceWithArguments( [in] sequence<any> aArguments ) + raises( com::sun::star::uno::Exception ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/XTypeProvider.idl b/udkapi/com/sun/star/lang/XTypeProvider.idl new file mode 100644 index 000000000000..95b70e4febaf --- /dev/null +++ b/udkapi/com/sun/star/lang/XTypeProvider.idl @@ -0,0 +1,79 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XTypeProvider_idl__ +#define __com_sun_star_lang_XTypeProvider_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** interface to get information about the types + (usually interface types) supported by an object. + */ +published interface XTypeProvider: com::sun::star::uno::XInterface +{ + + /** returns + a sequence of all types (usually interface types) provided by the object. + Important: If the object aggregates other objects the sequence also has + to contain all types supported by the aggregated objects. + */ + sequence<type> getTypes(); + + + /** returns + a sequence of bytes with length > 0 that is used as an Id to distinguish + unambiguously between two sets of types, e.g. to realise hashing + functionality when the object is introspected. Two objects that return + the same UUID also have to return the same set of types in getTypes(). + + If a unique implementation Id cannot be provided this method has to return + an empty sequence. + + Important: If the object aggregates other objects the UUID has to be unique + for the whole combination of objects. + */ + sequence<byte> getImplementationId(); +}; + +//============================================================================= + +}; }; }; }; + +#endif + + diff --git a/udkapi/com/sun/star/lang/XUnoTunnel.idl b/udkapi/com/sun/star/lang/XUnoTunnel.idl new file mode 100644 index 000000000000..c3fc7522a968 --- /dev/null +++ b/udkapi/com/sun/star/lang/XUnoTunnel.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_lang_XUnoTunnel_idl__ +#define __com_sun_star_lang_XUnoTunnel_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + + +//============================================================================= + +module com { module sun { module star { module lang { + +//============================================================================= + +/** An interface to tunnel UNO. This means providing access to data or + something else, which is not specified by UNO-IDL. + + @attention + Restrictive useage. Use only, if there is no better possibility left. + It is definitely a hack. + + <p> + Common usage: + Getting a C++ object pointer in the same process, thus to use an + implementation directly, most often because of a design flaw. + </p> +*/ +published interface XUnoTunnel: com::sun::star::uno::XInterface +{ + /** Call this method to get something which is not specified in UNO, e.g. + an address to some C++ object. + + @attention + The identifier specifies how the return value is to be reinterpreted. + The identifier must be globally unique, because it is unknown where + the implementation resides. + + @param aIdentifier + identifier + @return + something + */ + hyper getSomething( [in] sequence< byte > aIdentifier ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/lang/makefile.mk b/udkapi/com/sun/star/lang/makefile.mk new file mode 100644 index 000000000000..b0a2d81725d5 --- /dev/null +++ b/udkapi/com/sun/star/lang/makefile.mk @@ -0,0 +1,83 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=csslang +PACKAGE=com$/sun$/star$/lang + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + ArrayIndexOutOfBoundsException.idl\ + ClassNotFoundException.idl\ + DisposedException.idl\ + EventObject.idl\ + IllegalAccessException.idl\ + IllegalArgumentException.idl\ + IndexOutOfBoundsException.idl\ + InvalidListenerException.idl\ + ListenerExistException.idl\ + Locale.idl\ + MultiServiceFactory.idl\ + NoSuchFieldException.idl\ + NoSuchMethodException.idl\ + NoSupportException.idl\ + NotInitializedException.idl\ + NullPointerException.idl\ + RegistryServiceManager.idl\ + ServiceManager.idl\ + ServiceNotRegisteredException.idl\ + SystemDependent.idl\ + WrappedTargetException.idl\ + WrappedTargetRuntimeException.idl\ + XComponent.idl\ + XConnectionPoint.idl\ + XConnectionPointContainer.idl\ + XEventListener.idl\ + XInitialization.idl\ + XLocalizable.idl\ + XMultiServiceFactory.idl\ + XMultiComponentFactory.idl\ + XServiceDisplayName.idl\ + XServiceInfo.idl\ + XServiceName.idl\ + XSingleServiceFactory.idl\ + XSingleComponentFactory.idl\ + XTypeProvider.idl\ + XUnoTunnel.idl\ + XMain.idl\ + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/loader/CannotActivateFactoryException.idl b/udkapi/com/sun/star/loader/CannotActivateFactoryException.idl new file mode 100644 index 000000000000..aaae21e4234f --- /dev/null +++ b/udkapi/com/sun/star/loader/CannotActivateFactoryException.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_loader_CannotActivateFactoryException_idl__ +#define __com_sun_star_loader_CannotActivateFactoryException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module loader { + +//============================================================================= + +/** indicates an error during component activation + <p> This exception is thrown when an application tries to + activate a component factory using the + <member>XImplementationLoader::activate()</member> + method, but the component factory can not be activated. + <p> + Possible reasons for this error is a missing shared library or .jar file, + a badly linked library, a wrong LD_LIBRARY_PATH or PATH, an incomplete + classpath, or a missing java installation. The Message should + contain some more detailed explanations. + */ +published exception CannotActivateFactoryException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/loader/Dynamic.idl b/udkapi/com/sun/star/loader/Dynamic.idl new file mode 100644 index 000000000000..800064c3050b --- /dev/null +++ b/udkapi/com/sun/star/loader/Dynamic.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_loader_SharedLibrary_idl__ +#define __com_sun_star_loader_SharedLibrary_idl__ + +#ifndef __com_sun_star_lang_XServiceInfo_idl_idl__ +#include <com/sun/star/lang/XServiceInfo.idl> +#endif + +module com { module sun { module star { module loader { + + published interface XImplementationLoader; + + +/** makes it possible to access services accessible via a <code>UnoUrlResolver</code> + E.g., instantiation of services in another process. This service is still in an + experimental state and should not be used in a production environment. + */ +published service Dynamic +{ + /** is used to write persistent information into the given registry + for accessing a <code>SingleServiceFactory</code> and for activating this + implementation. + */ + /** allows registration and activation of described service. + The url parameter has to be a comma-separated list of attributes. + The following attribute types are understood: + servicename = the service name to register this component under + link = a parameter given to a resolver to get a <code>SingleServiceFactory</code> + resolver = a <code>UnoUrlResolver</code> service, which is used to resolve the link + */ + interface XImplementationLoader; + + + /** gives information about other supported services + */ + interface com::sun::star::lang::XServiceInfo; +}; + +}; }; }; }; + +#endif + diff --git a/udkapi/com/sun/star/loader/Java.idl b/udkapi/com/sun/star/loader/Java.idl new file mode 100644 index 000000000000..43ca17300bfe --- /dev/null +++ b/udkapi/com/sun/star/loader/Java.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_loader_Java_idl__ +#define __com_sun_star_loader_Java_idl__ + +#ifndef __com_sun_star_lang_XServiceInfo_idl_idl__ +#include <com/sun/star/lang/XServiceInfo.idl> +#endif + + module com { module sun { module star { module loader { + + published interface XImplementationLoader; + + +// DocMerge from xml: service com::sun::star::loader::Java +/** allows to access a java component stored with a .jar file + */ +published service Java +{ + + /** is used for writing persistent information in the registry for + external implementation and for activating this implementation. The + locationUrls must be absolute file urls. + */ + interface XImplementationLoader; + + + /** gives information about other supported services + */ + interface com::sun::star::lang::XServiceInfo; +}; + + +}; }; }; }; + +/*===================================================================== + + Source Code Control System - Update + +=====================================================================*/ +#endif + diff --git a/udkapi/com/sun/star/loader/Java2.idl b/udkapi/com/sun/star/loader/Java2.idl new file mode 100644 index 000000000000..4e0c2ff2546a --- /dev/null +++ b/udkapi/com/sun/star/loader/Java2.idl @@ -0,0 +1,51 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_loader_Java2_idl__ +#define __com_sun_star_loader_Java2_idl__ + +#ifndef __com_sun_star_loader_Java_idl__ +#include <com/sun/star/loader/Java.idl> +#endif + + +module com { module sun { module star { module loader { +/**the same as <type scope="com::sun::star::loader">Java</type>. +<p>This service was introduced for UNO 3 components. The then +<type scope="com::sun::star::loader">Java</type> service was intended for +UNO 2 components. Since UNO 2 is not supported anymore, the service +name is reused again. +*/ +published service Java2 +{ + service Java; + +}; + + +}; }; }; }; +#endif + diff --git a/udkapi/com/sun/star/loader/SharedLibrary.idl b/udkapi/com/sun/star/loader/SharedLibrary.idl new file mode 100644 index 000000000000..29362851cba6 --- /dev/null +++ b/udkapi/com/sun/star/loader/SharedLibrary.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_loader_SharedLibrary_idl__ +#define __com_sun_star_loader_SharedLibrary_idl__ + +#ifndef __com_sun_star_lang_XServiceInfo_idl_idl__ +#include <com/sun/star/lang/XServiceInfo.idl> +#endif + + module com { module sun { module star { module loader { + + published interface XImplementationLoader; + + +/** allows to access a native component stored in a shared library. + */ +published service SharedLibrary +{ + + /** is used for writing persistent information in the registry for + an external implementation and for activating this + implementation. + */ + interface XImplementationLoader; + + + /** gives information about other supported services + */ + interface com::sun::star::lang::XServiceInfo; +}; + +}; }; }; }; //module com.sun.star.loader + +/*===================================================================== + + Source Code Control System - Update + +=====================================================================*/ +#endif + diff --git a/udkapi/com/sun/star/loader/XImplementationLoader.idl b/udkapi/com/sun/star/loader/XImplementationLoader.idl new file mode 100644 index 000000000000..837c31867895 --- /dev/null +++ b/udkapi/com/sun/star/loader/XImplementationLoader.idl @@ -0,0 +1,123 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_loader_XImplementationLoader_idl__ +#define __com_sun_star_loader_XImplementationLoader_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_registry_XRegistryKey_idl__ +#include <com/sun/star/registry/XRegistryKey.idl> +#endif + +#ifndef __com_sun_star_registry_CannotRegisterImplementationException_idl__ +#include <com/sun/star/registry/CannotRegisterImplementationException.idl> +#endif + +#ifndef __com_sun_star_loader_CannotActivateFactoryException_idl__ +#include <com/sun/star/loader/CannotActivateFactoryException.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module loader { + +//============================================================================= + +/** handles activation (loading) of a UNO component. + @see com::sun::star::registry::XImplementationRegistration + */ +published interface XImplementationLoader: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** activates a concrete implementation within a component. + @param implementationName The name of the implementation, + which shall be instantiated. The method + <member>XImplementationLoader::writeRegistryInfo</member> + writes a list of implementation names hosted by this component. + @param implementationLoaderUrl specification bug, ignore this parameter, please + pass an empty string. + @param locationUrl Points to the location of the file containing + the component (for instance a .jar-file or a shared library). + This parameter + should be in an URL format (= protocol:protocol-dependent-part). + In case the string contains no + leading "protocol:", the implementation in general assumes, + that it is a relative file url. <p>Special loaders may define + their own protocol (for instance an executable loader may need + more than only one file url). + + @param xKey A registry which may be used to read static data previously + written via <method>XImplementationLoader::writeRegistryInfo()</method>. + The use of this parameter is deprecated. + + @return returns a factory interface, which allows to create an instance of + the concrete implementation. In general, the object supports a + <type scope="com::sun::star::lang">XSingleComponentFactory</type> + and the <type scope="com::sun::star::lang">XServiceInfo</type> interface. The + XServiceInfo interface informs about the capabilities of the + service implementation, not the factory itself. + */ + com::sun::star::uno::XInterface activate( [in] string implementationName, + [in] string implementationLoaderUrl, + [in] string locationUrl, + [in] com::sun::star::registry::XRegistryKey xKey ) + raises( com::sun::star::loader::CannotActivateFactoryException ); + + //------------------------------------------------------------------------- + /** writes a list of all implementations hosted by this component into a registry key. + <p>This method is called during registering a component. + @param xKey The registry key, which shall be used to write for each + implementation the implementation name plus a list of supported + services. + @param implementationLoaderUrl specification bug, ignore this parameter, please + pass an empty string. + @param locationUrl Points to the location of the file containing + the component (for instance a .jar-file or a shared library). + This parameter + should be in an URL format (= protocol:protocol-dependent-part). + In case the string contains no + leading "protocol:", the implementation in general assumes, + that it is a relative file url. <p>Special loaders may define + their own protocol (for instance an executable loader may need + more than only one file url). + @see com::sun::star::registry::XImplementationRegistration + */ + boolean writeRegistryInfo( [in] com::sun::star::registry::XRegistryKey xKey, + [in] string implementationLoaderUrl, + [in] string locationUrl ) + raises( com::sun::star::registry::CannotRegisterImplementationException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/loader/makefile.mk b/udkapi/com/sun/star/loader/makefile.mk new file mode 100644 index 000000000000..3f3641b0df34 --- /dev/null +++ b/udkapi/com/sun/star/loader/makefile.mk @@ -0,0 +1,51 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssloader +PACKAGE=com$/sun$/star$/loader + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + CannotActivateFactoryException.idl\ + Java.idl\ + Java2.idl\ + Dynamic.idl\ + SharedLibrary.idl\ + XImplementationLoader.idl\ + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/makefile.mk b/udkapi/com/sun/star/makefile.mk new file mode 100644 index 000000000000..ab74a150fd35 --- /dev/null +++ b/udkapi/com/sun/star/makefile.mk @@ -0,0 +1,46 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/.. + +PRJNAME=api + +TARGET=css +PACKAGE=com$/sun$/star + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + udk-modules.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/reflection/CoreReflection.idl b/udkapi/com/sun/star/reflection/CoreReflection.idl new file mode 100644 index 000000000000..3398897c1984 --- /dev/null +++ b/udkapi/com/sun/star/reflection/CoreReflection.idl @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_CoreReflection_idl__ +#define __com_sun_star_reflection_CoreReflection_idl__ + +#ifndef __com_sun_star_reflection_XIdlReflection_idl__ +#include <com/sun/star/reflection/XIdlReflection.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** This service is the implementation of the reflection API. + You can obtain information about types, modify values of reflected types + and call on objects. +*/ +published service CoreReflection +{ + /** Interface to reflect types. + */ + interface com::sun::star::reflection::XIdlReflection; + + /** CoreReflection has to be disposed if possible + */ + [optional] interface com::sun::star::lang::XComponent; +}; + +/** Accessable singleton to CoreReflection instance. +singleton theCoreReflection +{ + service CoreReflection; +}; +*/ + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/FieldAccessMode.idl b/udkapi/com/sun/star/reflection/FieldAccessMode.idl new file mode 100644 index 000000000000..233c6c74b5d4 --- /dev/null +++ b/udkapi/com/sun/star/reflection/FieldAccessMode.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_FieldAccessMode_idl__ +#define __com_sun_star_reflection_FieldAccessMode_idl__ + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Denotes the access possibilities via <type>XIdlField2</type> to an + interface attribute, enum or compound type (struct/exception). +*/ +published enum FieldAccessMode +{ + /** readable and writeable + */ + READWRITE, + /** readable only + */ + READONLY, + /** writeable only + */ + WRITEONLY, + /** Deprecated. Not used anymore. + @deprecated + */ + CONST +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/InvalidTypeNameException.idl b/udkapi/com/sun/star/reflection/InvalidTypeNameException.idl new file mode 100644 index 000000000000..783763254a98 --- /dev/null +++ b/udkapi/com/sun/star/reflection/InvalidTypeNameException.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_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. + + @since OOo 1.1.2 + */ +published exception InvalidTypeNameException : com::sun::star::uno::Exception +{ +}; + + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/InvocationTargetException.idl b/udkapi/com/sun/star/reflection/InvocationTargetException.idl new file mode 100644 index 000000000000..cbc3e9aec5be --- /dev/null +++ b/udkapi/com/sun/star/reflection/InvocationTargetException.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_InvocationTargetException_idl__ +#define __com_sun_star_reflection_InvocationTargetException_idl__ + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** This exception denotes a checked exception (wrapping an originating exception) + and may be thrown upon using invocation API. + + @see XIdlMethod +*/ +published exception InvocationTargetException: com::sun::star::lang::WrappedTargetException +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/MethodMode.idl b/udkapi/com/sun/star/reflection/MethodMode.idl new file mode 100644 index 000000000000..c5b2afe2c0de --- /dev/null +++ b/udkapi/com/sun/star/reflection/MethodMode.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_MethodMode_idl__ +#define __com_sun_star_reflection_MethodMode_idl__ + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** MethodMode denotes the mode in which method calls are run, i.e. either oneway or + twoway. Mode oneway denotes that a call may be run asynchronously + (thus having no out parameters or return value) +*/ +published enum MethodMode +{ + /** method may be run asynchronously + */ + ONEWAY, + + /** method is run The + */ + TWOWAY +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#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..b553d4d0aedc --- /dev/null +++ b/udkapi/com/sun/star/reflection/NoSuchTypeNameException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_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. + + @since OOo 1.1.2 + */ +published exception NoSuchTypeNameException : com::sun::star::uno::Exception +{ +}; + + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/ParamInfo.idl b/udkapi/com/sun/star/reflection/ParamInfo.idl new file mode 100644 index 000000000000..e3510a7502ea --- /dev/null +++ b/udkapi/com/sun/star/reflection/ParamInfo.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_ParamInfo_idl__ +#define __com_sun_star_reflection_ParamInfo_idl__ + +#ifndef __com_sun_star_reflection_ParamMode_idl__ +#include <com/sun/star/reflection/ParamMode.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + + published interface XIdlClass; + +//============================================================================= + +/** Provides information about a formal parameter of a method. +*/ +published struct ParamInfo +{ + /** name of the parameter + */ + string aName; + + /** parameter mode: in, out, inout + */ + ParamMode aMode; + + /** formal type of the parameter + */ + XIdlClass aType; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/ParamMode.idl b/udkapi/com/sun/star/reflection/ParamMode.idl new file mode 100644 index 000000000000..a14157eb603c --- /dev/null +++ b/udkapi/com/sun/star/reflection/ParamMode.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_ParamMode_idl__ +#define __com_sun_star_reflection_ParamMode_idl__ + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** The parameter mode denotes the transfer between caller and callee + of a method. +*/ +published enum ParamMode +{ + /** parameter serves as pure input for a called method + */ + IN, + + /** parameter serves as pure output for the callee (in addition to the return value) + */ + OUT, + + /** parameter serves as input as well as output; data can transferred in both directions + */ + INOUT + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/ProxyFactory.idl b/udkapi/com/sun/star/reflection/ProxyFactory.idl new file mode 100644 index 000000000000..872a9b8529b3 --- /dev/null +++ b/udkapi/com/sun/star/reflection/ProxyFactory.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_ProxyFactory_idl__ +#define __com_sun_star_reflection_ProxyFactory_idl__ + +#ifndef __com_sun_star_reflection_XProxyFactory_idl__ +#include <com/sun/star/reflection/XProxyFactory.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Service to create proxy objects acting on behalf of a given + target object.<br> + A proxy delegates calls to a given target object. + In addition, it is aggregatable, thus it is possible to + intercept calls on the proxy's interfaces. + + @attention + A proxy object is UNO conform, but does NOT provide original target + interfaces on queryInterface() calls. This may lead to problems + regarding object identity, e.g. when dealing with listener proxies. + + @deprecated + Aggregation will no longer be supported as a high-level concept of UNO. + You may still have the option to implement an UNO object consisting of + several single objects in your specific programming language, though this + depends on your programming language. + Thus this service is deprecated, too. +*/ +published service ProxyFactory +{ + /** Factory interface to produce proxies + */ + interface com::sun::star::reflection::XProxyFactory; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl b/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl new file mode 100644 index 000000000000..77dd99f6b2a5 --- /dev/null +++ b/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl @@ -0,0 +1,125 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_TypeDescriptionManager_idl__ +#define __com_sun_star_reflection_TypeDescriptionManager_idl__ + +#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__ +#include <com/sun/star/container/XHierarchicalNameAccess.idl> +#endif + +#ifndef __com_sun_star_container_XSet_idl__ +#include <com/sun/star/container/XSet.idl> +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_reflection_XTypeDescriptionEnumerationAccess_idl__ +#include <com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** This service manages type descriptions and acts as a central access point + to every type description. It delegates calls for demanded types to + subsequent + <type scope="com::sun::star::reflection">TypeDescriptionProvider</type>s + and may cache type descriptions.<br> + Using cppuhelper's bootstrapping routines bootstrapping an initial + component context, there is a singleton accessable via key + "/singletons/com.sun.star.reflection.theTypeDescriptionManager". + This singleton object is hooked into the C UNO runtime typelib and + lives until the context is shut down.<br> + + @see com::sun::star::reflection::TypeDescriptionProvider + @see com::sun::star::reflection::XTypeDescription +*/ +published service TypeDescriptionManager +{ + /** Interface to retrieve type descriptions. + + <ul> + <li>Names are given in dotted notation, for example + <code>"com.sun.star.uno.XInterface"</code>.</li> + + <li>Sequence types are accessible via + <code>"[]<var>ComponentType</var>"</code></li> + + <li>Instantiated polymorphic struct types are accessible via + <code>"<var>StructType</var><<!-- + --><var>Parameter</var><sub>1</sub>,…,<!-- + --><var>Parameter</var><sub><var>n</var></sub>>"</code>.</li> + + <li>Members of interface types are accessible via + <code>"<var>InterfaceType</var>::<var>Member</var>"</code>.</li> + </ul> + + <p>The returned values are of interface type + <type>XTypeDescription</type>.</p> + + <p>Even though the name of this interface suggests that the used type + names are hierarchic, this need not be the case. (For example, consider + the names of instantiated polymorphic struct types, like + <code>"Struct<long>"</code>.)</p> + */ + 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> + + @since OOo 1.1.2 + */ + [optional] interface XTypeDescriptionEnumerationAccess; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/TypeDescriptionProvider.idl b/udkapi/com/sun/star/reflection/TypeDescriptionProvider.idl new file mode 100644 index 000000000000..c99217a807fb --- /dev/null +++ b/udkapi/com/sun/star/reflection/TypeDescriptionProvider.idl @@ -0,0 +1,90 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_TypeDescriptionProvider_idl__ +#define __com_sun_star_reflection_TypeDescriptionProvider_idl__ + +#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__ +#include <com/sun/star/container/XHierarchicalNameAccess.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_reflection_XTypeDescriptionEnumerationAccess_idl__ +#include <com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** This service provides type descriptions, i.e. concrete + service implementations read from source like the persistent registry + database format.<br> + + @see com::sun::star::reflection::TypeDescriptionManager + @see com::sun::star::reflection::XTypeDescription +*/ +published service TypeDescriptionProvider +{ + /** Interface to retrieve type descriptions. + + <p>Names are given in dotted notation, for example + <code>"com.sun.star.uno.XInterface"</code>. The returned values are of + interface type <type>XTypeDescription</type>.</p> + + <p>Even though the name of this interface suggests that the used type + names are hierarchic, this need not be the case.</p> + */ + 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> + + @since OOo 1.1.2 + */ + [optional] interface XTypeDescriptionEnumerationAccess; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/TypeDescriptionSearchDepth.idl b/udkapi/com/sun/star/reflection/TypeDescriptionSearchDepth.idl new file mode 100644 index 000000000000..b49d7ba3c019 --- /dev/null +++ b/udkapi/com/sun/star/reflection/TypeDescriptionSearchDepth.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_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. + + @since OOo 1.1.2 + */ +published 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/XArrayTypeDescription.idl b/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl new file mode 100644 index 000000000000..9719376f16ac --- /dev/null +++ b/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl @@ -0,0 +1,78 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XArrayTypeDescription_idl__ +#define __com_sun_star_reflection_XArrayTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Deprecated. Arrays are not supported. + Reflects a fixed-size array type. + The type class of this description is TypeClass_ARRAY. + + @deprecated +*/ +published interface XArrayTypeDescription: com::sun::star::reflection::XTypeDescription +{ + /** Returns the element type of the array. + + @return + element type of the array + */ + com::sun::star::reflection::XTypeDescription getType(); + + /** Returns the number of dimensions of the array. + + @return + dimension of the array + */ + long getNumberOfDimensions(); + + /** Returns dimensions of array (same length as getNumberOfDimensions()). + + @return + dimensions of array + */ + sequence< long > getDimensions(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XCompoundTypeDescription.idl b/udkapi/com/sun/star/reflection/XCompoundTypeDescription.idl new file mode 100644 index 000000000000..4ac232067452 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XCompoundTypeDescription.idl @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XCompoundTypeDescription_idl__ +#define __com_sun_star_reflection_XCompoundTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects a compound type, i.e. a struct or exception. + + <p>For struct types, this type is superseded by + <type>XStructTypeDescription</type>, which supports polymorphic struct + types.</p> +*/ +published interface XCompoundTypeDescription: com::sun::star::reflection::XTypeDescription +{ + /** Returns the type of the base type of the compound type. + If the compound does not have a base type, the method returns a null interface. + + @return + base interface or null + */ + com::sun::star::reflection::XTypeDescription getBaseType(); + + /** Returns the member types of the struct/exception in IDL declaration order. + + <p>For a polymorphic struct type template, a member of parameterized + type is represented by an instance of + <type scope="com::sun::star::reflection::">XTypeDescription</type> whose + type class is <code>UNKNOWN</code> and whose name is the name of the + type parameter.</p> + + @return + members of struct/exception + */ + sequence<com::sun::star::reflection::XTypeDescription> getMemberTypes(); + + /** Returns the member names of the struct/exception in IDL declaration order. + + @return + members names of struct/exception + */ + sequence<string> getMemberNames(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XConstantTypeDescription.idl b/udkapi/com/sun/star/reflection/XConstantTypeDescription.idl new file mode 100644 index 000000000000..e830a191bb6e --- /dev/null +++ b/udkapi/com/sun/star/reflection/XConstantTypeDescription.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XConstantTypeDescription_idl__ +#define __com_sun_star_reflection_XConstantTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects a constant. + + <p>The type class of this type is + <member scope="com::sun::star::uno">TypeClass::CONSTANT</member>. + + <p>Constants may be contained in constants groups and modules. + + @see XModuleTypeDescription + @see XConstantsTypeDescription + + @since OOo 1.1.2 + + */ +published interface XConstantTypeDescription : com::sun::star::reflection::XTypeDescription +{ + /** @return the value of the constant. + + <p>Following types are allowed for constants: + <ul> + <li>boolean + <li>byte + <li>short + <li>unsigned short + <li>long + <li>unsigned long + <li>hyper + <li>unsigned hyper + <li>float + <li>double + </ul> + */ + any getConstantValue(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XConstantsTypeDescription.idl b/udkapi/com/sun/star/reflection/XConstantsTypeDescription.idl new file mode 100644 index 000000000000..438413614d98 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XConstantsTypeDescription.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XConstantsTypeDescription_idl__ +#define __com_sun_star_reflection_XConstantsTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XConstantTypeDescription_idl__ +#include <com/sun/star/reflection/XConstantTypeDescription.idl> +#endif + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects a constants group. + + <p>The type class of this type is + <member scope="com::sun::star::uno">TypeClass::CONSTANTS</member>. + + @since OOo 1.1.2 + */ +published interface XConstantsTypeDescription : com::sun::star::reflection::XTypeDescription +{ + /** Returns the contstants defined for this constants group. + + @return a sequence containing constants descriptions. + */ + sequence< XConstantTypeDescription > getConstants(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XEnumTypeDescription.idl b/udkapi/com/sun/star/reflection/XEnumTypeDescription.idl new file mode 100644 index 000000000000..8226b9e21361 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XEnumTypeDescription.idl @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XEnumTypeDescription_idl__ +#define __com_sun_star_reflection_XEnumTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects an enum type. +*/ +published interface XEnumTypeDescription: com::sun::star::reflection::XTypeDescription +{ + /** Returns the default enum value. + + @return + default enum value + */ + long getDefaultEnumValue(); + + /** Returns the enum member values. + + @return + enum member values + */ + sequence<string> getEnumNames(); + + /** Returns the enum member names. + + @return + enum member names + */ + sequence<long> getEnumValues(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XIdlArray.idl b/udkapi/com/sun/star/reflection/XIdlArray.idl new file mode 100644 index 000000000000..702201642d2e --- /dev/null +++ b/udkapi/com/sun/star/reflection/XIdlArray.idl @@ -0,0 +1,134 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XIdlArray_idl__ +#define __com_sun_star_reflection_XIdlArray_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_ArrayIndexOutOfBoundsException_idl__ +#include <com/sun/star/lang/ArrayIndexOutOfBoundsException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects an IDL sequence and provides dynamic access to instances of + that sequence. + This interface supports widening conversion when getting or setting elements. + + @attention + Although the name of this interface denotes arrays, + sequences are meant. Don't be obfuscated, arrays are not supported by UNO! +*/ +published interface XIdlArray: com::sun::star::uno::XInterface +{ + /** Rellocates the length of the sequence instance. + + @param array + sequence instance + @length + new length of sequence + */ + void realloc( + [inout] any array, + [in] long length ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Returns the length of the given sequence. + + @param array + sequence instance + @return + length of sequence + */ + long getLen( [in] any array ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Returns element at given index. + + @param aArray + sequence instance + @param nIndex + index + @return + value + + @throws IllegalArgumentException + if the specified object is not a sequence or if the specified object is null + + @throws ArrayIndexOutOfBoundsException + if the specified index argument is negative, or if it is greater than or equal to the + length of the specified sequence. + */ + any get( + [in] any aArray, + [in] long nIndex ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::ArrayIndexOutOfBoundsException ); + + /** Sets a new value at given index. + + @param aArray + sequence instance + @param nIndex + index + @param aNewValue + new value to be set + + @throws IllegalArgumentException + if the specified object is not a sequence or if the specified object is null + + @throws ArrayIndexOutOfBoundsException + if the specified index argument is negative, or if it is greater than or equal to the + length of the specified sequence. + */ + void set( + [inout] any aArray, + [in] long nIndex, + [in] any aNewValue ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::ArrayIndexOutOfBoundsException ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XIdlClass.idl b/udkapi/com/sun/star/reflection/XIdlClass.idl new file mode 100644 index 000000000000..fd9048ce111c --- /dev/null +++ b/udkapi/com/sun/star/reflection/XIdlClass.idl @@ -0,0 +1,215 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XIdlClass_idl__ +#define __com_sun_star_reflection_XIdlClass_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_uno_Uik_idl__ +#include <com/sun/star/uno/Uik.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module reflection { + + published interface XIdlField; + published interface XIdlMethod; + published interface XIdlArray; + +//============================================================================= + +/** Provides information reflecting an UNO type. +*/ +published interface XIdlClass: com::sun::star::uno::XInterface +{ + /** Deprecated. Do not call. + @deprecated + */ + sequence<XIdlClass> getClasses(); + /** Deprecated. Do not call. + @deprecated + */ + XIdlClass getClass( [in] string aName ); + + /** Tests whether two reflecting objects reflect the same type. + + @returns + true, if the objects reflect the same type, false otherwise. + */ + boolean equals( [in] XIdlClass Type ); + + /** Tests whether values of this reflected type are assignable from values + of a second one (<code>xType</code>). + + @param xType + another reflected type + @return + true, if values of this reflected type are assignable + from values of <code>xType</code>. + */ + boolean isAssignableFrom( [in] XIdlClass xType ); + + /** Returns the <type scope="com::sun::star::uno">TypeClass</type> + of the reflected type. + + @returns + type class of the reflected type. + */ + com::sun::star::uno::TypeClass getTypeClass(); + + /** Returns the fully-qualified name of the reflected type. + + @returns + the fully-qualified name of the type + */ + string getName(); + + /** Deprecated. Do not call. + + @deprecated + */ + com::sun::star::uno::Uik getUik(); + + /** If the reflected type is an interface, then the returned + sequence of <type>XIdlClass</type> reflect the base interfaces. + <br> + If the reflected type is not an interface or an interface that is + not derived from another, then an empty sequence is returned. + + @return + all base interfaces of an interface type or an empty sequence. + */ + sequence<XIdlClass> getSuperclasses(); + + /** Deprecated. Do not call. + @deprecated + */ + sequence<XIdlClass> getInterfaces(); + + /** If the reflected type is an array or sequence, then this method + returns a <type>XIdlClass</type> interface reflecting + the element. + + @return + reflection interface of the element type of an array or + sequence type (null-reference otherwise). + */ + XIdlClass getComponentType(); + + /** If the reflected type is an interface, struct or union, then you + get a <type>XIdlField</type> interface reflecting the demanded + field (/interface attribute) by name. + <br> + If the reflected type is not an interface, struct or union or the + interace, struct or union does not have a field (/interface attribute) + with the demanded name, then a null-reference is returned. + + @param aName + name of the demanded field reflection + @return + demanded field (/interface attribute) reflection (or null-reference) + */ + XIdlField getField( [in] string aName ); + + /** If the reflected type is an interface, struct or union, then you + get a sequence of <type>XIdlField</type> interfaces reflecting all fields + (/interface attributes). This also includes all inherited + fields (/interface attributes) of the interface, struct of union. + <br> + If the reflected type is not an interface, struct or union or the + interface, struct or union does not have any field (/interface attribute), + then an empty sequence is returned. + + @return + all field (/interface attribute) reflections (or empty sequence) + */ + sequence<XIdlField> getFields(); + + /** If the reflected type is an interface, then you get + a <type>XIdlMethod</type> interface reflecting the demanded method by name. + <br> + If the reflected type is not an interface or the interface does not have + a method with the demanded name (including inherited methods), + then a null-reference is returned. + + @param aName + name of demanded method reflection + @return + demanded method reflection (or null-reference) + */ + XIdlMethod getMethod( [in] string aName ); + + /** If the reflected type is an interface, then you get + a sequence of <type>XIdlMethod</type> interfaces reflecting all methods + of the interface. This also includes the inherited methods of the interface. + <br> + If the reflected type is not an interface or the interface + does not have any methods, then a null-reference is returned. + + @return + all method reflections (or empty sequence) + */ + sequence<XIdlMethod> getMethods(); + + /** If the reflected type is an array, then you get + a <type>XIdlArray</type> interface to modify instances of the array type. + <br> + If the reflected type is not an array, then a null-reference is returned. + + @return + inteface to modify array instances (or null-reference) + */ + XIdlArray getArray(); + + /** This method creates instances of the reflected type. + + @attention + Instances of type <code>any</code> can not be passed using an <code>any</code>, because + anys cannot be nested. So if the reflected type is an <code>any</code>, then the + returned value is empty. + + @param obj + pure out parameter to pass the created instance + */ + void createObject( [out] any obj ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XIdlClassProvider.idl b/udkapi/com/sun/star/reflection/XIdlClassProvider.idl new file mode 100644 index 000000000000..0b61cdd68bd8 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XIdlClassProvider.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XIdlClassProvider_idl__ +#define __com_sun_star_reflection_XIdlClassProvider_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Deprecated interface. Do not use anymore. + + @deprecated +*/ +published interface XIdlClassProvider: com::sun::star::uno::XInterface +{ + sequence<com::sun::star::reflection::XIdlClass> getIdlClasses(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XIdlField.idl b/udkapi/com/sun/star/reflection/XIdlField.idl new file mode 100644 index 000000000000..76daf3a1d83e --- /dev/null +++ b/udkapi/com/sun/star/reflection/XIdlField.idl @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XIdlField_idl__ +#define __com_sun_star_reflection_XIdlField_idl__ + +#ifndef __com_sun_star_reflection_XIdlMember_idl__ +#include <com/sun/star/reflection/XIdlMember.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + +#ifndef __com_sun_star_reflection_FieldAccessMode_idl__ +#include <com/sun/star/reflection/FieldAccessMode.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalAccessException_idl__ +#include <com/sun/star/lang/IllegalAccessException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Deprecated. Use <type scope="com::sun::star::reflection">XIdlField2</type> + instead. + + @deprecated +*/ +published interface XIdlField: com::sun::star::reflection::XIdlMember +{ + com::sun::star::reflection::XIdlClass getType(); + com::sun::star::reflection::FieldAccessMode getAccessMode(); + any get( + [in] any obj ) + raises( com::sun::star::lang::IllegalArgumentException ); + void set( + [in] any obj, + [in] any value ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::IllegalAccessException ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XIdlField2.idl b/udkapi/com/sun/star/reflection/XIdlField2.idl new file mode 100644 index 000000000000..87e516c906dd --- /dev/null +++ b/udkapi/com/sun/star/reflection/XIdlField2.idl @@ -0,0 +1,133 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XIdlField2_idl__ +#define __com_sun_star_reflection_XIdlField2_idl__ + +#ifndef __com_sun_star_reflection_XIdlMember_idl__ +#include <com/sun/star/reflection/XIdlMember.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + +#ifndef __com_sun_star_reflection_FieldAccessMode_idl__ +#include <com/sun/star/reflection/FieldAccessMode.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalAccessException_idl__ +#include <com/sun/star/lang/IllegalAccessException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects an IDL interface attribute, enum or compound type + (i.e. struct/exception) member. +*/ +published interface XIdlField2: com::sun::star::reflection::XIdlMember +{ + /** Returns the type of the field. + + @return + type of the field + */ + com::sun::star::reflection::XIdlClass getType(); + + /** Returns the access mode of the field, i.e. read-write, read-only or + write-only (access mode "const" is deprecated). + + @return + access mode of the field + */ + com::sun::star::reflection::FieldAccessMode getAccessMode(); + + /** Gets the value of the reflected field from the given object, + i.e. an interface, enum or compound type (struct/exception). + For enums, the given object is ignored; the returned value + reflects the constant enum 32-bit value. + + <p>When setting an interface attribute raises a + non-<type scope="com::sun::star::uno">RuntimeException</type>, it is + wrapped in a <type + scope="com::sun::star::lang">WrappedTargetRuntimeException</type>.</p> + + @param obj + object instance having member of reflected type + @return + value of field + + @throws IllegalAccessException + An <type scope="com::sun::star::lang">IllegalAccessException</type> + is thrown if the given object is no interface, enum or compound type; + or the given object does not have the reflected field. + */ + any get( + [in] any obj ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Sets the value of the reflected field of the given object, + i.e. an interface or compound type (struct/exception). + + <p>When setting an interface attribute raises a + non-<type scope="com::sun::star::uno">RuntimeException</type>, it is + wrapped in a <type + scope="com::sun::star::lang">WrappedTargetRuntimeException</type>.</p> + + @param obj + object instance having member of reflected type + @param value + value to be set + + @throws IllegalAccessException + An <type scope="com::sun::star::lang">IllegalAccessException</type> + is thrown if the given object is no interface or compound type; + or the given object does not have the reflected field. + */ + void set( + [inout] any obj, + [in] any value ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::IllegalAccessException ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XIdlMember.idl b/udkapi/com/sun/star/reflection/XIdlMember.idl new file mode 100644 index 000000000000..b806b81652bf --- /dev/null +++ b/udkapi/com/sun/star/reflection/XIdlMember.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XIdlMember_idl__ +#define __com_sun_star_reflection_XIdlMember_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + + published interface XIdlClass; + +/** Base interface for <type>XIdlField2</type>s and <type>XIdlMethod</type>s. +*/ +published interface XIdlMember: com::sun::star::uno::XInterface +{ + /** Returns the declaring type of this field, i.e. the type having + the member declared (interface, enum, struct, exception). + + @returns + declaring type + */ + XIdlClass getDeclaringClass(); + + /** Returns the fully-qualified name of the member. + + @return fully-qualified name of the member + */ + string getName(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XIdlMethod.idl b/udkapi/com/sun/star/reflection/XIdlMethod.idl new file mode 100644 index 000000000000..8a9f106ce66a --- /dev/null +++ b/udkapi/com/sun/star/reflection/XIdlMethod.idl @@ -0,0 +1,141 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XIdlMethod_idl__ +#define __com_sun_star_reflection_XIdlMethod_idl__ + +#ifndef __com_sun_star_reflection_XIdlMember_idl__ +#include <com/sun/star/reflection/XIdlMember.idl> +#endif + +#ifndef __com_sun_star_reflection_ParamInfo_idl__ +#include <com/sun/star/reflection/ParamInfo.idl> +#endif + +#ifndef __com_sun_star_reflection_MethodMode_idl__ +#include <com/sun/star/reflection/MethodMode.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_reflection_InvocationTargetException_idl__ +#include <com/sun/star/reflection/InvocationTargetException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + + published interface XIdlClass; + +//============================================================================= + +/** Reflects an IDL interface method. +*/ +published interface XIdlMethod: com::sun::star::reflection::XIdlMember +{ + /** Returns the return type of the reflected method. + + @return + return type of reflected method + */ + XIdlClass getReturnType(); + + /** Returns the formal parameter types of the reflected method in order of IDL + declaration. + + @return + formal parameter types of reflected method + */ + sequence<XIdlClass> getParameterTypes(); + + /** Returns formal parameter informations of the reflected method + in order of IDL declaration. + Parameter information reflects the parameter's access mode (in, out, inout), + the parameter's name and formal type. + + @return + parameter informations of reflected method + */ + sequence<ParamInfo> getParameterInfos(); + + /** Returns the declared exceptions types of the reflected method. + + @return + declared exception types of reflected method + */ + sequence<com::sun::star::reflection::XIdlClass> getExceptionTypes(); + + /** Returns the method mode in which calls are run, i.e. either oneway or + twoway. Method mode oneway denotes that a call may be run asynchronously + (thus having no out parameters or return value) + + @return + method mode of reflected method + */ + com::sun::star::reflection::MethodMode getMode(); + + /** Invokes the reflected method on a given object with the given parameters. + The parameters may be widening converted to fit their exact IDL type, + meaning no loss of information. + + @param obj + object to call on + @param args + arguments passed to the method + @return + return value of the method call (may be empty for methods returning void) + + @throws IllegalArgumentException + if the given object is a nuull reference or does not support the reflected + method's interface + @throws IllegalArgumentException + if the given number of arguments differ from the expected number + or the given arguments' types differ from the expected ones (even a + widening conversion was not possible) + @throws InvocationTargetException + if the reflected method that has been invoked has thrown an exception. + The original exception will be wrapped up and signalled by the + InvocationTargetException + */ + any invoke( + [in] any obj, + [inout] sequence<any> args ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::reflection::InvocationTargetException ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XIdlReflection.idl b/udkapi/com/sun/star/reflection/XIdlReflection.idl new file mode 100644 index 000000000000..9455430eabf1 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XIdlReflection.idl @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XIdlReflection_idl__ +#define __com_sun_star_reflection_XIdlReflection_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Interface to reflect types. + + @see CoreReflection + @see XIdlClass +*/ +published interface XIdlReflection: com::sun::star::uno::XInterface +{ + /** Obtaining a reflection interface for a type. You specify the type by + its name. + If the given type name can not be reflected, then a null-reference + is returned. + + @param aTypeName + the type's name + @return + reflection interface for the demanded type (or null) + */ + com::sun::star::reflection::XIdlClass forName( [in] string aTypeName ); + + /** Obtaining a reflection interface for an object. This method takes + the type of the object the any contains into account. If the any + contains no object, then a null-reference is returned. + + @param aObj + an object + @return + reflection interface of the type of the demanded object (or null) + */ + com::sun::star::reflection::XIdlClass getType( [in] any aObj ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XIndirectTypeDescription.idl b/udkapi/com/sun/star/reflection/XIndirectTypeDescription.idl new file mode 100644 index 000000000000..ef80d722d55e --- /dev/null +++ b/udkapi/com/sun/star/reflection/XIndirectTypeDescription.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XIndirectTypeDescription_idl__ +#define __com_sun_star_reflection_XIndirectTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects a typedef or sequence type. + The type class of this description is TypeClass_TYPEDEF or + TypeClass_SEQUENCE. +*/ +published interface XIndirectTypeDescription: com::sun::star::reflection::XTypeDescription +{ + /** Returns the typedefed type, if the type is a typedef, + or the element type, if the type is a sequence. + + @return + referenced type + */ + com::sun::star::reflection::XTypeDescription getReferencedType(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription.idl b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription.idl new file mode 100644 index 000000000000..c16d620d6f0d --- /dev/null +++ b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XInterfaceAttributeTypeDescription_idl__ +#define __com_sun_star_reflection_XInterfaceAttributeTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XInterfaceMemberTypeDescription_idl__ +#include <com/sun/star/reflection/XInterfaceMemberTypeDescription.idl> +#endif + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects an interface attribute type. + + <p>This type is superseded by + <type>XInterfaceAttributeTypeDescription2</type>, which supports extended + attributes.</p> + + The type class of this type is TypeClass_INTERFACE_ATTRIBUTE. +*/ +published interface XInterfaceAttributeTypeDescription: com::sun::star::reflection::XInterfaceMemberTypeDescription +{ + /** Returns true, if this attribute is read-only. + + @return + true, if attribute is read-only + */ + boolean isReadOnly(); + + /** Returns the type of the attribute. + + @return + type of attribute + */ + com::sun::star::reflection::XTypeDescription getType(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl new file mode 100644 index 000000000000..96b8957683ff --- /dev/null +++ b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl @@ -0,0 +1,79 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XInterfaceAttributeTypeDescription2_idl__ +#define __com_sun_star_reflection_XInterfaceAttributeTypeDescription2_idl__ + +#include "com/sun/star/reflection/XInterfaceAttributeTypeDescription.idl" + +module com { module sun { module star { module reflection { + +interface XCompoundTypeDescription; + +/** + Reflects an interface attribute, supporting extended attributes that are + bound or raise exceptions. + + <p>This type supersedes <type>XInterfaceAttributeTypeDescription</type>, + which does not support extended attributes.</p> + + @since OOo 2.0.0 + */ +interface XInterfaceAttributeTypeDescription2: + XInterfaceAttributeTypeDescription +{ + /** + Returns whether this object reflects a bound attribute. + + @return <TRUE/> iff this object reflects a bound attribute + */ + boolean isBound(); + + /** + Returns the exceptions that can be raised by the attribute's getter. + + @return the reflections of all the exceptions that are listed in the + <code>raises</code> specification of the attribute's getter (if any), in + no particular order; all elements of the returned sequence will be + reflections of exception types + */ + sequence<XCompoundTypeDescription> getGetExceptions(); + + /** + Returns the exceptions that can be raised by the attribute's setter. + + @return the reflections of all the exceptions that are listed in the + <code>raises</code> specification of the attribute's setter (if any), in + no particular order; all elements of the returned sequence will be + reflections of exception types + */ + sequence<XCompoundTypeDescription> getSetExceptions(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XInterfaceMemberTypeDescription.idl b/udkapi/com/sun/star/reflection/XInterfaceMemberTypeDescription.idl new file mode 100644 index 000000000000..bbc57be77c8e --- /dev/null +++ b/udkapi/com/sun/star/reflection/XInterfaceMemberTypeDescription.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XInterfaceMemberTypeDescription_idl__ +#define __com_sun_star_reflection_XInterfaceMemberTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Base interface for reflected interface members. + + @see XInterfaceAttributeTypeDescription + @see XInterfaceMethodTypeDescription +*/ +published interface XInterfaceMemberTypeDescription: com::sun::star::reflection::XTypeDescription +{ + /** Returns name of member + + @return + member name + */ + string getMemberName(); + + /** Returns the position the member including all inherited members of base + interfaces. + + @return + position of member + */ + long getPosition(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XInterfaceMethodTypeDescription.idl b/udkapi/com/sun/star/reflection/XInterfaceMethodTypeDescription.idl new file mode 100644 index 000000000000..c51af484f950 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XInterfaceMethodTypeDescription.idl @@ -0,0 +1,90 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XInterfaceMethodTypeDescription_idl__ +#define __com_sun_star_reflection_XInterfaceMethodTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XInterfaceMemberTypeDescription_idl__ +#include <com/sun/star/reflection/XInterfaceMemberTypeDescription.idl> +#endif + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + +#ifndef __com_sun_star_reflection_XMethodParameter_idl__ +#include <com/sun/star/reflection/XMethodParameter.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects an interface method type. + The type class of this type is TypeClass_INTERFACE_METHOD. +*/ +published interface XInterfaceMethodTypeDescription: com::sun::star::reflection::XInterfaceMemberTypeDescription +{ + /** Returns the method's return type. + + @return + method's return type + */ + com::sun::star::reflection::XTypeDescription getReturnType(); + + /** Returns true, if this method is declared oneway. + + @return + true, if this method is declared oneway + */ + boolean isOneway(); + + /** Returns all parameters of the method in order of IDL declaration. + + @return + method parameters + */ + sequence<com::sun::star::reflection::XMethodParameter> getParameters(); + + /** Returns declared exceptions that may occur upon invocations of the method. + + @return + declared exceptions of method + */ + sequence<com::sun::star::reflection::XTypeDescription> getExceptions(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XInterfaceTypeDescription.idl b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription.idl new file mode 100644 index 000000000000..d47dd7c3dd47 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription.idl @@ -0,0 +1,96 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XInterfaceTypeDescription_idl__ +#define __com_sun_star_reflection_XInterfaceTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + +#ifndef __com_sun_star_uno_Uik_idl__ +#include <com/sun/star/uno/Uik.idl> +#endif + +#ifndef __com_sun_star_reflection_XInterfaceMemberTypeDescription_idl__ +#include <com/sun/star/reflection/XInterfaceMemberTypeDescription.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects an interface type. + + <p>This type is superseded by <type>XInterfaceTypeDescription2</type>, which + supports multiple inheritance.</p> + + @see XInterfaceMemberTypeDescription +*/ +published interface XInterfaceTypeDescription: com::sun::star::reflection::XTypeDescription +{ + /** Returns the base interface or null, if the reflected interface is not + inherited from another. + + <p>This method is deprecated, as it only supports single inheritance. + See <type>XInterfaceTypeDescription2</type> for a replacement that + supports multiple inheritance.</p> + + @return + base interface or null + @deprecated + */ + com::sun::star::reflection::XTypeDescription getBaseType(); + + /** Deprecated. UIK are not used anymore, a type is uniquely identified by + its name.<br> + Returns the UIK, i.e. the unique identifier of the interface. + + @return + uik of the interface + @deprecated + */ + com::sun::star::uno::Uik getUik(); + + /** Returns the members of the interfaces, i.e. attributes and methods. + + @returns + interface members + */ + sequence<com::sun::star::reflection::XInterfaceMemberTypeDescription> getMembers(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl new file mode 100644 index 000000000000..31ab93e4ecac --- /dev/null +++ b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XInterfaceTypeDescription2_idl__ +#define __com_sun_star_reflection_XInterfaceTypeDescription2_idl__ + +#include "com/sun/star/reflection/XInterfaceTypeDescription.idl" + +module com { module sun { module star { module reflection { + +interface XTypeDescription; + +/** Reflects an interface type, supporting multiple inheritance. + + <p>This type supersedes <type>XInterfaceTypeDescription</type>, which only + supported single inheritance.</p> + + @since OOo 2.0.0 + */ +interface XInterfaceTypeDescription2: XInterfaceTypeDescription { + /** Returns a sequence of all directly inherited (mandatory) base interface + types. + + @returns + a sequence of all directly inherited (mandatory) base interface types, + in the correct order; each element of the returned sequence will be the + reflection of either an interface type (of type <type + scope="com::sun::star::reflection">XInterfaceTypeDescription</type>) or + a typedef (of type <type + scope="com::sun::star::reflection">XIndirectTypeDescription</type>) + that—directly or indirectly—denotes an interface type + */ + sequence<XTypeDescription> getBaseTypes(); + + /** Returns a sequence of all directly inherited optional base interface + types. + + @returns + a sequence of all directly inherited optional base interface types, in + the correct order; each element of the returned sequence will be the + reflection of either an interface type (of type <type + scope="com::sun::star::reflection">XInterfaceTypeDescription</type>) or + a typedef (of type <type + scope="com::sun::star::reflection">XIndirectTypeDescription</type>) + that—directly or indirectly—denotes an interface type + */ + sequence<XTypeDescription> getOptionalBaseTypes(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XMethodParameter.idl b/udkapi/com/sun/star/reflection/XMethodParameter.idl new file mode 100644 index 000000000000..c089f79336ac --- /dev/null +++ b/udkapi/com/sun/star/reflection/XMethodParameter.idl @@ -0,0 +1,98 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XMethodParameter_idl__ +#define __com_sun_star_reflection_XMethodParameter_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects a method parameter. + + <p>This type is superseded by <type>XParameter</type>, which supports + parameters of service constructors as well as parameters of interface + methods.</p> + + @see XInterfaceMethodTypeDescription +*/ +published interface XMethodParameter: com::sun::star::uno::XInterface +{ + /** Returns the name of the parameter + + @return + name of parameter + */ + string getName(); + + /** Returns the type of the parameter. + + @return + type of parameter + */ + com::sun::star::reflection::XTypeDescription getType(); + + /** Returns true, if the parameter is declared as [in] or [inout] in IDL. + + @return + true, if declared [in] or [inout] parameter + */ + boolean isIn(); + + /** Returns true, if the parameter is declared as [out] or [inout] in IDL. + + @return + true, if declared [out] or [inout] parameter + */ + boolean isOut(); + + /** Returns the position of the parameter regarding the IDL method declaration. + + @return + position of the parameter + */ + long getPosition(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XModuleTypeDescription.idl b/udkapi/com/sun/star/reflection/XModuleTypeDescription.idl new file mode 100644 index 000000000000..d102f246dc76 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XModuleTypeDescription.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XModuleTypeDescription_idl__ +#define __com_sun_star_reflection_XModuleTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects a module. + + <p>The type class of this type is + <member scope="com::sun::star::uno">TypeClass::MODULE</member>. + + @since OOo 1.1.2 + */ +published interface XModuleTypeDescription : com::sun::star::reflection::XTypeDescription +{ + /** Returns the type descriptions for the members of this module. + + @return a sequence containing type descriptions. + */ + sequence< XTypeDescription > getMembers(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XParameter.idl b/udkapi/com/sun/star/reflection/XParameter.idl new file mode 100644 index 000000000000..d7b8aaa16cbb --- /dev/null +++ b/udkapi/com/sun/star/reflection/XParameter.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XParameter_idl__ +#define __com_sun_star_reflection_XParameter_idl__ + +#include "com/sun/star/reflection/XMethodParameter.idl" + +module com { module sun { module star { module reflection { + +/** + Reflects a parameter of an interface method or a service constructor. + + <p>This type supersedes <type>XMethodParameter</type>, which only supports + parameters of interface methods (which cannot have rest parameters).</p> + + @since OOo 2.0.0 + */ +interface XParameter: XMethodParameter { + /** + Returns whether this is a rest parameter. + + <p>A rest parameter must always come last in a parameter list.</p> + + <p>Currently, only service constructors can have rest parameters, and + those rest parameters must be in parameters of type <atom>any</atom>.</p> + + @return <TRUE/> if and only if this parameter is a rest parameter + */ + boolean isRestParameter(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XPropertyTypeDescription.idl b/udkapi/com/sun/star/reflection/XPropertyTypeDescription.idl new file mode 100644 index 000000000000..f280998221e9 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XPropertyTypeDescription.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XPropertyTypeDescription_idl__ +#define __com_sun_star_reflection_XPropertyTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects a property. + + <p>The type class of this type is + <member scope="com::sun::star::uno">TypeClass::PROPERTY</member>. + + @since OOo 1.1.2 + */ +published interface XPropertyTypeDescription : com::sun::star::reflection::XTypeDescription +{ + /** @return the flags defined for this property. + + <p>The possible values are defined in + <type scope="com::sun::star::beans">PropertyAttribute</type> + */ + short getPropertyFlags(); + + /** @return the type description for this property. + */ + XTypeDescription getPropertyTypeDescription(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XProxyFactory.idl b/udkapi/com/sun/star/reflection/XProxyFactory.idl new file mode 100644 index 000000000000..9b592e594031 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XProxyFactory.idl @@ -0,0 +1,81 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XProxyFactory_idl__ +#define __com_sun_star_reflection_XProxyFactory_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif +#ifndef __com_sun_star_uno_XAggregation_idl__ +#include <com/sun/star/uno/XAggregation.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Factory interface to produce proxy objects. + + @deprecated + Aggregation will no longer be supported as a high-level concept of UNO. + You may still have the option to implement an UNO object consisting of + several single objects in your specific programming language, though this + depends on your programming language. + Thus this interface is deprecated, too. +*/ +published interface XProxyFactory: com::sun::star::uno::XInterface +{ + /** This method creates a new proxy object that acts on behalf of the given + target object.<br> + The proxy delegates calls to the given target object. + In addition, it is aggregatable, thus it is possible to + intercept calls on the proxy's interfaces. + + @attention + The proxy object is UNO conform, but does NOT provide original target + interfaces on queryInterface() calls. This may lead to problems + regarding object identity, e.g. when dealing with listener proxies. + + @param xTarget + target object + @return + proxy object + */ + com::sun::star::uno::XAggregation createProxy( + [in] com::sun::star::uno::XInterface xTarget ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/XPublished.idl b/udkapi/com/sun/star/reflection/XPublished.idl new file mode 100644 index 000000000000..afb7cefa8a9a --- /dev/null +++ b/udkapi/com/sun/star/reflection/XPublished.idl @@ -0,0 +1,113 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XPublished_idl__ +#define __com_sun_star_reflection_XPublished_idl__ + +#include "com/sun/star/uno/XInterface.idl" + +module com { module sun { module star { module reflection { + +/** + Reflects the “published” status of a UNOIDL entity. + + <p>This interface is intended to be supported by objects that also support + <type scope="com::sun::star::reflection">XTypeDescription</type>. + (This interface could have been made an optional sub-interface of + <type scope="com::sun::star::reflection">XTypeDescription</type>, but is + instead kept independent for reasons of backwards compatibility.)</p> + + <p>For the various kinds of UNOIDL entities that are represented by objects + supporting <type scope="com::sun::star::reflection">XTypeDescription</type> + and its subtypes, this optional interface should be supported as follows:</p> + <ul> + <li>Enum types + (<type scope="com::sun::star::reflection">XEnumTypeDescription</type>), + plain struct types + (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), + polymorphic struct type templates + (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), + exception types (<type + scope="com::sun::star::reflection">XCompoundTypeDescription</type>), + interface types (<type + scope="com::sun::star::reflection">XInterfaceTypeDescription2</type>), + typedefs (<type + scope="com::sun::star::reflection">XIndirectTypeDescription</type>), + individual constants (<type + scope="com::sun::star::reflection">XConstantTypeDescription</type>), + constant groups (<type + scope="com::sun::star::reflection">XConstantsTypeDescription</type>), + single-interface–based services (<type + scope="com::sun::star::reflection">XServiceTypeDescription2</type>), + accumulation-based services (<type + scope="com::sun::star::reflection">XServiceTypeDescription2</type>), + interface-based singletons (<type + scope="com::sun::star::reflection">XSingletonTypeDescription2</type>), + and service-based singletons (<type + scope="com::sun::star::reflection">XSingletonTypeDescription2</type>) + support the notion of being published. Therefore, for an object that + represents any such entity, + <type scope="com::sun::star::reflection">XPublished</type> should be + supported.</li> + + <li>Sequence types (<type + scope="com::sun::star::reflection">XIndirectTypeDescription</type>), + type parameters of polymorphic struct type templates + (<type scope="com::sun::star::reflection">XTypeDescription</type>), + instantiated polymorphic struct types + (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), + attributes of interface types (<type scope="com::sun::star::reflection"> + XInterfaceAttributeTypeDescription2</type>), methods of interface types + (<type scope="com::sun::star::reflection"> + XInterfaceMethodTypeDescription</type>), properties of + accumulation-based services (<type + scope="com::sun::star::reflection">XPropertyTypeDescription</type>), + deprecated + <type scope="com::sun::star::reflection">XArrayTypeDescription</type>s, + and deprecated + <type scope="com::sun::star::reflection">XUnionTypeDescription</type>s do + not support the notion of being published. Therefore, for an object that + represents any such entity, + <type scope="com::sun::star::reflection">XPublished</type> should not be + supported.</li> + </ul> + + @since OOo 2.0.0 +*/ +interface XPublished { + /** + Returns the “published” status of a UNOIDL entity. + + @return <TRUE/> if the UNOIDL entity represented by this object is + published + */ + boolean isPublished(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl b/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl new file mode 100644 index 000000000000..2f8f05ba82cc --- /dev/null +++ b/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XServiceConstructorDescription2_idl__ +#define __com_sun_star_reflection_XServiceConstructorDescription2_idl__ + +#include "com/sun/star/uno/XInterface.idl" + +module com { module sun { module star { module reflection { + +interface XCompoundTypeDescription; +interface XParameter; + +/** + Reflects a service constructor. + + @since OOo 2.0.0 + */ +interface XServiceConstructorDescription { + /** + Returns whether the constructor is a default constructor. + + @return <TRUE/> if the constructor is a default constructor + */ + boolean isDefaultConstructor(); + + /** + Returns the constructor's name. + + @return the constructor's name; for a default constructor, an empty + <atom>string</atom> is returned + */ + string getName(); + + /** + Returns the constructor's parameters. + + @return the reflections of all the constructor's parameters, in their + lexical order; for a default constructor, an empty sequence is + returned + */ + sequence<XParameter> getParameters(); + + /** + Returns the exceptions that can be raised by the constructor. + + @return the reflections of all the exceptions that are listed in the + constructor's <code>raises</code> specification, in no particular order; + all elements of the returned sequence will be reflections of exception + types; for a default constructor, an empty sequence is returned (even + though the mapping of a default constructor in a particular language + binding may well raise certain UNO exceptions) + */ + sequence<XCompoundTypeDescription> getExceptions(); +}; + +}; }; }; }; + +#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..8fcd27642e2b --- /dev/null +++ b/udkapi/com/sun/star/reflection/XServiceTypeDescription.idl @@ -0,0 +1,109 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_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_XPropertyTypeDescription_idl__ +#include <com/sun/star/reflection/XPropertyTypeDescription.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects a service. + + <p>This type is superseded by <type>XServiceTypeDescription2</type>, which + supports single-interface–based services, in addition to the obsolete, + accumulation-based services.</p> + + <p>The type class of this type is + <member scope="com::sun::star::uno">TypeClass::SERVICE</member>. + + @since OOo 1.1.2 + */ +published 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, for an + obsolete, accumulation-based service; for a + single-interface–based service, an empty sequence is returned + */ + sequence< XServiceTypeDescription > getMandatoryServices(); + + /** Returns the type descriptions of the optional services + defined for this service. + + @return a sequence containing service type descriptions, for an + obsolete, accumulation-based service; for a + single-interface–based service, an empty sequence is returned + */ + sequence< XServiceTypeDescription > getOptionalServices(); + + /** Returns the type descriptions of the mandatory interfaces + defined for this service. + + @return a sequence containing interface type descriptions, for an + obsolete, accumulation-based service; for a + single-interface–based service, an empty sequence is returned + */ + sequence< XInterfaceTypeDescription > getMandatoryInterfaces(); + + /** Returns the type descriptions of the optional interface + defined for this service. + + @return a sequence containing interface type descriptions, for an + obsolete, accumulation-based service; for a + single-interface–based service, an empty sequence is returned + */ + sequence< XInterfaceTypeDescription > getOptionalInterfaces(); + + /** Returns the properties defined for this service. + + @return a sequence containing property descriptions, for an obsolete, + accumulation-based service; for a single-interface–based + service, an empty sequence is returned + */ + sequence< XPropertyTypeDescription > getProperties(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl b/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl new file mode 100644 index 000000000000..2536a2d2fe16 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl @@ -0,0 +1,81 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XServiceTypeDescription2_idl__ +#define __com_sun_star_reflection_XServiceTypeDescription2_idl__ + +#include "com/sun/star/reflection/XServiceTypeDescription.idl" + +module com { module sun { module star { module reflection { + +interface XServiceConstructorDescription; +interface XTypeDescription; + +/** + Reflects a service, supporting single-interface–based services. + + <p>This type supersedes <type>XServiceTypeDescription</type>, which only + supports obsolete, accumulation-based services.</p> + + @since OOo 2.0.0 + */ +interface XServiceTypeDescription2: XServiceTypeDescription { + /** + Returns whether this object reflects a single-interface–based + service. + + @return <TRUE/> if this object reflects a single-interface–based + service, and <FALSE/> if this object reflects an obsolete, + accumulation-based service + */ + boolean isSingleInterfaceBased(); + + /** + Returns the interface type associated with the service. + + @return the reflection of the interface type associated with the service + (of type <type + scope="com::sun::star::reflection">XInterfaceTypeDescription</type> + or, in case of a typedef, <type + scope="com::sun::star::reflection">XIndirectTypeDescription</type>), + for a single-interface–based service; for an obsolete, + accumulation-based service, <NULL/> is returned + */ + XTypeDescription getInterface(); + + /** + Returns the constructors of the service. + + @return the reflections of all constructors of the service, in no + particular order + */ + sequence<XServiceConstructorDescription> getConstructors(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XSingletonTypeDescription.idl b/udkapi/com/sun/star/reflection/XSingletonTypeDescription.idl new file mode 100644 index 000000000000..e77382730511 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XSingletonTypeDescription.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XSingletonTypeDescription_idl__ +#define __com_sun_star_reflection_XSingletonTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + +#ifndef __com_sun_star_reflection_XServiceTypeDescription_idl__ +#include <com/sun/star/reflection/XServiceTypeDescription.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects a singleton. + + <p>This type is superseded by <type>XSingletonTypeDescription2</type>, which + supports interface-based singletons, in addition to the obsolete, + service-based singletons.</p> + + <p>The type class of this type is + <member scope="com::sun::star::uno">TypeClass::SINGLETON</member>. + + @since OOo 1.1.2 + */ +published interface XSingletonTypeDescription : com::sun::star::reflection::XTypeDescription +{ + /** Returns the service associated with the singleton. + + @return the reflection of the service associated with the singleton, for + an obsolete, service-based singleton; for an interface-based + singleton, <NULL/> is returned + */ + XServiceTypeDescription getService(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl b/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl new file mode 100644 index 000000000000..c4b42d786b00 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XSingletonTypeDescription2_idl__ +#define __com_sun_star_reflection_XSingletonTypeDescription2_idl__ + +#include "com/sun/star/reflection/XSingletonTypeDescription.idl" + +module com { module sun { module star { module reflection { + +interface XTypeDescription; + +/** + Reflects a singleton, supporting interface-based singletons. + + <p>This type supersedes <type>XSingletonTypeDescription</type>, which only + supports obsolete, service-based singletons.</p> + + @since OOo 2.0.0 + */ +interface XSingletonTypeDescription2: XSingletonTypeDescription { + /** + Returns whether this object reflects an interface-based singleton. + + @return <TRUE/> if this object reflects an interface-based singleton, and + <FALSE/> if this object reflects an obsolete, service-based singleton + */ + boolean isInterfaceBased(); + + /** + Returns the interface type associated with the singleton. + + @return the reflection of the interface type associated with the + singleton (of type <type + scope="com::sun::star::reflection">XInterfaceTypeDescription</type> + or, in case of a typedef, <type + scope="com::sun::star::reflection">XIndirectTypeDescription</type>), + for an interface-based singleton; for an obsolete, service-based + singleton, <NULL/> is returned + */ + XTypeDescription getInterface(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XStructTypeDescription.idl b/udkapi/com/sun/star/reflection/XStructTypeDescription.idl new file mode 100644 index 000000000000..69063323874c --- /dev/null +++ b/udkapi/com/sun/star/reflection/XStructTypeDescription.idl @@ -0,0 +1,93 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XStructTypeDescription_idl__ +#define __com_sun_star_reflection_XStructTypeDescription_idl__ + +#include "com/sun/star/reflection/XCompoundTypeDescription.idl" + +module com { module sun { module star { module reflection { + +interface XTypeDescription; + +/** + Reflects a struct type, supporting polymorphic struct types. + + <p>This type supersedes <type>XCompoundTypeDescription</type>, which only + supports plain struct types.</p> + + <p>This type is used to reflect all of the following:</p> + <ul> + <li>Polymorphic struct type templates, like + <code>Struct<T, U></code>. For these, + <member scope="com::sun::star::reflection"><!-- + -->XStructTypeDescription::getTypeParameters</member> returns a non-empty + sequence, while <member scope="com::sun::star::reflection"><!-- + -->XStructTypeDescription::getTypeArguments</member> returns an empty + sequence.</li> + + <li>Instantiated polymorphic struct types, like <code>Struct<long, + hyper></code>. For these, + <member scope="com::sun::star::reflection"><!-- + -->XStructTypeDescription::getTypeParameters</member> returns an empty + sequence, while <member scope="com::sun::star::reflection"><!-- + -->XStructTypeDescription::getTypeArguments</member> returns a non-empty + sequence.</li> + + <li>Plain struct types. For these, both + <member scope="com::sun::star::reflection"><!-- + -->XStructTypeDescription::getTypeParameters</member> and + <member scope="com::sun::star::reflection"><!-- + -->XStructTypeDescription::getTypeArguments</member> return an empty + sequence.</li> + </ul> + + @since OOo 2.0.0 + */ +interface XStructTypeDescription: XCompoundTypeDescription { + /** + Returns the type parameters of a polymorphic struct type template. + + @return a sequence of the names of all type parameters, in the correct + order; for a plain struct type, or an instantiated polymorphic struct + type, an empty sequence is returned + */ + sequence<string> getTypeParameters(); + + /** + Returns the type arguments of an instantiated polymorphic struct type. + + @return a sequence of all type arguments, in the correct order; for a + plain struct type, or a polymorphic struct type template, an empty + sequence is returned + */ + sequence<XTypeDescription> getTypeArguments(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/reflection/XTypeDescription.idl b/udkapi/com/sun/star/reflection/XTypeDescription.idl new file mode 100644 index 000000000000..34ce721d2f33 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XTypeDescription.idl @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XTypeDescription_idl__ +#define __com_sun_star_reflection_XTypeDescription_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 + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Reflects a UNOIDL entity. + + @see XPublished + @see XIndirectTypeDescription + @see XEnumTypeDescription + @see XStructTypeDescription + @see XCompoundTypeDescription + @see XInterfaceTypeDescription2 + @see XInterfaceAttributeTypeDescription2 + @see XInterfaceMethodTypeDescription + @see XConstantTypeDescription + @see XConstantsTypeDescription + @see XServiceTypeDescription2 + @see XPropertyTypeDescription2 + @see XSingletonTypeDescription2 +*/ +published interface XTypeDescription : com::sun::star::uno::XInterface +{ + /** Returns the type class of the reflected UNOIDL entity. + + @return + type class of the entity + */ + com::sun::star::uno::TypeClass getTypeClass(); + + /** Returns the fully qualified name of the UNOIDL entity. + + @return + fully qualified name of the entity + */ + string getName(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#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..bc47bdfc26d5 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XTypeDescriptionEnumeration.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_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. + + @since OOo 1.1.2 + */ +published 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..5a7e129919b7 --- /dev/null +++ b/udkapi/com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl @@ -0,0 +1,187 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_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. + + @since OOo 1.1.2 + + */ +published 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 supplied type classes. An + empty sequence specifies that the enumeration shall contain all + type descriptions. + + <p>Valid types classes are: + <ul> + <li><member scope="com::sun::star::uno">TypeClass::MODULE</member> + <li><member scope="com::sun::star::uno">TypeClass::INTERFACE</member> + <li><member scope="com::sun::star::uno">TypeClass::SERVICE</member> + <li><member scope="com::sun::star::uno">TypeClass::STRUCT</member> + <li><member scope="com::sun::star::uno">TypeClass::ENUM</member> + <li><member scope="com::sun::star::uno">TypeClass::EXCEPTION</member> + <li><member scope="com::sun::star::uno">TypeClass::TYPEDEF</member> + <li><member scope="com::sun::star::uno">TypeClass::CONSTANT</member> + <li><member scope="com::sun::star::uno">TypeClass::CONSTANTS</member> + <li><member scope="com::sun::star::uno">TypeClass::SINGLETON</member> + </ul> + + @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. + + <p>The enumeration returns implementations of + <type>XTypeDescription</type>. Following concrete UNOIDL parts + represented by specialized interfaces derived from + <type>XTypeDescription</type> can be returned by the enumerator: + + <table border="1"> + <thead><tr><th>IDL</th><th>interface</th></tr></thead> + <tbody> + <tr> + <td>enum</td> + <td><type>XEnumTypeDescription</type></td> + </tr> + <tr> + <td>struct</td> + <td><type>XCompoundTypeDescription</type> (the returned + object should actually implement + <type>XStructTypeDescription</type>)</td> + </tr> + <tr> + <td>exception</td> + <td><type>XCompoundTypeDescription</type></td> + </tr> + <tr> + <td>interface</td> + <td><type>XInterfaceTypeDescription</type> (the returned + object should actually implement + <type>XInterfaceTypeDescription2</type>)</td> + </tr> + <tr> + <td>service</td> + <td><type>XServiceTypeDescription</type> (the returned + object should actually implement + <type>XServiceTypeDescription2</type>)</td> + </tr> + <tr> + <td>singleton</td> + <td><type>XSingletonTypeDescription</type> (the returned + object should actually implement + <type>XSingletonTypeDescription2</type>)</td> + </tr> + <tr> + <td>module</td> + <td><type>XModuleTypeDescription</type></td> + </tr> + <tr> + <td>typedef</td> + <td><type>XIndirectTypeDescription</type></td> + </tr> + <tr> + <td>constant</td> + <td><type>XConstantTypeDescription</type></td> + </tr> + <tr> + <td>constants</td> + <td><type>XConstantsTypeDescription</type></td> + </tr> + </tbody> + </table> + + @throws NoSuchTypeNameException + in case that the given module name does not exist. This exception + will never be thrown in case moduleName is the empty string. + + @throws InvalidTypeNameException + in case that the given module name does exist, but does not specify + an UNOIDL module. This exception will never be thrown in case + moduleName is the empty string. + */ + 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/XUnionTypeDescription.idl b/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl new file mode 100644 index 000000000000..d02d6d53fd2d --- /dev/null +++ b/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl @@ -0,0 +1,100 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_reflection_XUnionTypeDescription_idl__ +#define __com_sun_star_reflection_XUnionTypeDescription_idl__ + +#ifndef __com_sun_star_reflection_XTypeDescription_idl__ +#include <com/sun/star/reflection/XTypeDescription.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +/** Deprecated. Unions are not supported. + Reflects a union type. + The discriminant of a union switches between the current value types. + In addition, there is also a default case, having no discriminant. + + @deprecated +*/ +published interface XUnionTypeDescription: com::sun::star::reflection::XTypeDescription +{ + /** Returns the (ordinal) discriminant type. + + @return + type of the discriminant + */ + com::sun::star::reflection::XTypeDescription getDiscriminantType(); + + /** Returns the default discriminant value. + + @return + default discriminant value + */ + any getDefaultDiscriminant(); + + /** Returns the type of the default value. + + @return + type of the default value + */ + com::sun::star::reflection::XTypeDescription getDefaultMemberType(); + + /** Returns discriminants of all members in order of IDL declaration. + + @return + discriminants of all members + */ + sequence< any > getDiscriminants(); + + /** Returns types of all members in order of IDL declaration. + + @return + types of all members + */ + sequence< com::sun::star::reflection::XTypeDescription > getMemberTypes(); + + /** Returns names of all members in order of IDL declaration. + + @return + names of all members + */ + sequence< string > getMemberNames(); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/reflection/makefile.mk b/udkapi/com/sun/star/reflection/makefile.mk new file mode 100644 index 000000000000..a8b1bc8e62a4 --- /dev/null +++ b/udkapi/com/sun/star/reflection/makefile.mk @@ -0,0 +1,93 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssreflection +PACKAGE=com$/sun$/star$/reflection + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + CoreReflection.idl\ + FieldAccessMode.idl\ + InvalidTypeNameException.idl\ + InvocationTargetException.idl\ + MethodMode.idl\ + NoSuchTypeNameException.idl\ + ParamInfo.idl\ + ParamMode.idl\ + ProxyFactory.idl\ + TypeDescriptionManager.idl\ + TypeDescriptionProvider.idl\ + TypeDescriptionSearchDepth.idl\ + XArrayTypeDescription.idl\ + XCompoundTypeDescription.idl\ + XConstantTypeDescription.idl\ + XConstantsTypeDescription.idl\ + XUnionTypeDescription.idl\ + XEnumTypeDescription.idl\ + XIdlArray.idl\ + XIdlClass.idl\ + XIdlClassProvider.idl\ + XIdlField.idl\ + XIdlField2.idl\ + XIdlMember.idl\ + XIdlMethod.idl\ + XIdlReflection.idl\ + XIndirectTypeDescription.idl\ + XInterfaceAttributeTypeDescription.idl\ + XInterfaceAttributeTypeDescription2.idl \ + XInterfaceMemberTypeDescription.idl\ + XInterfaceMethodTypeDescription.idl\ + XInterfaceTypeDescription.idl\ + XInterfaceTypeDescription2.idl \ + XMethodParameter.idl\ + XModuleTypeDescription.idl\ + XParameter.idl \ + XPropertyTypeDescription.idl\ + XProxyFactory.idl\ + XPublished.idl \ + XServiceConstructorDescription.idl \ + XServiceTypeDescription.idl\ + XServiceTypeDescription2.idl \ + XSingletonTypeDescription.idl\ + XSingletonTypeDescription2.idl \ + XStructTypeDescription.idl \ + XTypeDescription.idl\ + XTypeDescriptionEnumeration.idl\ + XTypeDescriptionEnumerationAccess.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/registry/CannotRegisterImplementationException.idl b/udkapi/com/sun/star/registry/CannotRegisterImplementationException.idl new file mode 100644 index 000000000000..bcdea4f072b9 --- /dev/null +++ b/udkapi/com/sun/star/registry/CannotRegisterImplementationException.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_CannotRegisterImplementationException_idl__ +#define __com_sun_star_registry_CannotRegisterImplementationException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::registry::CannotRegisterImplementationException +/** is thrown when an application tries to register a new component (implementation) using the + <member>XImplementationRegistration::registerImplementation()</member> + method, but the component cannot be registered. The reason for this exception could be:<br> + <br><ul> + <li>the component cannot be found or cannot be loaded (missing path or classpath) + <li>the component doesn't provide the necessary specifactions (exported registration functions for a + C++ component (shared library) or a named registration class with the appropriate methods for + a Java component (normally a jar file)). + </ul><br> + + */ +published exception CannotRegisterImplementationException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/DefaultRegistry.idl b/udkapi/com/sun/star/registry/DefaultRegistry.idl new file mode 100644 index 000000000000..4de5566cf0f1 --- /dev/null +++ b/udkapi/com/sun/star/registry/DefaultRegistry.idl @@ -0,0 +1,163 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_DefaultRegistry_idl__ +#define __com_sun_star_registry_DefaultRegistry_idl__ + +#ifndef __com_sun_star_registry_XSimpleRegistry_idl__ +#include <com/sun/star/registry/XSimpleRegistry.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::registry::DefaultRegistry +/** implicitly supports a local registry and a read-only + system registry for global information. + In the context of this service, + the functions <code>open</code>, <code>close</code>, and <code>destroy</code> + from <type>XSimpleRegistry</type> are not supported and throw an exception + if they are used. + <dl> + <dt>Functions of <type>XSimpleRegistry</type>: + <dl> + <dt> <b>getURL</b> + </dt> + <dd> returns the name of the local registry. + </dd> + <dt> <b>isValid</b> + </dt> + <dd> checks if the local registry is valid. If the interface is not <NULL/> + the local registry should always be valid. + </dd> + <dt> <b>isReadOnly</b> </dt> + <dd> checks if the local registry has write protection. + </dd> + <dt> <b>mergeKey</b> + </dt> + <dd> merges all information from the specified registry in the local registry. + </dd> + <dt> <b>getRootKey</b> + </dt> + <dd> returns a virtual rootkey of both registries. + </dd> + </dl> + + <br> + + </dt> + <dt>Functions of XRegistryKey: + <dl> + <dt> <b>openKey</b> + </dt> + <dd> returns a virtual key which is specified in the local or the sytem + registry. + </dd> + <dt> <b>deleteKey</b> + </dt> + <dd> deletes the key only if it is present in the local registry. + </dd> + <dt> <b>setLongValue, setAsciiValue, setStringValue, setBinaryValue</b> + </dt> + <dd> sets the value at the specified key in the local registry. + </dd> + <dt> <b>getLongValue, getAsciiValue, getStringValue, getBinaryValue</b> + </dt> + <dd> returns the value at the specified key in the local registry, or if + the value is not present in the local registry, it will return the value of the + system registry. + </dd> + <dt> <b>openKeys</b> + </dt> + <dd> returns a sequence of all subkeys in both registries. + </dd> + <dt> <b>getKeyNames</b> + </dt> + <dd> returns a sequence with the names of all subkeys in both registries. + </dd> + <dt> + <br> + <b>Note: all write functions only work on the local registry.</b> + </dt> + </dl> + + <br> + + </dt> + <dt>How to find the registries: + <dl> + <dt> search for the system registry: + </dt> + <dd> The system registry will always be searched in the same directory as the + executable. The name of the system registry is "applicat.rdb". If the system + registry was not found, then the environment variable STAR_REGISTRY will be checked. + If this variable was set, it must contain a full path to a valid system registry. + </dd> + <dt> Search for the user registry using the following rules: + </dt> + <dd> + <dl> + <dt> 1. (for further use) search in sversion.ini (.sversionrc) for an entry + REGISTRY_VERSION_STRING (example: UserRegistry 5.0/505=test.rdb) in the section + [Registry]. If found, then take this value instead of "user.rdb" as "REGISTRY NAME". + </dt> + <dt> 2. Search in the config directory of the user for a file "REGISTRY NAME". If + found, return the full path and name of the file. If not found, retry this + step with a dot before "REGISTRY NAME". + </dt> + <dt> 3. If not found, a new user registry with name user.rdb will be created in the user + config directory. + </dt> + </dl> + </dd> + </dl> + </dt> + </dl> + <h4>Guarantees:</h4> + + <ul> + <li>-thread safe</li> + </ul> + */ +published service DefaultRegistry +{ + // DocMerge: empty anyway + interface com::sun::star::registry::XSimpleRegistry; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/ImplementationRegistration.idl b/udkapi/com/sun/star/registry/ImplementationRegistration.idl new file mode 100644 index 000000000000..5e2dd27408b3 --- /dev/null +++ b/udkapi/com/sun/star/registry/ImplementationRegistration.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_ImplementationRegistration_idl__ +#define __com_sun_star_registry_ImplementationRegistration_idl__ + +#ifndef __com_sun_star_registry_XImplementationRegistration_idl__ +#include <com/sun/star/registry/XImplementationRegistration.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::registry::ImplementationRegistration +/** is the implementation of the interface <type>XImplementationRegistration</type>. + This service can be used to install or uninstall components (implementations). + Further, it is possible to check if all runtime dependencies (needed services) are + available to use a specified component. + + Guarantees: + <ul> + <li>-thread safe</li> + </ul> + */ +published service ImplementationRegistration +{ + // DocMerge: empty anyway + interface com::sun::star::registry::XImplementationRegistration; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/InvalidRegistryException.idl b/udkapi/com/sun/star/registry/InvalidRegistryException.idl new file mode 100644 index 000000000000..b9a3a1ef9aab --- /dev/null +++ b/udkapi/com/sun/star/registry/InvalidRegistryException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_InvalidRegistryException_idl__ +#define __com_sun_star_registry_InvalidRegistryException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::registry::InvalidRegistryException +/** signals that the registry is invalid or an operation on the registry + failed. + */ +published exception InvalidRegistryException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/InvalidValueException.idl b/udkapi/com/sun/star/registry/InvalidValueException.idl new file mode 100644 index 000000000000..013fca9d8b49 --- /dev/null +++ b/udkapi/com/sun/star/registry/InvalidValueException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_InvalidValueException_idl__ +#define __com_sun_star_registry_InvalidValueException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::registry::InvalidValueException +/** signals that the value of the key is invalid or does not have the + appropriate key type. + */ +published exception InvalidValueException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/MergeConflictException.idl b/udkapi/com/sun/star/registry/MergeConflictException.idl new file mode 100644 index 000000000000..67973f693af2 --- /dev/null +++ b/udkapi/com/sun/star/registry/MergeConflictException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_MergeConflictException_idl__ +#define __com_sun_star_registry_MergeConflictException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::registry::MergeConflictException +/** is thrown if entries of two registries are contradictory in the context of + <member>XSimpleRegistry::mergeKey()e</member> method. + */ +published exception MergeConflictException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/NestedRegistry.idl b/udkapi/com/sun/star/registry/NestedRegistry.idl new file mode 100644 index 000000000000..e10f9e7c8dc2 --- /dev/null +++ b/udkapi/com/sun/star/registry/NestedRegistry.idl @@ -0,0 +1,161 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_DefaultRegistry_idl__ +#define __com_sun_star_registry_DefaultRegistry_idl__ + +#ifndef __com_sun_star_registry_XSimpleRegistry_idl__ +#include <com/sun/star/registry/XSimpleRegistry.idl> +#endif +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::registry::NestedRegistry +/** supports a shared view on two different registries. The registry + files will be opened in two different modes, registry1 will be opened with read/write + rights and registry2 will be opened read-only. + In the context of this service, the functions <code>open</code>, <code>close</code>, + and <code>destroy</code> from <type>XSimpleRegistry</type> are not supported and + throw an exception if they are used. + <dl> + <dt>Functions of <type>XSimpleRegistry</type>: + <dl> + <dt> <b>getURL</b> + </dt> + <dd> returns the name of registry1. + + </dd> + <dt> <b>isValid</b> + </dt> + <dd> checks if registry1 is valid. If the interface is not <NULL/> + then registry1 should always be valid. + + </dd> + <dt> <b>isReadOnly</b> + </dt> + <dd> checks if registry1 has write protection. + </dd> + <dt> <b>mergeKey</b> + </dt> + <dd> merges all information from the specified registry in registry1. + + </dd> + <dt> <b>getRootKey</b> + </dt> + <dd> returns a virtual rootkey of both registries. + </dd> + </dl> + + <br> + + </dt> + <dt>Functions of <type>XRegistryKey</type>: + <dl> + <dt> <b>openKey</b> + </dt> + <dd> returns a virtual key which is specified in registy1 or registry2. + + </dd> + <dt> <b>deleteKey</b> + </dt> + <dd> deletes the key only if it is present in registry1. + + </dd> + <dt> <b>setLongValue, setAsciiValue, setStringValue, setBinaryValue</b> + </dt> + <dd> sets the value at the specified key in registry1. + + </dd> + <dt> <b>getLongValue, getAsciiValue, getStringValue, getBinaryValue</b> + </dt> + <dd> returns the value at the specified key in registry1, or if + the value is not present in registry1, it will return the value of registry2. + + </dd> + <dt> <b>openKeys</b> + </dt> + <dd> returns a sequence of all subkeys in both registries. + + </dd> + <dt> <b>getKeyNames</b> + </dt> + <dd> returns a sequence with the names of all subkeys in both + registries. + + </dd> + <dt> + <br> + <b>Note: all write functions only work on registry1.</b> + </dt> + </dl> + </dt> + </dl> + <br> + How to initialize the registries:<br> + Use a sequence of <type>XSimpleRegistry</type> with two elements. The first element must be + the registry which is opened with read/write rights and the second element must be + the read-only one.<br> + Two different ways are possible:<br> + <ul> + <li> use <method scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</method> to + create an instance of this service where the value of the any parameter must be the sequence with + the two open registries. + <li> use the initialize function of the <type scope="com::sun::star::lang">XInitialization</type> interface where the value of the + any parameter must be the sequence with the two open registries. + </ul> + <br> + + + Guarantees: + <ul> + <li>-thread safe</li> + </ul> + */ +published service NestedRegistry +{ + // DocMerge: empty anyway + interface com::sun::star::registry::XSimpleRegistry; + + // DocMerge: empty anyway + interface com::sun::star::lang::XInitialization; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/RegistryKeyType.idl b/udkapi/com/sun/star/registry/RegistryKeyType.idl new file mode 100644 index 000000000000..b753b8abe327 --- /dev/null +++ b/udkapi/com/sun/star/registry/RegistryKeyType.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_RegistryKeyType_idl__ +#define __com_sun_star_registry_RegistryKeyType_idl__ + + +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +// DocMerge from xml: enum com::sun::star::registry::RegistryKeyType +/** represents all possible types of a key. + + <p>A key can be a normal key with a value and subkeys, or it can be a + link which references another key.</p> + */ +published enum RegistryKeyType +{ + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR RegistryKeyType:: KEY, + + // DocMerge: empty anyway + KEY, + + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR RegistryKeyType:: LINK + + // DocMerge: empty anyway + LINK + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/RegistryValueType.idl b/udkapi/com/sun/star/registry/RegistryValueType.idl new file mode 100644 index 000000000000..9d98fee12da9 --- /dev/null +++ b/udkapi/com/sun/star/registry/RegistryValueType.idl @@ -0,0 +1,119 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_RegistryValueType_idl__ +#define __com_sun_star_registry_RegistryValueType_idl__ + + +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +// DocMerge from xml: enum com::sun::star::registry::RegistryValueType +/** represents all possible types of a key value. + + <p>An ASCII value and a string value will both be handled with type + string. But interns will be handled differently. Normally the idl + string represents a unicode string. </p> + */ +published enum RegistryValueType +{ + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR RegistryValueType:: NOT_DEFINED, + + // DocMerge from xml: value com::sun::star::registry::RegistryValueType::NOT_DEFINED + /** the type of the key is not defined. + */ + NOT_DEFINED, + + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR RegistryValueType:: LONG, + + // DocMerge from xml: value com::sun::star::registry::RegistryValueType::LONG + /** the type of the key is long. + */ + LONG, + + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR RegistryValueType:: ASCII, + + // DocMerge from xml: value com::sun::star::registry::RegistryValueType::ASCII + /** the type of the key is ASCII. + */ + ASCII, + + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR RegistryValueType:: STRING, + + // DocMerge from xml: value com::sun::star::registry::RegistryValueType::STRING + /** the type of the key is a string. + */ + STRING, + + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR RegistryValueType:: BINARY, + + // DocMerge from xml: value com::sun::star::registry::RegistryValueType::BINARY + /** the type of the key is binary. + */ + BINARY, + + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR RegistryValueType:: LONGLIST, + + // DocMerge from xml: value com::sun::star::registry::RegistryValueType::LONGLIST + /** the type of the key is LONGLIST. + */ + LONGLIST, + + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR RegistryValueType:: ASCIILIST, + + // DocMerge from xml: value com::sun::star::registry::RegistryValueType::ASCIILIST + /** the type of the key is a ASCIILIST. + */ + ASCIILIST, + + //------------------------------------------------------------------------- + // DOCUMENTATION OMITTED FOR RegistryValueType:: STRINGLIST + + // DocMerge from xml: value com::sun::star::registry::RegistryValueType::STRINGLIST + /** the type of the key is a STRINGLIST. + */ + STRINGLIST + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/SimpleRegistry.idl b/udkapi/com/sun/star/registry/SimpleRegistry.idl new file mode 100644 index 000000000000..122b707cd3bb --- /dev/null +++ b/udkapi/com/sun/star/registry/SimpleRegistry.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_SimpleRegistry_idl__ +#define __com_sun_star_registry_SimpleRegistry_idl__ + +#ifndef __com_sun_star_registry_XSimpleRegistry_idl__ +#include <com/sun/star/registry/XSimpleRegistry.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::registry::SimpleRegistry +/** makes it possible to create, open, or close a registry. Further, it is + possible to merge a registry under a specified key in the open registry. + + Guarantees: + <ul> + <li>-thread safe</li> + </ul> + */ +published service SimpleRegistry +{ + // DocMerge: empty anyway + interface com::sun::star::registry::XSimpleRegistry; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/XImplementationRegistration.idl b/udkapi/com/sun/star/registry/XImplementationRegistration.idl new file mode 100644 index 000000000000..50ea2f8fd966 --- /dev/null +++ b/udkapi/com/sun/star/registry/XImplementationRegistration.idl @@ -0,0 +1,128 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_XImplementationRegistration_idl__ +#define __com_sun_star_registry_XImplementationRegistration_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_registry_XSimpleRegistry_idl__ +#include <com/sun/star/registry/XSimpleRegistry.idl> +#endif + +#ifndef __com_sun_star_registry_CannotRegisterImplementationException_idl__ +#include <com/sun/star/registry/CannotRegisterImplementationException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::registry::XImplementationRegistration +/** offers a registry for implementation objects and provides information + about the registered implementations. + */ +published interface XImplementationRegistration: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::registry::XImplementationRegistration::registerImplementation + /** registers a component which provides one or more implementations. + + @param aLocation + specifies the location of the component with the URL. + + @param xReg + specifies the registry where the component should be installed. + If it is a NULL interface, then the component will be installed + in the system registry (if this feature is supported). + */ + void registerImplementation( [in] string aImplementationLoader, + [in] string aLocation, + [in] com::sun::star::registry::XSimpleRegistry xReg ) + raises( com::sun::star::registry::CannotRegisterImplementationException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::registry::XImplementationRegistration::revokeImplementation + /** revokes a component and all their provided implementations from the registry. + + @param aLocation + specifies the location of the component with the URL. + + @param xReg + specifies the registry where the component should be installed. + If it is a NULL interface, then the component will be revoked + from the system registry (if this feature is supported). + */ + boolean revokeImplementation( [in] string aLocation, + [in] com::sun::star::registry::XSimpleRegistry xReg ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XImplementationRegistration::getImplementations + + // DocMerge from idl: method com::sun::star::registry::XImplementationRegistration::getImplementations + /** @returns + the names of the implementations registered by the url location. + + @param aImplementationLoader + specifies the name of the needed loader for this type of implementation. For + example, the loader "com.sun.star.loader.SharedLibrary" for implementations + that are realized as an SharedLibrary. + + @param aLocation + specifies the location of the component with the URL. + */ + sequence<string> getImplementations( [in] string aImplementationLoader, + [in] string aLocation ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XImplementationRegistration::checkInstantiation + + // DocMerge from idl: method com::sun::star::registry::XImplementationRegistration::checkInstantiation + /** @returns + a sequence with names of the missing services to create an instance of this implementation. + + @param implementationName + specifies the name of the checked implementation. + */ + sequence<string> checkInstantiation( [in] string implementationName ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/XImplementationRegistration2.idl b/udkapi/com/sun/star/registry/XImplementationRegistration2.idl new file mode 100644 index 000000000000..01c97b8274ab --- /dev/null +++ b/udkapi/com/sun/star/registry/XImplementationRegistration2.idl @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_XImplementationRegistration2_idl__ +#define __com_sun_star_registry_XImplementationRegistration2_idl__ + +#ifndef __com_sun_star_registry_XImplementationRegistration_idl__ +#include <com/sun/star/registry/XImplementationRegistration.idl> +#endif +//============================================================================= + + module com { module sun { module star { module registry { + +//============================================================================= + +/** extends the functionality of <type scope="com::sun::star::registry">XImplementationRegistration</type>. It can be useful to specify a complete Url to a component but register the components name only (library or jar name). + + @since OOo 2.4 + */ +interface XImplementationRegistration2: com::sun::star::registry::XImplementationRegistration +{ + //------------------------------------------------------------------------- + + /** registers a component which provides one or more implementations. + + @param aLocation + specifies the location of the component with the URL. + + @param aRegisteredLocation + the URL with which the component is actually registered. + + @param xReg + specifies the registry where the component should be installed. + If it is a NULL interface, then the component will be installed + in the system registry (if this feature is supported). + */ + void registerImplementationWithLocation( [in] string aImplementationLoader, + [in] string aLocation, [in] string aRegisteredLocation, + [in] com::sun::star::registry::XSimpleRegistry xReg ) + raises( com::sun::star::registry::CannotRegisterImplementationException ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/registry/XRegistryKey.idl b/udkapi/com/sun/star/registry/XRegistryKey.idl new file mode 100644 index 000000000000..7920ca6945c0 --- /dev/null +++ b/udkapi/com/sun/star/registry/XRegistryKey.idl @@ -0,0 +1,466 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_XRegistryKey_idl__ +#define __com_sun_star_registry_XRegistryKey_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_registry_InvalidRegistryException_idl__ +#include <com/sun/star/registry/InvalidRegistryException.idl> +#endif + +#ifndef __com_sun_star_registry_RegistryKeyType_idl__ +#include <com/sun/star/registry/RegistryKeyType.idl> +#endif + +#ifndef __com_sun_star_registry_RegistryValueType_idl__ +#include <com/sun/star/registry/RegistryValueType.idl> +#endif + +#ifndef __com_sun_star_registry_InvalidValueException_idl__ +#include <com/sun/star/registry/InvalidValueException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module registry { + +//============================================================================= +/** makes structural information (except regarding tree structures) + of a single registry key accessible. + + <p>This is the main interface for registry keys.<p> + + @see XSimpleRegistry +*/ +published interface XRegistryKey: com::sun::star::uno::XInterface +{ + //--------------------------------------------------------------------- + /** This is the key of the entry relative to its parent.<p> + + <p>The access path starts with the root "/" and all parent + entry names are delimited with slashes "/" too, like in a + UNIX (R) file system. Slashes which are part of single names + are represented as hexadecimals preceded with a "%" like in + URL syntax. + */ + [readonly, attribute] string KeyName; + + //------------------------------------------------------------------------- + /** checks if the key can be overwritten. + + @throws InvalidRegistryException + if the registry is not open. + */ + boolean isReadOnly() + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** checks if the key points to an open valid key in the data-source. + */ + boolean isValid(); + + //------------------------------------------------------------------------- + /** @returns + the type of the specified key. + + @param rKeyName + specifies the relative path from the current key to + the key of the type which will be returned. + + @throws InvalidRegistryException + if the registry is not open. + */ + com::sun::star::registry::RegistryKeyType getKeyType( [in] string rKeyName ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** @returns + the type of the key value or NOT_DEFINED if the key has no value. + + @throws InvalidRegistryException + if the registry is not open. + */ + com::sun::star::registry::RegistryValueType getValueType() + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** @returns + a long value if the key contains one. + + @throws InvalidRegistryException + if the registry is not open. + + @throws InvalidValueException + if the value is not of type long. + */ + long getLongValue() + raises( com::sun::star::registry::InvalidRegistryException, + com::sun::star::registry::InvalidValueException ); + + //------------------------------------------------------------------------- + /** sets a long value to the key. + + <p>If the key already has a value, the value will be + overridden. + + @throws InvalidRegistryException + if the registry is not open. + */ + void setLongValue( [in] long value ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XRegistryKey::getLongListValue + /** @returns + a sequence of longs if the key contains a long list value. + + @throws InvalidRegistryException + if the registry is not open. + + @throws InvalidValueException + if the actual value is not of type long list. + */ + sequence<long> getLongListValue() + raises( com::sun::star::registry::InvalidRegistryException, + com::sun::star::registry::InvalidValueException ); + + //------------------------------------------------------------------------- + /** sets a long list value to the key. + + <p>If the key already has a value, the value will be + overridden. + + @throws InvalidRegistryException + if the registry is not open. + */ + void setLongListValue( [in] sequence<long> seqValue ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XRegistryKey::getAsciiValue + /** @returns + an ascii string value if the key contains one. + + @throws InvalidRegistryException + if the registry is not open. + + @throws InvalidValueException + if the actual value is not of type ascii. + */ + string getAsciiValue() + raises( com::sun::star::registry::InvalidRegistryException, + com::sun::star::registry::InvalidValueException ); + + //------------------------------------------------------------------------- + /** sets an ASCII string value to the key. + + <p>The high byte of the string should be NULL. If not, there + is no guarantee that the string will be correctly transported. + If the key already has a value, the value will be overridden. + + @throws InvalidRegistryException + if the registry is not open. + */ + void setAsciiValue( [in] string value ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XRegistryKey::getAsciiListValue + /** @returns + a sequence of ascii strings if the key contains an asci list value. + + @throws InvalidRegistryException + if the registry is not open. + + @throws InvalidValueException + if the actual value is not of type ascii list. + */ + sequence<string> getAsciiListValue() + raises( com::sun::star::registry::InvalidRegistryException, + com::sun::star::registry::InvalidValueException ); + + //------------------------------------------------------------------------- + /** sets an ASCII string list value to the key. + + <p>The high byte of the string should be NULL. If not, there + is no guarantee that the string will be correctly transported. + If the key already has a value, the value will be overridden. + + @throws InvalidRegistryException + if the registry is not open. + */ + void setAsciiListValue( [in] sequence<string> seqValue ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XRegistryKey::getStringValue + /** @returns + a unicode string value if the key contains one. + + @throws InvalidRegistryException + if the registry is not open. + + @throws InvalidValueException + if the actual value is not of type string. + */ + string getStringValue() + raises( com::sun::star::registry::InvalidRegistryException, + com::sun::star::registry::InvalidValueException ); + + //------------------------------------------------------------------------- + /** sets a unicode string value to the key. + + <p> If the key already has a value, the value will be + overridden. + + @throws InvalidRegistryException + if the registry is not open. + */ + void setStringValue( [in] string value ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XRegistryKey::getStringListValue + /** @returns + a sequence of unicode strings if the key contains an unicode string list value. + + @throws InvalidRegistryException + if the registry is not open. + + @throws InvalidValueException + if the actual value is not of type string list. + */ + sequence<string> getStringListValue() + raises( com::sun::star::registry::InvalidRegistryException, + com::sun::star::registry::InvalidValueException ); + + //------------------------------------------------------------------------- + /** sets a unicode string value to the key. + + <p>If the key already has a value, the value will be overridden. + + @throws InvalidRegistryException + if the registry is not open. + */ + void setStringListValue( [in] sequence<string> seqValue ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XRegistryKey::getBinaryValue + /** @returns + a binary value if the key contains one. + + @throws InvalidRegistryException + if the registry is not open. + + @throws InvalidValueException + if the actual value is not of type binary. + */ + sequence<byte> getBinaryValue() + raises( com::sun::star::registry::InvalidRegistryException, + com::sun::star::registry::InvalidValueException ); + + //------------------------------------------------------------------------- + /** sets a binary value to the key. + + <p>If the key already has a value, the value will be + overridden. + + @throws InvalidRegistryException + if the registry is not open. + */ + void setBinaryValue( [in] sequence<byte> value ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** opens a sub key of the key. + + <p>If the sub key does not exist, the function returns a + NULL-interface. + + @param aKeyName + the relative path from the current key to the key + which will be created. + + @returns + a NULL interface if the key does not exist. + + @throws InvalidRegistryException + if the registry is not open. + */ + com::sun::star::registry::XRegistryKey openKey( [in] string aKeyName ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** creates a new key in the registry.<p> + + <p>If the key already exists, the function will open the key. + + @param aKeyName + specifies the relative path from the current key to + the key which will be created. + + @returns + a NULL interface if the key could not be created. + + @throws InvalidRegistryException + if the registry is not open, the registry is readonly + or if the key exists and is of type LINK. + */ + com::sun::star::registry::XRegistryKey createKey( [in] string aKeyName ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** closes a key in the registry. + + @throws InvalidRegistryException + if the registry is not open. + */ + void closeKey() + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** deletes a key from the registry. + + @param aKeyName + specifies the relative path from the current key to + the key which will be deleted. + + @throws InvalidRegistryException + if the registry is not open, the registry is readonly, + the key does not exists or if the key is of type LINK. + */ + void deleteKey( [in] string rKeyName ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XRegistryKey::openKeys + /** opens all subkeys of the key. If a subkey is a link, the link will be + resolved and the appropriate key will be opened. + + @returns + an empty sequence if the key has no subkeys. + + @throws InvalidRegistryException + if the registry is not open. + */ + sequence<com::sun::star::registry::XRegistryKey> openKeys() + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XRegistryKey::getKeyNames + /** @returns a sequence with the names of all subkeys of the key. + If the key has no subkeys, the function returns an empty sequence. If a subkey is + a link, the name of the link will be returned. + + @throws InvalidRegistryException + if the registry is not open. + */ + sequence<string> getKeyNames() + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** creates a new link in the registry. + + @returns + <TRUE/> if the link was created. If the link already + exists or the link target does not exist, the + function returns <FALSE/>. + + @param aLinkName + specifies the relative path from the current key to + the link which will be created. + + @param aLinkTarget + specifies the full path of the key which will be + referenced by the link. + + @throws InvalidRegistryException + if the registry is not open or the registry is + readonly. + + */ + boolean createLink( [in] string aLinkName, + [in] string aLinkTarget ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** deletes a link from the registry. + + @param aLinkName + specifies the relative path from the current key to + the link which will be deleted. + + @throws InvalidRegistryException + if the registry is not open, the registry is readonly, + or if the link does not exist. + */ + void deleteLink( [in] string rLinkName ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XRegistryKey::getLinkTarget + /** @returns + the target (complete path of a key) of the link specified by rLinkName. + + @param rLinKName + specifies the relative path from the current key to + the link which target will be returned. + + @throws InvalidRegistryException + if the registry is not open or the link does not exists. + */ + string getLinkTarget( [in] string rLinkName ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + // DOCUMENTATION CHANGED FOR XRegistryKey::getResolvedName + /** @returns + the resolved name of a key. The function resolve the complete name of the key. + If a link could not be resolved, the linktarget concatenated with the unresolved rest + of the name, will be returned. + + @param rKeyName + specifies a relative path from the current key which will be resolved from all links. + + @throws InvalidRegistryException + if the registry is not open or a recursion was detected. + */ + string getResolvedName( [in] string aKeyName ) + raises( com::sun::star::registry::InvalidRegistryException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/registry/XSimpleRegistry.idl b/udkapi/com/sun/star/registry/XSimpleRegistry.idl new file mode 100644 index 000000000000..4ebd9f4cd7c1 --- /dev/null +++ b/udkapi/com/sun/star/registry/XSimpleRegistry.idl @@ -0,0 +1,159 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_registry_XSimpleRegistry_idl__ +#define __com_sun_star_registry_XSimpleRegistry_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_registry_InvalidRegistryException_idl__ +#include <com/sun/star/registry/InvalidRegistryException.idl> +#endif + +#ifndef __com_sun_star_registry_XRegistryKey_idl__ +#include <com/sun/star/registry/XRegistryKey.idl> +#endif + +#ifndef __com_sun_star_registry_MergeConflictException_idl__ +#include <com/sun/star/registry/MergeConflictException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module registry { + +//============================================================================= +/** allows access to a registry (a persistent data source). + The data is stored in a hierarchical key structure beginning with a root key. + Each key can store a value and can have multiple subkeys. + + @see XRegistryKey +*/ +published interface XSimpleRegistry: com::sun::star::uno::XInterface +{ + //--------------------------------------------------------------------- + /** returns the URL of the current data source of the registry. + */ + string getURL(); + + //------------------------------------------------------------------------- + /** connects the registry to a persistent data source represented by + an URL. + + <p>If a local registry is already open, this function + will close the currently open registry. + + @param aURL + specifies the complete URL to access the data source. + + @param bReadOnly + specifies if the data source should be opened for + read only. + + @param bCreate + specifies if the data source should be created if it + does not already exist. + + @throws InvalidRegistryException + if the registry does not exist. + */ + void open( [in] string rURL, + [in] boolean bReadOnly, + [in] boolean bCreate ) + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** checks if the registry points to a valid data-source. + */ + boolean isValid(); + + //------------------------------------------------------------------------- + /** disconnects the registry from the data-source. + + @throws InvalidRegistryException + if the registry is not open. + */ + void close() + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** destroys the registry and the data source. + + @throws InvalidRegistryException + if the registry is not open. + */ + void destroy() + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** @returns + the root key of the registry. + + @throws InvalidRegistryException + if no registry is open + */ + com::sun::star::registry::XRegistryKey getRootKey() + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** checks if the registry is readonly. + + @throws InvalidRegistryException + if the registry is not open. + */ + boolean isReadOnly() + raises( com::sun::star::registry::InvalidRegistryException ); + + //------------------------------------------------------------------------- + /** DEPRECATED: this method lacks a registry key (better than a URL). + + merges a registry under the specified key. + + <p>If the key does not exist it will be created. Existing + keys will be overridden from keys of registry specified by + <var>aUrl</var>. + + @throws InvalidRegistryException + if the registry is not open. + + @throws MergeConflictException + if any differences occur during merging + */ + void mergeKey( [in] string aKeyName, + [in] string aUrl ) + raises( com::sun::star::registry::InvalidRegistryException, + com::sun::star::registry::MergeConflictException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/registry/makefile.mk b/udkapi/com/sun/star/registry/makefile.mk new file mode 100644 index 000000000000..0e420aa848f6 --- /dev/null +++ b/udkapi/com/sun/star/registry/makefile.mk @@ -0,0 +1,59 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssregistry +PACKAGE=com$/sun$/star$/registry + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + CannotRegisterImplementationException.idl\ + DefaultRegistry.idl\ + ImplementationRegistration.idl\ + InvalidRegistryException.idl\ + InvalidValueException.idl\ + MergeConflictException.idl\ + NestedRegistry.idl\ + RegistryKeyType.idl\ + RegistryValueType.idl\ + SimpleRegistry.idl\ + XImplementationRegistration.idl\ + XImplementationRegistration2.idl\ + XRegistryKey.idl\ + XSimpleRegistry.idl\ + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/script/AllEventObject.idl b/udkapi/com/sun/star/script/AllEventObject.idl new file mode 100644 index 000000000000..3ecaf84896ff --- /dev/null +++ b/udkapi/com/sun/star/script/AllEventObject.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_AllEventObject_idl__ +#define __com_sun_star_script_AllEventObject_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** This event is a wrapper for an original event in a forwarding event. + + <p> Usually the original event is the first argument in the + array of arguments. </p> + */ +published struct AllEventObject: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + /** A helper value for the implementation that can be used arbitrarily. + + <p>This field reflects the third parameter of the method + <member>XAllListenerAdapterService::createAllListerAdapter</member>. + </p> + */ + any Helper; + + //------------------------------------------------------------------------- + /** contains the type of the original listener. + */ + type ListenerType; + + //------------------------------------------------------------------------- + /** The original method name on which the event was fired. + */ + string MethodName; + + //------------------------------------------------------------------------- + /** The arguments of the original method. + */ + sequence<any> Arguments; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/AllListenerAdapter.idl b/udkapi/com/sun/star/script/AllListenerAdapter.idl new file mode 100644 index 000000000000..49e466108e53 --- /dev/null +++ b/udkapi/com/sun/star/script/AllListenerAdapter.idl @@ -0,0 +1,53 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_AllListenerAdapter_idl__ +#define __com_sun_star_script_AllListenerAdapter_idl__ + +#ifndef __com_sun_star_script_XAllListenerAdapterService_idl__ +#include <com/sun/star/script/XAllListenerAdapterService.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** makes it possible to generate the adapters from specific + interfaces to the interface <type>XAllListener</type>. + */ +published service AllListenerAdapter +{ + /// interface to create adapters for listener types + interface com::sun::star::script::XAllListenerAdapterService; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/ArrayWrapper.idl b/udkapi/com/sun/star/script/ArrayWrapper.idl new file mode 100644 index 000000000000..8f60780229c7 --- /dev/null +++ b/udkapi/com/sun/star/script/ArrayWrapper.idl @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XArrayWrapper_idl__ +#define __com_sun_star_script_XArrayWrapper_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= +module com { module sun { module star { module script { + +//============================================================================= +/** Allows an UNO sequence that is passed between different language + boundries to indicate it prefers to be represented as a multidimensional + array with 0 or 1 based indices. UNO does not natively represent + Multi-Dimensional arrays, instead a sequence can have elements that are + themselves sequences (an array of arrays ). <p>Some languages ( example + BASIC ) can natively represent both Multi-Dimentional arrays and array of + arrays. + Those languages could represent a sequence of sequences as either a + Multi-Dimentional array or array of arrays. This structure allows a + preference for a Multi-Dimensional array representation to be specified.</p> +*/ + +struct ArrayWrapper +{ + /** Indicates whether the Array should be have 1 or 0 based indexing. + */ + boolean IsZeroIndex; + /** Contains the Array to be passed. + <p> Multi-dimensional arrays can only be represented as a sequence where the elements of the sequence are themselves sequences. N-Levels of indirection are possible, where N is the number of dimensions. Note: its perfectly legal to use this structure with a single dimensioned array just to indicate the array indexing.</p> + */ + any Array; +}; + +//============================================================================= + +}; }; }; }; + +#endif + + diff --git a/udkapi/com/sun/star/script/BasicErrorException.idl b/udkapi/com/sun/star/script/BasicErrorException.idl new file mode 100644 index 000000000000..63a91b8e6373 --- /dev/null +++ b/udkapi/com/sun/star/script/BasicErrorException.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_BasicErrorException_idl__ +#define __com_sun_star_script_BasicErrorException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module script { + +//============================================================================= + +/** is thrown in order to transport an error to Basic. + + @since OOo 2.0.0 + */ +published exception BasicErrorException: com::sun::star::uno::Exception +{ + //------------------------------------------------------------------------- + + /** The error code. + */ + long ErrorCode; + + //------------------------------------------------------------------------- + + /** Specifies the argument which is used in the localized error message for + the placeholder. + */ + string ErrorMessageArgument; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/script/CannotConvertException.idl b/udkapi/com/sun/star/script/CannotConvertException.idl new file mode 100644 index 000000000000..1d2ba4e2c910 --- /dev/null +++ b/udkapi/com/sun/star/script/CannotConvertException.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_CannotConvertException_idl__ +#define __com_sun_star_script_CannotConvertException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +#ifndef __com_sun_star_uno_TypeClass_idl__ +#include <com/sun/star/uno/TypeClass.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** This exception is thrown to indicate that a type conversion can not be performed. +*/ +published exception CannotConvertException: com::sun::star::uno::Exception +{ + /** This member contains the class of the type to which the value should be + converted. + */ + com::sun::star::uno::TypeClass DestinationTypeClass; + + /** This member contains the reason that the conversion failed. + Have a look at <type>FailReason</type>. + */ + long Reason; + + /** If the conversion of a method argument fails, this is the index + of the value in the "IN" argument list. [optional] + */ + long ArgumentIndex; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/script/CannotCreateAdapterException.idl b/udkapi/com/sun/star/script/CannotCreateAdapterException.idl new file mode 100644 index 000000000000..6b7d33d1873e --- /dev/null +++ b/udkapi/com/sun/star/script/CannotCreateAdapterException.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_CannotCreateAdapterException_idl__ +#define __com_sun_star_script_CannotCreateAdapterException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** is thrown by an attacher if an adapter service cannot create the + appropriate adapter. + + @see com::sun::star::script::XAllListenerAdapterService + @see com::sun::star::script::XEventAttacher + @see com::sun::star::script::XEventAttacherManager + */ +published exception CannotCreateAdapterException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/ContextInformation.idl b/udkapi/com/sun/star/script/ContextInformation.idl new file mode 100644 index 000000000000..9863017b90a2 --- /dev/null +++ b/udkapi/com/sun/star/script/ContextInformation.idl @@ -0,0 +1,99 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_ContextInformation_idl__ +#define __com_sun_star_script_ContextInformation_idl__ + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** provides information about a certain stack frame. + + @deprecated + */ +published struct ContextInformation +{ + /** Full qualified name to adress the module or function associated with the context. + If the module or function can't be adressed by name, e.g., in case that a runtime + generated eval-module is executed, this string is empty + */ + string Name; + + //------------------------------------------------------------------------- + /** Source code of the Module, that is associated with the context. If the source can + be accessed using the ModuleName or if the source is unknown (executing compiled + code) this string can be empty. + */ + string SourceCode; + + //------------------------------------------------------------------------- + /** contains the first line in the module's source code associated with + the context. + + <p>If "name" addresses a function, all line and column values + are nevertheless given relative to the module's source. If + source code is not available, this value addresses a binary + position in the compiled code. </p> + + @see XLibraryAccess::getModuleCode + @see XLibraryAccess::getFunctionCode + */ + long StartLine; + + //------------------------------------------------------------------------- + /** contains the first column in the <var>StartLine</var> associated with + the context. + */ + long StartColumn; + + //------------------------------------------------------------------------- + + /** contains the last line in the module's source code associated with + the context. + */ + long EndLine; + + //------------------------------------------------------------------------- + /** contains the first column in the <var>EndLine</var> that is NOT + associated with the context. + */ + long EndColumn; + + //------------------------------------------------------------------------- + /** Get all names of the local variable in this context. + */ + sequence<string> LocalVariableNames; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/Converter.idl b/udkapi/com/sun/star/script/Converter.idl new file mode 100644 index 000000000000..f0a9167ab074 --- /dev/null +++ b/udkapi/com/sun/star/script/Converter.idl @@ -0,0 +1,104 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_Converter_idl__ +#define __com_sun_star_script_Converter_idl__ + +#ifndef __com_sun_star_script_XTypeConverter_idl__ +#include <com/sun/star/script/XTypeConverter.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** This service provides a widening converter converting from one type to another, + if possible. + + <p>What is possible? + <ul> + <li>byte: byte, (short *1), (long *1), (hyper *1), (float *1), (double *1), (enum *2), (any *3), boolean, (char *4), (string *5)</li> + <li>short: byte, short, (long *1), (hyper *1), (float *7), (double *7), (enum *2), (any *3), boolean, char, (string *5)</li> + <li>long: byte, short, long, (hyper *1), (float *7), (double *7), enum, (any *3), boolean, char, (string *5)</li> + <li>hyper: byte, short, long, hyper, (float *7), (double *7), enum, (any *3), boolean, char, (string *5)</li> + <li>float: byte, short, long, hyper, float, (double *7), (enum *8), (any *3), boolean, char, (string *5)</li> + <li>double: byte, short, long, hyper, float, double, enum, (any *3), boolean, char, (string *5)</li> + <li>enum: (byte *9), (short *9), (long *9), (hyper *9), (float *9), (double *9), (enum *10), (any *3), (string *11)</li> + <li>void: ok for all types</li> + <li>any: ok for all types</li> + <li>boolean: byte, short, long, hyper, float, double, (any *3), boolean, char, (string *12). 0 => false, != 0 => true</li> + <li>char: byte, short, (long *1), (hyper *1), (float *7), (double *7), enum, (any *3), boolean, char, (string *13)</li> + <li>string: byte, short, long, hyper, float, double, enum, (any *3), boolean, char, string</li> + <li>struct: (any *3), (struct *14)</li> + <li>interface: (any *3), (struct *14)</li> + <li>exception: (any *3), (exception *14)</li> + <li>union: (any *3), (union *14)</li> + <li>sequence: (any *3), (sequence *15)</li> + </ul> + rules: + <ul> + <li>1: only converts if the value is in the range of the target type.</li> + <li>2: only converts if the value, not the position, of the enum is in the range of the target type.</li> + <li>3: get value until it is not an any. Then convert it with the other rules.</li> + <li>4: only converts if the value of the character is between 0 - 255.</li> + <li>5: only converts if the value represents a decimal, hexadecimal (0x...) or a floating point number. + Examples: 10, 0x10, 10.045, 10,555, +10, +10.6e10, -10.6e-10, .16.</li> + <li>7: only converts if the value is in the range of the target type. + The value is rounded to an integer.</li> + <li>8: only converts if the float can be converted back to the same enum value.</li> + <li>9: only converts if the number is one of the enumeration type values. Normally you need + reflection information of the enum type.</li> + <li>10: only converts if it is the same enumeration type.</li> + <li>11: only converts if the string contains the name of an enumeration type value. Normally you need + core reflection information of the enum type.</li> + <li>12: only converts if the value of the string is "1", "true" or "0", "false". The comparision + is case insensitive.</li> + <li>13: only converts if the length of the string is 1 or 0.</li> + <li>14: only converts if the types are equal or the source type is derived from the destination + type.</li> + <li>15: only converts if each element of the source sequence can be converted to an element + of the destination sequence.</li> + </ul> +*/ +published service Converter +{ + /** Conversion interface. + */ + interface com::sun::star::script::XTypeConverter; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/script/Engine.idl b/udkapi/com/sun/star/script/Engine.idl new file mode 100644 index 000000000000..5e193a7fe679 --- /dev/null +++ b/udkapi/com/sun/star/script/Engine.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_Engine_idl__ +#define __com_sun_star_script_Engine_idl__ + +#ifndef __com_sun_star_script_XEngine_idl__ +#include <com/sun/star/script/XEngine.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +// DocMerge from xml: service com::sun::star::script::Engine +/** service that any scripting engine must implement. + + <p>The implementation of this + interface should supply the interfaces com.sun.star.script.XDebugging2 and + interface com.sun.star.script.XInvocation.</p> + @deprecated + */ +published service Engine +{ + /// The only interface of this service + interface com::sun::star::script::XEngine; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/FailReason.idl b/udkapi/com/sun/star/script/FailReason.idl new file mode 100644 index 000000000000..a8f02fe3a19a --- /dev/null +++ b/udkapi/com/sun/star/script/FailReason.idl @@ -0,0 +1,91 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_FailReason_idl__ +#define __com_sun_star_script_FailReason_idl__ + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** These values specify the reason why a type conversion failed. +*/ +published constants FailReason +{ + /** The given value does not fit in the range of the destination type. + */ + const long OUT_OF_RANGE = 1; + + /** The given value cannot be converted to a number. + */ + const long IS_NOT_NUMBER = 2; + + /** The given value cannot be converted to an enumeration. + */ + const long IS_NOT_ENUM = 3; + + /** The given value cannot be converted to a boolean. + */ + const long IS_NOT_BOOL = 4; + + /** The given value is not an interface or cannot queried to the right interface. + */ + const long NO_SUCH_INTERFACE = 5; + + /** The given value cannot be converted to right structure or exception type. + */ + const long SOURCE_IS_NO_DERIVED_TYPE = 6; + + /** The type class of the given value is not supported. + */ + const long TYPE_NOT_SUPPORTED = 7; + + /** The given value cannot be converted and none of the other reasons match. + */ + const long INVALID = 8; + + /** This value is deprecated. Do not use. + @deprecated + */ + const long NO_DEFAULT_AVAILABLE = 9; + + /** This value is deprecated. Do not use. + @deprecated + */ + const long UNKNOWN = 10; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/script/FinishEngineEvent.idl b/udkapi/com/sun/star/script/FinishEngineEvent.idl new file mode 100644 index 000000000000..7ec3d6818657 --- /dev/null +++ b/udkapi/com/sun/star/script/FinishEngineEvent.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_FinishEngineEvent_idl__ +#define __com_sun_star_script_FinishEngineEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +#ifndef __com_sun_star_script_FinishReason_idl__ +#include <com/sun/star/script/FinishReason.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** event contains the reasons and the data for the + <member>XEngineListener::finished()</member> method. + @deprecated + */ +published struct FinishEngineEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + /** specifies why the script terminates. + */ + com::sun::star::script::FinishReason Finish; + + //------------------------------------------------------------------------- + /** error message. + + <p>Only valid if Reason is RuntimeError or CompileError.</p> + */ + string ErrorMessage; + + //------------------------------------------------------------------------- + /** contains the return value. + + <p>This field is only valid if <member>FinishEngineEvent::Finish</member> is + <const>FinishReason::OK</const>.</p> + */ + any Return; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/FinishReason.idl b/udkapi/com/sun/star/script/FinishReason.idl new file mode 100644 index 000000000000..068769e59130 --- /dev/null +++ b/udkapi/com/sun/star/script/FinishReason.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_FinishReason_idl__ +#define __com_sun_star_script_FinishReason_idl__ + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** contains the response for a scripting engine termination. + @deprecated + */ +published enum FinishReason +{ + //------------------------------------------------------------------------- + /** script in the engine terminated normally. + */ + OK, + + //------------------------------------------------------------------------- + /** script in the engine was cancelled. + */ + Cancel, + + //------------------------------------------------------------------------- + /** error occurred during script execution or compiling. + */ + Error + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/InterruptEngineEvent.idl b/udkapi/com/sun/star/script/InterruptEngineEvent.idl new file mode 100644 index 000000000000..b89fcf74503d --- /dev/null +++ b/udkapi/com/sun/star/script/InterruptEngineEvent.idl @@ -0,0 +1,118 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_InterruptEngineEvent_idl__ +#define __com_sun_star_script_InterruptEngineEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +#ifndef __com_sun_star_script_InterruptReason_idl__ +#include <com/sun/star/script/InterruptReason.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** describes an interrupt which occurs in the scripting engine. + @deprecated + */ +published struct InterruptEngineEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + /** fully qualified name to address the module or function affected by the event that + took place. + + <p>If the module or function can't be addressed by name (for example, in case + that a runtime-generated eval-module is executed), this string is empty.</p> + */ + string Name; + + //------------------------------------------------------------------------- + /** source code of the Module affected by the event that took place. + + <p>If the source can + be accessed using the ModuleName, or if the source is unknown (executing compiled + code), this string can be empty.</p> + */ + string SourceCode; + + //------------------------------------------------------------------------- + /** contains the first line in the module's source code that is affected + by the event that took place. + + + + <p>If "name" addresses a function, all line and column values + are nevertheless given relative to the module's source. If + source code is not available, this value addresses a binary + position in the compiled code. </p> + + @see XLibraryAccess::getModuleCode + @see XLibraryAccess::getFunctionCode + */ + long StartLine; + + //------------------------------------------------------------------------- + /** contains the first column in the "StartLine" that is affected by the + event that took place. + */ + long StartColumn; + + //------------------------------------------------------------------------- + /** contains the last line in the module's source code that is affected + by the event that took place. + */ + long EndLine; + + //------------------------------------------------------------------------- + /** contains the first column in the "EndLine" which is NOT affected by + the event that took place. + */ + long EndColumn; + + //------------------------------------------------------------------------- + /** error message. + <p>Only valid if Reason is RuntimeError or CompileError.</p> + */ + string ErrorMessage; + + //------------------------------------------------------------------------- + /** contains the interrupt reason. + */ + com::sun::star::script::InterruptReason Reason; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/InterruptReason.idl b/udkapi/com/sun/star/script/InterruptReason.idl new file mode 100644 index 000000000000..c0e46a2b7f8d --- /dev/null +++ b/udkapi/com/sun/star/script/InterruptReason.idl @@ -0,0 +1,88 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_InterruptReason_idl__ +#define __com_sun_star_script_InterruptReason_idl__ + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** values used to specify the response for a scripting engine + interrupt. + @deprecated + */ +published enum InterruptReason +{ + //------------------------------------------------------------------------- + /** script execution was cancelled. + */ + Cancel, + + //------------------------------------------------------------------------- + /** runtime error occurred during script execution. + */ + RuntimeError, + + //------------------------------------------------------------------------- + /** script has invalid syntax. + */ + CompileError, + + //------------------------------------------------------------------------- + /** script stopped at a breakpoint. + */ + BreakPoint, + + //------------------------------------------------------------------------- + /** script stops because only one scripting engine command was executed. + */ + Step, + + //------------------------------------------------------------------------- + /** script stops because one step was executed. + */ + StepOver, + + //------------------------------------------------------------------------- + /** script stops because it leaves a function. + */ + StepOut, + + //------------------------------------------------------------------------- + /** script stop because one step was executed. + */ + StepStatement + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/Invocation.idl b/udkapi/com/sun/star/script/Invocation.idl new file mode 100644 index 000000000000..83eb11a37078 --- /dev/null +++ b/udkapi/com/sun/star/script/Invocation.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_Invocation_idl__ +#define __com_sun_star_script_Invocation_idl__ + +#ifndef __com_sun_star_lang_XSingleServiceFactory_idl__ +#include <com/sun/star/lang/XSingleServiceFactory.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** factory service that allows construction of Invocation objects. + + <p>Invoke createInstanceWithArguments() of XSingleServiceFactory + to create an Invocation adapter for the passed object (Invoking + createInstance() will fail).</p> + <p> + The adapter has to support <type scope="com::sun::star::script">XInvocation</type>. + The adapter may also support <type scope="com::sun::star::script">XInvocation2</type>. + </p> + */ +published service Invocation +{ + /// Interface to specify the object to be mapped by the invocation service. + interface com::sun::star::lang::XSingleServiceFactory; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/InvocationAdapterFactory.idl b/udkapi/com/sun/star/script/InvocationAdapterFactory.idl new file mode 100644 index 000000000000..9363de749d6a --- /dev/null +++ b/udkapi/com/sun/star/script/InvocationAdapterFactory.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_InvocationAdapterFactory_idl__ +#define __com_sun_star_script_InvocationAdapterFactory_idl__ + +#ifndef __com_sun_star_script_XInvocationAdapterFactory_idl__ +#include <com/sun/star/script/XInvocationAdapterFactory.idl> +#endif +#ifndef __com_sun_star_script_XInvocationAdapterFactory2_idl__ +#include <com/sun/star/script/XInvocationAdapterFactory2.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** Provides functionality to create an adapter that supports (a) + special interface type(s) and maps calls to the interface's + methods to an invocation interface. + + <p> + An adapter like this allows generic dispatch interfaces to + meet interface requirements, e.g. if a specific listener + interface has to be passed to an add...Listener method. + </p> + + <p> + The adapter has to support + <type scope="com::sun::star::script">XInvocationAdapterFactory</type>. + The adapter may also support + <type scope="com::sun::star::script">XInvocationAdapterFactory2</type>. + </p> + */ +published service InvocationAdapterFactory +{ + /** Interface for creating adapter objects. + This interface is deprecated. Use <type>XInvocationAdapterFactory2</type>. + @deprecated + */ + interface com::sun::star::script::XInvocationAdapterFactory; + + /** Interface for creating adapter objects. + */ + interface com::sun::star::script::XInvocationAdapterFactory2; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/InvocationInfo.idl b/udkapi/com/sun/star/script/InvocationInfo.idl new file mode 100644 index 000000000000..ba619e00461b --- /dev/null +++ b/udkapi/com/sun/star/script/InvocationInfo.idl @@ -0,0 +1,93 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_InvocationInfo_idl__ +#define __com_sun_star_script_InvocationInfo_idl__ + +#ifndef __com_sun_star_script_MemberType_idl__ +#include <com/sun/star/script/MemberType.idl> +#endif + +#ifndef __com_sun_star_reflection_ParamMode_idl__ +#include <com/sun/star/reflection/ParamMode.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** + This struct is used to specify information about object members + (methods or properties) accessed via XInvocation, such as names, + types, or parameters. + </p> + */ +published struct InvocationInfo +{ + + /** Name of the method or property. + */ + string aName; + + /** Kind of the member (method or property). + */ + MemberType eMemberType; + + /** Only for property members: + This field may contain zero or more constants of the + <type scope="com::sun::star::beans">PropertyAttribute</type> + constants group. It is not guaranteed that all necessary + constants are set to describe the property completely, + but a flag will only be set, if the corresponding charac- + teristic really exists. Example: If the READONLY flag + is set, the property is readonly. If it isn't set, the + property nevertheless can be readonly. + + For methods this field is irrelevant and is set to 0. + */ + short PropertyAttribute; + + /** Type of the member, for methods the return type + */ + type aType; + + /** Types method parameters, for properties this sequence is empty + */ + sequence< type > aParamTypes; + + /** Mode of method parameters (IN, OUT, INOUT), + for properties this sequence is empty. + */ + sequence< com::sun::star::reflection::ParamMode > aParamModes; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/JavaScript.idl b/udkapi/com/sun/star/script/JavaScript.idl new file mode 100644 index 000000000000..1134ed10c2f4 --- /dev/null +++ b/udkapi/com/sun/star/script/JavaScript.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_JavaScript_idl__ +#define __com_sun_star_script_JavaScript_idl__ + +#ifndef __com_sun_star_script_Engine_idl__ +#include <com/sun/star/script/Engine.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** service is implementation of a JavaScript interpreter. + + <p>The interpreter should be similar to JavaScript 1.1. The exact + behavior will be specified in future.</p> + @deprecated + */ +published service JavaScript +{ + /// Parent service + service com::sun::star::script::Engine; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/MemberType.idl b/udkapi/com/sun/star/script/MemberType.idl new file mode 100644 index 000000000000..fcb2eb43d76a --- /dev/null +++ b/udkapi/com/sun/star/script/MemberType.idl @@ -0,0 +1,51 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_MemberType_idl__ +#define __com_sun_star_script_MemberType_idl__ + +//============================================================================= + +module com { module sun { module star { module script { + +//============================================================================= +/** These values are used to specify a member accessible by + <type>XInvocation</type>. +*/ +published enum MemberType +{ + METHOD, + PROPERTY, + UNKNOWN +}; + + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/udkapi/com/sun/star/script/ScriptEvent.idl b/udkapi/com/sun/star/script/ScriptEvent.idl new file mode 100644 index 000000000000..040124dbafd0 --- /dev/null +++ b/udkapi/com/sun/star/script/ScriptEvent.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_ScriptEvent_idl__ +#define __com_sun_star_script_ScriptEvent_idl__ + +#ifndef __com_sun_star_script_AllEventObject_idl__ +#include <com/sun/star/script/AllEventObject.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** script event that gets delivered whenever a script event takes place. + <p>For that to happen, a "ScriptEventDescriptor" must be registered at + and attached to an object by an <type>XEventAttacherManager</type>.</p> + */ +published struct ScriptEvent: com::sun::star::script::AllEventObject +{ + //------------------------------------------------------------------------- + /** type of the script language as string; for example, "Basic" or "StarScript". + */ + string ScriptType; + + //------------------------------------------------------------------------- + /** script code as string. + + <p>The code has to correspond with the language + defined by ScriptType.</p> + */ + string ScriptCode; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/ScriptEventDescriptor.idl b/udkapi/com/sun/star/script/ScriptEventDescriptor.idl new file mode 100644 index 000000000000..4cc7f85bda8e --- /dev/null +++ b/udkapi/com/sun/star/script/ScriptEventDescriptor.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_ScriptEventDescriptor_idl__ +#define __com_sun_star_script_ScriptEventDescriptor_idl__ + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** describes an effect, especially a script to be executed, + for a certain event given by the listener type and the name of the + event method. + */ +published struct ScriptEventDescriptor +{ + /** listener type as string, same as listener-XIdlClass.getName(). + */ + string ListenerType; + + //------------------------------------------------------------------------- + /** event method as string. + */ + string EventMethod; + + //------------------------------------------------------------------------- + /** data to be used if the addListener method needs an additional + parameter. + <p>If the type of this parameter is different from string, + it will be converted, when added.</p> + */ + string AddListenerParam; + + //------------------------------------------------------------------------- + /** type of the script language as string; for example, "Basic" or "StarScript". + */ + string ScriptType; + + //------------------------------------------------------------------------- + /** script code as string (the code has to correspond with the language + defined by ScriptType). + */ + string ScriptCode; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XAllListener.idl b/udkapi/com/sun/star/script/XAllListener.idl new file mode 100644 index 000000000000..d234edd05262 --- /dev/null +++ b/udkapi/com/sun/star/script/XAllListener.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XAllListener_idl__ +#define __com_sun_star_script_XAllListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_script_AllEventObject_idl__ +#include <com/sun/star/script/AllEventObject.idl> +#endif + +#ifndef __com_sun_star_reflection_InvocationTargetException_idl__ +#include <com/sun/star/reflection/InvocationTargetException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** specifies a listener combining all methods + of a listener interface in a single generic call. + + <p>Without any output parameters, it is possible to adapt any interface + if the <type>XAllListenerAdapterService</type> can generate an adapter.</p> + */ +published interface XAllListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** gets called when an event occurs at the object. + */ + [oneway] void firing( [in] com::sun::star::script::AllEventObject iaEvent ); + + //------------------------------------------------------------------------- + /** gets called when a "vetoable event" occurs at the object. + + <p>That happens when the listener method raises an exception, + has a return value declared, or is not "oneway".</p> + */ + any approveFiring( [in] com::sun::star::script::AllEventObject aEvent ) + raises( com::sun::star::reflection::InvocationTargetException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XAllListenerAdapterService.idl b/udkapi/com/sun/star/script/XAllListenerAdapterService.idl new file mode 100644 index 000000000000..d779be5a45b3 --- /dev/null +++ b/udkapi/com/sun/star/script/XAllListenerAdapterService.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XAllListenerAdapterService_idl__ +#define __com_sun_star_script_XAllListenerAdapterService_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + +#ifndef __com_sun_star_script_XAllListener_idl__ +#include <com/sun/star/script/XAllListener.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** allows the generation of adapters from specific + interfaces to the <type>XAllListener</type> interface. + */ +published interface XAllListenerAdapterService: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** creates a wrapper from the listener of type + <var>xListenerType</var> to the <type>XAllListener</type> + listener. + + To get the correct listener interface the returned + <type scope="com::sun::star::uno">XInterface</type> has to + be queried for it. + */ + com::sun::star::uno::XInterface createAllListerAdapter( [in] type xListenerType, + [in] com::sun::star::script::XAllListener xListener, + [in] any aHelper ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XDebugging.idl b/udkapi/com/sun/star/script/XDebugging.idl new file mode 100644 index 000000000000..55335e5c07eb --- /dev/null +++ b/udkapi/com/sun/star/script/XDebugging.idl @@ -0,0 +1,153 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XDebugging_idl__ +#define __com_sun_star_script_XDebugging_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_script_ContextInformation_idl__ +#include <com/sun/star/script/ContextInformation.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::script::XDebugging +/** makes it possible to set breakpoints in an interpreter. + @deprecated + */ +published interface XDebugging: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns the source code line where the breakpoint was set. + + <p>The value can differ from the parameter + <var>nSourceCodeLine</var> when this is not a valid line to + place it. -1 indicates that the breakpoint cannot be set at + this position. + */ + long setBreakPoint( [in] string aModuleName, + [in] long nSourceCodeLine, + [in] boolean bOn ); + + //------------------------------------------------------------------------- + /** clears all breakpoints in the module set by "setBreakPoint". + */ + void clearAllBreakPoints( [in] string aModuleName ); + + //------------------------------------------------------------------------- + /** Evaluates an expression. + + @returns the value of the expression as string. + + @param CallStackPos Position in the call stack for which the expression + should be evaluated. 0 is the top/actual position in the call + in the call stack, 1 the next and so on. + */ + string eval( [in] string aSourceCode, + [in] short nCallStackPos ); + + //------------------------------------------------------------------------- + /** Returns the engine's stack trace of the current execute position. Line break is the delimiter. + */ + sequence<string> getStackTrace(); + + //------------------------------------------------------------------------- + /** returns more detailed information about a specified stack frame. + + @param nCallStackPos + specifies the position in the call stack for the + variables that should be delivered. + */ + com::sun::star::script::ContextInformation getContextInformation( [in] short nCallStackPos ); + + //------------------------------------------------------------------------- + /** returns the value of the variable at the given stack position. + */ + string dumpVariable( [in] string aVariableName, + [in] short nCallStackPos ); + + //------------------------------------------------------------------------- + /** sets the value of the specified variable within the specified + stack frame. + */ + void setVariable( [in] string aVariableName, + [in] string aValue, + [in] short nCallStackPos ); + + //------------------------------------------------------------------------- + /** returns whether the given variable exists within the specified stack frame. + */ + boolean isVariable( [in] string aVariableName, + [in] short nCallStackPos ); + + //------------------------------------------------------------------------- + /** stops the execution of the interpreter. + + <p>To continue with the execution, call <method>XDebugging::doContinue</method>. + */ + void stop(); + + //------------------------------------------------------------------------- + /** executes the next and only the next statement. + + <p>If the next statement is a function call, the function is + executed completely.</p> + */ + void stepOver(); + + //------------------------------------------------------------------------- + /** executes the next and only the next statement. + + <p>If the next statement is a function call, only the function + entered.</p> + */ + void stepIn(); + + //------------------------------------------------------------------------- + /** executes the program until the next return from this stack frame. + */ + void stepOut(); + + //------------------------------------------------------------------------- + /** continues the program execution. + */ + void doContinue(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XDefaultMethod.idl b/udkapi/com/sun/star/script/XDefaultMethod.idl new file mode 100644 index 000000000000..5a2409145e28 --- /dev/null +++ b/udkapi/com/sun/star/script/XDefaultMethod.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XDefaultMethod_idl__ +#define __com_sun_star_script_XDefaultMethod_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +module com { module sun { module star { module script { +//============================================================================== +/** + An object supporting this interface indicates to interested + parties or clients the name of the default method for + this object. + <p>For example where ExampleObject is an instance of an Object that + supports this interface which returns the default method name + "defaultMethod".A scripting engine could use this information to support + syntax like <p>"ExampleObject( Param1 .... ParamN )"</p> + which would be equivalent to writing + <p>"ExampleObject.defaultMethod( Param1 ... ParamN )"</p> +*/ +interface XDefaultMethod : ::com::sun::star::uno::XInterface +{ + //----------------------------------------------------------------------- + /** + Returns the name of the default method + + @return + The <atom>string</atom> name of default method + */ + string getDefaultMethodName(); + +}; + +}; }; }; }; +#endif diff --git a/udkapi/com/sun/star/script/XDefaultProperty.idl b/udkapi/com/sun/star/script/XDefaultProperty.idl new file mode 100644 index 000000000000..61bee2515eb4 --- /dev/null +++ b/udkapi/com/sun/star/script/XDefaultProperty.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XDefaultProperty_idl__ +#define __com_sun_star_script_XDefaultProperty_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +module com { module sun { module star { module script { +//============================================================================== +/** + An object supporting this interface indicates to interested + parties or clients the name of the default propery for + this object. + <p>For example where ExampleObject is an instance of an Object that + supports this interface which returns the default property name + "Value".A scripting engine could use this information to support + syntax like <p>ExampleObject = "foo"</p> + which would be equivalent to writing + <p>ExampleObject.Value = "foo"</p> + or + <p>bar = ExampleObject</p> + which would be equivalent to writing + <p>bar = ExampleObject.Value</p> +*/ +interface XDefaultProperty : ::com::sun::star::uno::XInterface +{ + //----------------------------------------------------------------------- + /** + Returns the name of the default property + + @return + The <atom>string</atom> name of default property + */ + string getDefaultPropertyName(); + +}; + +}; }; }; }; +#endif diff --git a/udkapi/com/sun/star/script/XDirectInvocation.idl b/udkapi/com/sun/star/script/XDirectInvocation.idl new file mode 100644 index 000000000000..8a37c47dd781 --- /dev/null +++ b/udkapi/com/sun/star/script/XDirectInvocation.idl @@ -0,0 +1,82 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XDirectInvocation_idl__ +#define __com_sun_star_script_XDirectInvocation_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_script_CannotConvertException_idl__ +#include <com/sun/star/script/CannotConvertException.idl> +#endif + +#ifndef __com_sun_star_reflection_InvocationTargetException_idl__ +#include <com/sun/star/reflection/InvocationTargetException.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** provides access to an object's methods and properties. + */ +published interface XDirectInvocation: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** provides access to methods and properties exposed by an object. + + @param aParams all parameters, out parameters are not supported + */ + any directInvoke( [in] string aName, + [in] sequence<any> aParams ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::script::CannotConvertException, + com::sun::star::reflection::InvocationTargetException ); + + //------------------------------------------------------------------------- + /** returns <TRUE/> if the method or property with the specified name exists, else <FALSE/>. + */ + boolean hasMember( [in] string aName ); +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/udkapi/com/sun/star/script/XEngine.idl b/udkapi/com/sun/star/script/XEngine.idl new file mode 100644 index 000000000000..17cfbe4b7426 --- /dev/null +++ b/udkapi/com/sun/star/script/XEngine.idl @@ -0,0 +1,132 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XEngine_idl__ +#define __com_sun_star_script_XEngine_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_script_XLibraryAccess_idl__ +#include <com/sun/star/script/XLibraryAccess.idl> +#endif + +#ifndef __com_sun_star_script_XEngineListener_idl__ +#include <com/sun/star/script/XEngineListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module script { + +//============================================================================= +/** makes it possible to control a scripting engine. + @deprecated + */ +published interface XEngine: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** sets an interface to an object as a scripting root. + + <p>If the root object implements the XInvocation interface, + then the engine uses this interface to set/get properties and + call methods. + </p> + */ + void setRoot( [in] com::sun::star::uno::XInterface xRoot ); + + //------------------------------------------------------------------------- + /** gets an interface to the object which is the scripting root. + */ + com::sun::star::uno::XInterface getRoot(); + + //------------------------------------------------------------------------- + /** sets an access object to get external functions. + */ + void setLibraryAccess( [in] com::sun::star::script::XLibraryAccess Library ); + + //------------------------------------------------------------------------- + /** compiles a script module in the scope of the root object. + */ + boolean compile( [in] string ModuleName, + [in] string Script, + [in] boolean CreateDebugInfo ); + + //------------------------------------------------------------------------- + /** runs a script specified by a string. + + <p>The arguments given in <var>aArgs</var> can be ignored by + the engine. The Script is executed synchronously.</p> + */ + any run( [in] string aScript, + [in] com::sun::star::uno::XInterface xThis, + [in] sequence<any> aArgs ); + + //------------------------------------------------------------------------- + /** runs the script specified by a string and makes callbacks. + + <p>The arguments given in <var>aArgs</var> can be ignored by + the engine. The script is executed asynchronously. + + </p> + */ + void runAsync( [in] string acript, + [in] com::sun::star::uno::XInterface xThis, + [in] sequence<any> args, + [in] com::sun::star::script::XEngineListener xCallback ); + + //------------------------------------------------------------------------- + /** terminates the execution of the running script. + + <p>The waiting queue is cleared too.</p> + */ + void cancel(); + + //------------------------------------------------------------------------- + /** adds an engine listener. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void addEngineListener( [in] com::sun::star::script::XEngineListener Listener ); + + //------------------------------------------------------------------------- + /** removes an engine listener. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void removeEngineListener( [in] com::sun::star::script::XEngineListener Listener ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XEngineListener.idl b/udkapi/com/sun/star/script/XEngineListener.idl new file mode 100644 index 000000000000..0ba2b2fe0d70 --- /dev/null +++ b/udkapi/com/sun/star/script/XEngineListener.idl @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XEngineListener_idl__ +#define __com_sun_star_script_XEngineListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_script_InterruptEngineEvent_idl__ +#include <com/sun/star/script/InterruptEngineEvent.idl> +#endif + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +#ifndef __com_sun_star_script_FinishEngineEvent_idl__ +#include <com/sun/star/script/FinishEngineEvent.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** makes it possible to receive events from a scripting engine. + @deprecated + */ +published interface XEngineListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** gets fired when an interrupt occurs during the script execution. + + <p>If you call the method, the execution stops. So in this situation, + the stack and variable values are still available by using the + appropriate <type>XDebugging</type> methods. + </p> + */ + void interrupt( [in] com::sun::star::script::InterruptEngineEvent Evt ); + + //------------------------------------------------------------------------- + /** gets fired when the script gets into execution state. + */ + void running( [in] com::sun::star::lang::EventObject Evt ); + + //------------------------------------------------------------------------- + /** gets fired when the script execution has finished. + */ + void finished( [in] com::sun::star::script::FinishEngineEvent Evt ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XEventAttacher.idl b/udkapi/com/sun/star/script/XEventAttacher.idl new file mode 100644 index 000000000000..7acc672af968 --- /dev/null +++ b/udkapi/com/sun/star/script/XEventAttacher.idl @@ -0,0 +1,123 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XEventAttacher_idl__ +#define __com_sun_star_script_XEventAttacher_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_script_XAllListener_idl__ +#include <com/sun/star/script/XAllListener.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_beans_IntrospectionException_idl__ +#include <com/sun/star/beans/IntrospectionException.idl> +#endif + +#ifndef __com_sun_star_script_CannotCreateAdapterException_idl__ +#include <com/sun/star/script/CannotCreateAdapterException.idl> +#endif + +#ifndef __com_sun_star_lang_ServiceNotRegisteredException_idl__ +#include <com/sun/star/lang/ServiceNotRegisteredException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** makes it possible to attach script events given by a sequence of + <type>ScriptEventDescriptor</type> structures to a given interface. + */ +published interface XEventAttacher: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** registers the given "AllListener" object as a listener at the + given interface by creating a suitable listener adapter and + calling the "addListener" method corresponding to the + "ListenerType". + */ + com::sun::star::lang::XEventListener attachListener( [in] com::sun::star::uno::XInterface xTarget, + [in] com::sun::star::script::XAllListener xAllListener, + [in] any aHelper, + [in] string aListenerType, + [in] string aAddListenerParam ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::beans::IntrospectionException, + com::sun::star::script::CannotCreateAdapterException, + com::sun::star::lang::ServiceNotRegisteredException ); + + //------------------------------------------------------------------------- + /** registers an object as a listener at the given interface by + creating a suitable listener adapter and calling the method + which corresponds to the listener type. + + <p>Only the event corresponding to the given event method + will be delegated to <var>xAllListener</var>.</p> + */ + com::sun::star::lang::XEventListener attachSingleEventListener( [in] com::sun::star::uno::XInterface xTarget, + [in] com::sun::star::script::XAllListener xAllListener, + [in] any aHelper, + [in] string aListenerType, + [in] string aAddListenerParam, + [in] string aEventMethod ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::beans::IntrospectionException, + com::sun::star::script::CannotCreateAdapterException, + com::sun::star::lang::ServiceNotRegisteredException ); + + //------------------------------------------------------------------------- + /** removes a listener object as a listener from the given interface. + + <p> This method can and should be used as a contrary method + to the two attach methods.</p> + */ + void removeListener( [in] com::sun::star::uno::XInterface xTarget, + [in] string aListenerType, + [in] string aRemoveListenerParam, + [in] com::sun::star::lang::XEventListener xToRemoveListener ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::beans::IntrospectionException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XEventAttacherManager.idl b/udkapi/com/sun/star/script/XEventAttacherManager.idl new file mode 100644 index 000000000000..16f209d876a5 --- /dev/null +++ b/udkapi/com/sun/star/script/XEventAttacherManager.idl @@ -0,0 +1,232 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XEventAttacherManager_idl__ +#define __com_sun_star_script_XEventAttacherManager_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_script_ScriptEventDescriptor_idl__ +#include <com/sun/star/script/ScriptEventDescriptor.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_ServiceNotRegisteredException_idl__ +#include <com/sun/star/lang/ServiceNotRegisteredException.idl> +#endif + +#ifndef __com_sun_star_script_XScriptListener_idl__ +#include <com/sun/star/script/XScriptListener.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** registers listeners for specified events. + */ +published interface XEventAttacherManager: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** registers one event for an object identified by its index. + + <p>If any object is attached under this index, then this + event is attached automatically.</p> + <p>Exceptions of type + <type scope="com::sun::star::beans">IntrospectionException</type> and + <type scope="com::sun::star::script">CannotCreateAdapterException</type> + that can be thrown by methods of <type>XEventAttacher</type> are caught + and ignored.</p> + */ + void registerScriptEvent( [in] long nIndex, + [in] com::sun::star::script::ScriptEventDescriptor aScriptEvent ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** registers several events for an object identified by its index. + + <p>The result is the same as if the method <member>registerScriptEvent + </member> was called once for each <type>ScriptEventDescriptor</type> + in the sequence.</p> + + <p>If any object is attached under this index, then this + event is attached automatically (see <member>attach</member>)</p> + + <p>Exceptions of type + <type scope="com::sun::star::beans">IntrospectionException</type> and + <type scope="com::sun::star::script">CannotCreateAdapterException</type> + that can be thrown by methods of <type>XEventAttacher</type> are caught + and ignored.</p> + + @see registerScriptEvent + @see attach + */ + void registerScriptEvents( [in] long nIndex, + [in] sequence<com::sun::star::script::ScriptEventDescriptor> aScriptEvents ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** revokes the registration of an event. + + <p>The parameters <var>ListenerType</var> and + <var>EventMethod</var> are equivalent to the first two + members of the <type>ScriptEventDescriptor</type> + used to register events. If this event at this index has + been attached to any object, it is detached automatically + (see <member>attach</member>).</p> + + <p>Exceptions of type + <type scope="com::sun::star::beans">IntrospectionException</type> and + <type scope="com::sun::star::script">CannotCreateAdapterException</type> + that can be thrown by methods of <type>XEventAttacher</type> are caught + and ignored.</p> + + @see attach + */ + void revokeScriptEvent( [in] long nIndex, + [in] string aListenerType, + [in] string aEventMethod, + [in] string aRemoveListenerParam ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** revokes all events which are registered for the given index. + + <p>If the events at this index have been attached to any + object, they are detached automatically. + (see <member>attach</member>).</p> + + @see attach + */ + void revokeScriptEvents( [in] long nIndex ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** creates an empty entry at the given position. + + <p>The index <var>n</var> of all entries with <code>n &gt;= + nIndex</code> will be increased by one.</p> + */ + void insertEntry( [in] long nIndex ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** removes the entry at the given position. + + <p>If any events are registered at this index, they will + be revoked, too. So if the events at this index have been + attached to any object they are detached automatically. + (see <member>attach</member>).</p> + + @see attach + */ + void removeEntry( [in] long nIndex ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** @eturns + all events registered for the given object index. + + @param Index + an index previously inserted with the method insertEntry. + + @throws IllegalArgumentException + if Index is not valid. + */ + sequence<com::sun::star::script::ScriptEventDescriptor> getScriptEvents( [in] long Index ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** attaches all the <type>ScriptEvent</type>s which are registered + for the given index to the given object. + + <p>Exceptions of type + <type scope="com::sun::star::beans">IntrospectionException</type> and + <type scope="com::sun::star::script">CannotCreateAdapterException</type> + that can be thrown by methods of <type>XEventAttacher</type> are caught + and ignored.</p> + */ + void attach( [in] long nIndex, + [in] com::sun::star::uno::XInterface xObject, + [in] any aHelper ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::ServiceNotRegisteredException ); + + //------------------------------------------------------------------------- + /** detaches all the <type>ScriptEvent</type>s from the given object + which are registered at this object for the given index. + + <p>Exceptions of type + <type scope="com::sun::star::beans">IntrospectionException</type> and + <type scope="com::sun::star::script">CannotCreateAdapterException</type> + that can be thrown by methods of <type>XEventAttacher</type> are caught + and ignored.</p> + */ + void detach( [in] long nIndex, + [in] com::sun::star::uno::XInterface xObject ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** adds an <type>XScriptListener</type> that will be notified when an + event takes place. For that a + <type>ScriptEventDescriptor</type> is registered at and + attached to an object by an <type>XEventAttacherManager</type>. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see removeScriptListener + */ + void addScriptListener( [in] com::sun::star::script::XScriptListener xListener ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** removes a <type>XScriptListener</type> from the listener list. + + <p>Nothing happens if the listener is not registered. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see addScriptListener + */ + void removeScriptListener( [in] com::sun::star::script::XScriptListener Listener ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XInvocation.idl b/udkapi/com/sun/star/script/XInvocation.idl new file mode 100644 index 000000000000..9299dc8f8802 --- /dev/null +++ b/udkapi/com/sun/star/script/XInvocation.idl @@ -0,0 +1,157 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XInvocation_idl__ +#define __com_sun_star_script_XInvocation_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XIntrospectionAccess_idl__ +#include <com/sun/star/beans/XIntrospectionAccess.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_script_CannotConvertException_idl__ +#include <com/sun/star/script/CannotConvertException.idl> +#endif + +#ifndef __com_sun_star_reflection_InvocationTargetException_idl__ +#include <com/sun/star/reflection/InvocationTargetException.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** gives access to an object's methods and properties. + Container access is available through + <type scope="com::sun::star::container">XIndexContainer</type>, + <type scope="com::sun::star::container">XNameContainer</type> and + <type scope="com::sun::star::container">XEnumerationAccess</type>. + </p> + */ +published interface XInvocation: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns the introspection from this object or <NULL/> + if the object does not provide this information. + */ + com::sun::star::beans::XIntrospectionAccess getIntrospection(); + + //------------------------------------------------------------------------- + /** provides access to methods exposed by an object. + + @param aParams all parameters; pure out params are undefined in sequence, + the value has to be ignored by the callee + @param aOutParamIndex This sequence contains the indices of all parameters + that are specified as out or inout. + @param aOutParam This sequence contains the values of all parameters that + are specified as out or inout and corresponds with the + indices provided by the aOutParamIndex sequence. + + Example: aOutParamIndex == { 1, 4 } means that + aOutParam[0] contains the out value of the aParams[1] + parameter and aOutParam[1] contains the out value of + the aParams[4] parameter. + */ + any invoke( [in] string aFunctionName, + [in] sequence<any> aParams, + [out] sequence<short> aOutParamIndex, + [out] sequence<any> aOutParam ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::script::CannotConvertException, + com::sun::star::reflection::InvocationTargetException ); + + //------------------------------------------------------------------------- + /** sets a value to the property with the specified name. + + <p> If the underlying object implements an + <type scope="com::sun::star::container">XNameContainer</type>, + then this method will insert the value if there is no such + <var>aPropertyName</var>. + + </p> + */ + void setValue( [in] string aPropertyName, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::script::CannotConvertException, + com::sun::star::reflection::InvocationTargetException ); + + //------------------------------------------------------------------------- + /** returns the value of the property with the specified name. + + @param aPropertyName + specifies the name of the property. + */ + any getValue( [in] string aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + /** returns <TRUE/> if the method with the specified name exists, else <FALSE/>. + + <p>This optimizes the calling sequence + ( <member>XInvocation::hasMethod</member>, + <member>XInvocation::invoke</member> )!</p> + + @param aName + specifies the name of the method. + */ + boolean hasMethod( [in] string aName ); + + //------------------------------------------------------------------------- + /** returns <TRUE/> if the property with the specified name exists, else <FALSE/>. + + <p>This optimizes the calling sequence + ( <member>XInvocation::hasProperty</member>, + <member>XInvocation::getValue</member> ) or + + ( <member>XInvocation::hasProperty</member>, + <member>XInvocation::setValue</member> )! + + @param aName + specifies the name of the property. + */ + boolean hasProperty( [in] string aName ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XInvocation2.idl b/udkapi/com/sun/star/script/XInvocation2.idl new file mode 100644 index 000000000000..5cc24aa3bd38 --- /dev/null +++ b/udkapi/com/sun/star/script/XInvocation2.idl @@ -0,0 +1,84 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XInvocation2_idl__ +#define __com_sun_star_script_XInvocation2_idl__ + +#ifndef __com_sun_star_script_XInvocation_idl__ +#include <com/sun/star/script/XInvocation.idl> +#endif + +#ifndef __com_sun_star_script_InvocationInfo_idl__ +#include <com/sun/star/script/InvocationInfo.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** + Extension of XInvocation to provide additional information + about the methods and properties that are accessable via + XInvocation. + </p> + */ +published interface XInvocation2: com::sun::star::script::XInvocation +{ + /** returns the names of all methods and properties accessable via XInvocation. + */ + sequence< string > getMemberNames(); + + /** returns information items for all methods and properties accessable via XInvocation. + + @see com::sun::star::script::Invocation + */ + sequence< InvocationInfo > getInfo(); + + /** returns information item for the method or property defined by aName + + @param aName + specifies the name of the method or property + + @param bExact + specifies the name of the method or property + + @throws IllegalArgumentException + if aName is not the name of a supported method or property + + @see com::sun::star::script::Invocation + */ + InvocationInfo getInfoForName( [in] string aName, [in] boolean bExact ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XInvocationAdapterFactory.idl b/udkapi/com/sun/star/script/XInvocationAdapterFactory.idl new file mode 100644 index 000000000000..6584bebbcb5f --- /dev/null +++ b/udkapi/com/sun/star/script/XInvocationAdapterFactory.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XInvocationAdapterFactory_idl__ +#define __com_sun_star_script_XInvocationAdapterFactory_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_script_XInvocation_idl__ +#include <com/sun/star/script/XInvocation.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** Interface to create adapter objects giving a type to be supported and a + an invocation interface incoming calls are delegated to. + + This interface is deprecated. Use <type>XInvocationAdapterFactory2</type>. + @deprecated +*/ +published interface XInvocationAdapterFactory: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** Creates an adapter interface of given type for calling the given + <type>XInvocation</type> interface. + + @param Invocation + invocation interface being called on incoming adapter calls + @param aType + supported type of adapter + + @returns + adapter interface; this interface can be queried for + XInterface and given type + */ + com::sun::star::uno::XInterface createAdapter( [in]XInvocation Invocation, [in]type aType ); +}; +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XInvocationAdapterFactory2.idl b/udkapi/com/sun/star/script/XInvocationAdapterFactory2.idl new file mode 100644 index 000000000000..90c2e57fc5a7 --- /dev/null +++ b/udkapi/com/sun/star/script/XInvocationAdapterFactory2.idl @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XInvocationAdapterFactory2_idl__ +#define __com_sun_star_script_XInvocationAdapterFactory2_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_script_XInvocation_idl__ +#include <com/sun/star/script/XInvocation.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module script { + +/** Interface to create adapter objects giving types to be supported and a + an invocation interface incoming calls are delegated to. +*/ +published interface XInvocationAdapterFactory2 : com::sun::star::uno::XInterface +{ + /** Creates an adapter interface of given types for calling the given + <type>XInvocation</type> interface. + + @param Invocation + invocation interface being called on incoming adapter calls + @param aType + supported types of adapter + + @returns + adapter interface; this interface can be queried for + XInterface and given types + */ + com::sun::star::uno::XInterface createAdapter( + [in] XInvocation Invocation, + [in] sequence< type > aTypes ); +}; +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XLibraryAccess.idl b/udkapi/com/sun/star/script/XLibraryAccess.idl new file mode 100644 index 000000000000..8bb54f02a2dd --- /dev/null +++ b/udkapi/com/sun/star/script/XLibraryAccess.idl @@ -0,0 +1,108 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XLibraryAccess_idl__ +#define __com_sun_star_script_XLibraryAccess_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** provides access to additional scripting code. + + <p>This code is organized in modules and these modules contain + the functions. It is possible to get just the code from a function, + but you can also get the whole code of a module with all functions in it.</p> + @deprecated + */ +published interface XLibraryAccess: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns <TRUE/>, if the function is accessible through this library; + otherwise it returns <FALSE/>. + + @param aFunctionName + the fully qualified name of a funtion. + (e.g., "UtilLibrary.ModuleDate.FunctionCurrentDate") + */ + boolean isFunction( [in] string aFunctionName ); + + //------------------------------------------------------------------------- + /** returns <TRUE/> if a fully qualified function name begins with this name. + + @param aPathName + a part of a function name (e.g., "UtilLibrary"). + */ + boolean isValidPath( [in] string aPathName ); + + //------------------------------------------------------------------------- + /** Return all module names which contain code. + e.g., { "UtilLibrary.ModuleDate", "UtilLibrary.Output", ... } + */ + sequence<string> getModuleNames(); + + //------------------------------------------------------------------------- + /** get the source code of a module. + */ + string getModuleSource( [in] string aModulName ); + + //------------------------------------------------------------------------- + /** Get the hole compiled code of a module. + + @param ModuleName the full qualified name of a module. + (e.g., "UtilLibrary.ModuleDate") + @return an empty sequence, if this module is not found or the + code is not compiled. + */ + sequence<byte> getModuleCode( [in] string aModuleName ); + + //------------------------------------------------------------------------- + /** get the source code of a function. + */ + string getFunctionSource( [in] string aFunctionName ); + + //------------------------------------------------------------------------- + /** Get the compiled code of a function. + + @param FunctionName the full qualified name of a function. + (e.g., "UtilLibrary.ModuleDate.Function.CurrentDate") + @return an empty sequence, if this function is not found. + */ + sequence<byte> getFunctionCode( [in] string FunctionName ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XScriptEventsAttacher.idl b/udkapi/com/sun/star/script/XScriptEventsAttacher.idl new file mode 100644 index 000000000000..d60a593fcf52 --- /dev/null +++ b/udkapi/com/sun/star/script/XScriptEventsAttacher.idl @@ -0,0 +1,101 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XScriptEventsAttacher_idl__ +#define __com_sun_star_script_XScriptEventsAttacher_idl__ + +#ifndef __com_sun_star_script_XScriptListener_idl__ +#include <com/sun/star/script/XScriptListener.idl> +#endif +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_beans_IntrospectionException_idl__ +#include <com/sun/star/beans/IntrospectionException.idl> +#endif + +#ifndef __com_sun_star_script_CannotCreateAdapterException_idl__ +#include <com/sun/star/script/CannotCreateAdapterException.idl> +#endif + +#ifndef __com_sun_star_lang_ServiceNotRegisteredException_idl__ +#include <com/sun/star/lang/ServiceNotRegisteredException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** + This interface can be used to attach script events to a number of + objects that give access to the definition of events that should + be attached to them, e.g., by supporting XEventsSupplier +*/ +published interface XScriptEventsAttacher: com::sun::star::uno::XInterface +{ + /** + Attaches the events defined by XScriptEventsSupplier to the + corresponding object implementing XScriptEventsSupplier. + + @param Objects + Sequence of all objects. Usually the objects should directly + support <type>XScriptEventsAttacher</type> to define the events + but this is not strictly required. It's also possible that + the object implementing <type>XScriptEventsAttacher</type> + knows how to get the necessary information for the objects. + @param xListener + All events (if defined by XScriptEventsSupplier) that are fired + by one of the objects are mapped into a <type>ScriptEvent</type> + and passed to the methods of this XScriptListener. + @param Helper + Helper object for the implementation. This value will be + passed to the XScriptListener as Helper property in the + <type>ScriptEvent</type>. + */ + void attachEvents( [in] sequence< com::sun::star::uno::XInterface > Objects, + [in] com::sun::star::script::XScriptListener xListener, + [in] any Helper ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::beans::IntrospectionException, + com::sun::star::script::CannotCreateAdapterException, + com::sun::star::lang::ServiceNotRegisteredException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/udkapi/com/sun/star/script/XScriptEventsSupplier.idl b/udkapi/com/sun/star/script/XScriptEventsSupplier.idl new file mode 100644 index 000000000000..3355b7dd83ae --- /dev/null +++ b/udkapi/com/sun/star/script/XScriptEventsSupplier.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XScriptEventsSupplier_idl__ +#define __com_sun_star_script_XScriptEventsSupplier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_container_XNameContainer_idl__ +#include <com/sun/star/container/XNameContainer.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** + Gives access to an event container represented by an + XNameContainer containing ScriptEventDescriptor instances. + */ +published interface XScriptEventsSupplier: com::sun::star::uno::XInterface +{ + /** + Returns an XNameContainer containing instances + of <type>ScriptEventDescriptor</type> + */ + com::sun::star::container::XNameContainer getEvents(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XScriptListener.idl b/udkapi/com/sun/star/script/XScriptListener.idl new file mode 100644 index 000000000000..f4404d39d645 --- /dev/null +++ b/udkapi/com/sun/star/script/XScriptListener.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XScriptListener_idl__ +#define __com_sun_star_script_XScriptListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_script_ScriptEvent_idl__ +#include <com/sun/star/script/ScriptEvent.idl> +#endif + +#ifndef __com_sun_star_reflection_InvocationTargetException_idl__ +#include <com/sun/star/reflection/InvocationTargetException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= +/** makes it possible to receive <type>ScriptEvent</type>s. + */ +published interface XScriptListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** gets called when an event takes place. For that a + <type>ScriptEventDescriptor</type> is registered at and + attached to an object by an <type>XEventAttacherManager</type>. + */ + void firing( [in] com::sun::star::script::ScriptEvent aEvent ); + + //------------------------------------------------------------------------- + /** gets called when a "vetoable event" occurs at the object. + */ + any approveFiring( [in] com::sun::star::script::ScriptEvent aEvent ) + raises( com::sun::star::reflection::InvocationTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XStarBasicAccess.idl b/udkapi/com/sun/star/script/XStarBasicAccess.idl new file mode 100644 index 000000000000..97a7bfd08da7 --- /dev/null +++ b/udkapi/com/sun/star/script/XStarBasicAccess.idl @@ -0,0 +1,98 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XStarBasicAccess_idl__ +#define __com_sun_star_script_XStarBasicAccess_idl__ + +#ifndef __com_sun_star_container_XNameContainer_idl__ +#include <com/sun/star/container/XNameContainer.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** Interface representing a library and provides access to its modules + + @deprecated + */ +published interface XStarBasicAccess: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns + the library container giving access to the libraries stored in a document + or basic library file. + */ + com::sun::star::container::XNameContainer getLibraryContainer(); + + //------------------------------------------------------------------------- + /** + Creates an empty library. This method can be called alternatively to + accessing directly the NameContainer returned by getLibraryContainer. + By using this method together with addModule and addStarBasicDialog + the caller does not have to implement XStarBasicLibraryInfo, XModuleInfo, + and XStarBasicDialogInfo + */ + void createLibrary( [in] string LibName, [in] string Password, + [in] string ExternalSourceURL, [in] string LinkTargetURL ) + raises( com::sun::star::container::ElementExistException ); + + //------------------------------------------------------------------------- + /** + Adds a module to an existing (e.g., created by createLibrary) library. + By using this method together with createLibrary the caller does not have + to implement XStarBasicLibraryInfo and XModuleInfo. + + @throws NoSuchElementException + if the library doesn't exist. + */ + void addModule( [in] string LibraryName, [in] string ModuleName, + [in] string Language, [in] string Source ) + raises( com::sun::star::container::NoSuchElementException ); + + //------------------------------------------------------------------------- + /** + Adds an old style basic dialog (SI controls) to an existing (e.g., created + by createLibrary) library. + By using this method together with createLibrary the caller does not have + to implement XStarBasicLibraryInfo and XStarBasicDialogInfo + + @throws NoSuchElementException + if the library doesn't exist. + */ + void addDialog( [in] string LibraryName, [in] string DialogName, + [in] sequence< byte > Data ) + raises( com::sun::star::container::NoSuchElementException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XStarBasicDialogInfo.idl b/udkapi/com/sun/star/script/XStarBasicDialogInfo.idl new file mode 100644 index 000000000000..ddcf583f2777 --- /dev/null +++ b/udkapi/com/sun/star/script/XStarBasicDialogInfo.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XStarBasicDialogInfo_idl__ +#define __com_sun_star_script_XStarBasicDialogInfo_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** Interface describing old style basic dialog (SI controls) in binary data + + @deprecated + */ +published interface XStarBasicDialogInfo: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns the name of the dialog + */ + string getName(); + + //------------------------------------------------------------------------- + /** returns binary data describing the SIDialog in SBX stream format + */ + sequence< byte > getData(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XStarBasicLibraryInfo.idl b/udkapi/com/sun/star/script/XStarBasicLibraryInfo.idl new file mode 100644 index 000000000000..4b7337a0b33c --- /dev/null +++ b/udkapi/com/sun/star/script/XStarBasicLibraryInfo.idl @@ -0,0 +1,106 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XStarBasicLibraryInfo_idl__ +#define __com_sun_star_script_XStarBasicLibraryInfo_idl__ + +#ifndef __com_sun_star_container_XNameContainer_idl__ +#include <com/sun/star/container/XNameContainer.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** Interface representing a library and provides access to its modules + + @deprecated + */ +published interface XStarBasicLibraryInfo: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns the library's name + */ + string getName(); + + //------------------------------------------------------------------------- + /** returns + the module container giving access to the modules stored in the library. + The container has to be returned in any case, no matter if the library is + stored embedded, external, or linked. + + @see getExternalSourceURL + @see getLinkTargetURL + */ + com::sun::star::container::XNameContainer getModuleContainer(); + + //------------------------------------------------------------------------- + /** returns + the dialog container giving access to the dialogs stored in the library. + The container has to be returned in any case, no matter if the library is + stored embedded, external, or linked. + + @see getExternalSourceURL + @see getLinkTargetURL + */ + com::sun::star::container::XNameContainer getDialogContainer(); + + //------------------------------------------------------------------------- + /** returns + the password, if the library is protected with one, + an empty string otherwise. + */ + string getPassword(); + + //------------------------------------------------------------------------- + /** returns an + URL describing the location where the library is stored if the library + is stored seperately (for example not in the main XML file but in a + special library format file), an empty string otherwise. + This information can be useful to optimize the access to the library, + e.g., for loading on demand. + */ + string getExternalSourceURL(); + + //------------------------------------------------------------------------- + /** returns an + URL describing the location of the library linked to. + + <p>HINT: This method can be removed when there is a generic interface + for linking. Then the implementation will simply support this + "XLinked" interface and it can be checked by queryInterface().</p> + */ + string getLinkTargetURL(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XStarBasicModuleInfo.idl b/udkapi/com/sun/star/script/XStarBasicModuleInfo.idl new file mode 100644 index 000000000000..93421c3b9d6d --- /dev/null +++ b/udkapi/com/sun/star/script/XStarBasicModuleInfo.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XStarBasicModuleInfo_idl__ +#define __com_sun_star_script_XStarBasicModuleInfo_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** Script Module containing some scripting code in a certain scripting language + @deprecated + */ +published interface XStarBasicModuleInfo: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns the name of the module + */ + string getName(); + + //------------------------------------------------------------------------- + /** returns the type of the script language as string, for example, "StarBasic" or "JavaScript". + */ + string getLanguage(); + + //------------------------------------------------------------------------- + /** returns the script source code as string. + + <p>The code has to correspond with the language + defined by Language.</p> + */ + string getSource(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/script/XTypeConverter.idl b/udkapi/com/sun/star/script/XTypeConverter.idl new file mode 100644 index 000000000000..df854bed1e9f --- /dev/null +++ b/udkapi/com/sun/star/script/XTypeConverter.idl @@ -0,0 +1,109 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_script_XTypeConverter_idl__ +#define __com_sun_star_script_XTypeConverter_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_script_CannotConvertException_idl__ +#include <com/sun/star/script/CannotConvertException.idl> +#endif + +#ifndef __com_sun_star_uno_TypeClass_idl__ +#include <com/sun/star/uno/TypeClass.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** Interface to provide standard type conversions. + + @see Converter +*/ +published interface XTypeConverter: com::sun::star::uno::XInterface +{ + /** Converts the value <code>aFrom</code> to the specified type + <code>xDestinationType</code>. + Throws an <type>CannotConvertException</type> if the conversion + failed. + @param aFrom + source value + @param xDestinationType + destination type + @return + converted value (any carrying value of type <code>xDestinationType</code> + */ + any convertTo( + [in] any aFrom, + [in] type xDestinationType ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::script::CannotConvertException ); + + /** Converts the value <code>aFrom</code> to the specified simple type + <code>aDestinationType</code>. + Throws an <type>CannotConvertException</type> if the conversion + failed and an <type scope="com::sun::star::lang">IllegalArgumentException</type> + if the destination + <type scope="com::sun::star::uno">TypeClass</type> is not simple, + e.g. not long or byte. + + @param aFrom + source value + @param aDestinationType + destination type class + @return + converted value (any carrying value of type <code>aDestinationType</code> + */ + any convertToSimpleType( + [in] any aFrom, + [in] com::sun::star::uno::TypeClass aDestinationType ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::script::CannotConvertException ); +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/script/makefile.mk b/udkapi/com/sun/star/script/makefile.mk new file mode 100644 index 000000000000..c457b4a78657 --- /dev/null +++ b/udkapi/com/sun/star/script/makefile.mk @@ -0,0 +1,89 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssscript +PACKAGE=com$/sun$/star$/script + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + AllEventObject.idl\ + AllListenerAdapter.idl\ + BasicErrorException.idl\ + CannotConvertException.idl\ + CannotCreateAdapterException.idl\ + ContextInformation.idl\ + Converter.idl\ + Engine.idl\ + FailReason.idl\ + FinishEngineEvent.idl\ + FinishReason.idl\ + InterruptEngineEvent.idl\ + InterruptReason.idl\ + Invocation.idl\ + InvocationAdapterFactory.idl\ + JavaScript.idl\ + ScriptEvent.idl\ + ScriptEventDescriptor.idl\ + ArrayWrapper.idl\ + XAllListener.idl\ + XAllListenerAdapterService.idl\ + XDebugging.idl\ + XDirectInvocation.idl\ + XEngine.idl\ + XEngineListener.idl\ + XEventAttacher.idl\ + XEventAttacherManager.idl\ + XInvocationAdapterFactory.idl\ + XInvocationAdapterFactory2.idl\ + XInvocation.idl\ + XInvocation2.idl\ + InvocationInfo.idl\ + MemberType.idl\ + XLibraryAccess.idl\ + XScriptListener.idl\ + XTypeConverter.idl\ + XStarBasicAccess.idl\ + XStarBasicModuleInfo.idl\ + XStarBasicDialogInfo.idl\ + XStarBasicLibraryInfo.idl\ + XScriptEventsSupplier.idl\ + XScriptEventsAttacher.idl\ + XDefaultMethod.idl\ + XDefaultProperty.idl\ + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/security/AccessControlException.idl b/udkapi/com/sun/star/security/AccessControlException.idl new file mode 100644 index 000000000000..289c312165f8 --- /dev/null +++ b/udkapi/com/sun/star/security/AccessControlException.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_security_AccessControlException_idl__ +#define __com_sun_star_security_AccessControlException_idl__ + +#ifndef __com_sun_star_uno_SecurityException_idl__ +#include <com/sun/star/uno/SecurityException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module security { + +//============================================================================= + +/** Exception notifying a lacking permission to access data or execute code + thus it is thrown if permission ought to be denied. + + @since OOo 1.1.2 +*/ +published exception AccessControlException : com::sun::star::uno::SecurityException +{ + /** lacking permission. + + @attention + If it is the case, that XAccessController::checkPermission() was called + passing a sequence< any >, i.e. a sequence of paermissions are demanded, + then this any holds the sequence of lacking permissions in the same + order as they were passed to XAccessController::checkPermission(). + */ + any LackingPermission; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/security/AccessController.idl b/udkapi/com/sun/star/security/AccessController.idl new file mode 100644 index 000000000000..35d1c51a1a61 --- /dev/null +++ b/udkapi/com/sun/star/security/AccessController.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_security_AccessController_idl__ +#define __com_sun_star_security_AccessController_idl__ + +#ifndef __com_sun_star_security_XAccessController_idl__ +#include <com/sun/star/security/XAccessController.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module security { + +//============================================================================= +/** This meta service supports the XAccessController interface for checking + security permissions. + + @attention + The specific service implementation of this meta service has to take care + of bootstrapping problems, i.e. recurring calls during initialization + have to be resolved. This happens when the implementation calls other + service implementations. + + Also, it obviously has also to be ensured that the object is process-local + to assure that permission checks are not corrupted via insecure inter-process + communication. + + @since OOo 1.1.2 +*/ +published service AccessController +{ + interface XAccessController; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/security/AllPermission.idl b/udkapi/com/sun/star/security/AllPermission.idl new file mode 100644 index 000000000000..53af3b200770 --- /dev/null +++ b/udkapi/com/sun/star/security/AllPermission.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_security_AllPermission_idl__ +#define __com_sun_star_security_AllPermission_idl__ +//============================================================================= + +module com { module sun { module star { module security { + +//============================================================================= + +/** The AllPermission is a permission that implies all other permissions. + + @attention + Granting AllPermission should be done with extreme care, as it implies all + other permissions. Thus, it grants code the ability to run with security + disabled. Extreme caution should be taken before granting such a + permission to code. This permission should be used only during testing, + or in extremely rare cases where an application is completely trusted and + adding the necessary permissions to the policy is prohibitively cumbersome. + + @since OOo 1.1.2 +*/ +published struct AllPermission +{ + byte dummy; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/security/Policy.idl b/udkapi/com/sun/star/security/Policy.idl new file mode 100644 index 000000000000..027221fd2c6e --- /dev/null +++ b/udkapi/com/sun/star/security/Policy.idl @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_security_Policy_idl__ +#define __com_sun_star_security_Policy_idl__ +#ifndef __com_sun_star_security_XPolicy_idl__ +#include <com/sun/star/security/XPolicy.idl> +#endif + + +module com { module sun { module star { module security { + +/** Service for getting sets of permissions reading from some persistent + storage. + + @since OOo 1.1.2 +*/ +published service Policy +{ + interface XPolicy; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/security/RuntimePermission.idl b/udkapi/com/sun/star/security/RuntimePermission.idl new file mode 100644 index 000000000000..6c4930b8986c --- /dev/null +++ b/udkapi/com/sun/star/security/RuntimePermission.idl @@ -0,0 +1,52 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_security_RuntimePermission_idl__ +#define __com_sun_star_security_RuntimePermission_idl__ +//============================================================================= + +module com { module sun { module star { module security { + +//============================================================================= + +/** This permission grants runtime access to some named functionality. + A RuntimePermission contains a name (also referred to as a "target name") + but no actions list; you either have the named permission or you don't. + + @since OOo 1.1.2 +*/ +published struct RuntimePermission +{ + /** name of permission + */ + string Name; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/security/XAccessControlContext.idl b/udkapi/com/sun/star/security/XAccessControlContext.idl new file mode 100644 index 000000000000..535e8753aa20 --- /dev/null +++ b/udkapi/com/sun/star/security/XAccessControlContext.idl @@ -0,0 +1,91 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_security_XAccessControlContext_idl__ +#define __com_sun_star_security_XAccessControlContext_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif +#ifndef __com_sun_star_security_AccessControlException_idl__ +#include <com/sun/star/security/AccessControlException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module security { + +//============================================================================= + +/** An XAccessControlContext is used to make system resource access decisions + based on the context it encapsulates. + <p> + More specifically, it encapsulates a context and has methods to check + permissions equivalent to XAccessController interface, + with one difference: + The XAccessControlContext makes access decisions + based on the context it encapsulates, rather than + that of the current execution thread. + </p> + + @since OOo 1.1.2 +*/ +published interface XAccessControlContext : com::sun::star::uno::XInterface +{ + /** Determines whether the access request indicated by the specified + permission should be allowed or denied, based on this context. + The semantics are equivalent to the security permission classes of + the Java platform. + <p> + You can also pass a sequence of permissions (sequence< any >) to check + a set of permissions, e.g. for performance reasons. + This method quietly returns if the access request is permitted, + or throws a suitable AccessControlException otherwise. + </p> + + @param perm + permission to be checked + + @throws AccessControlException + thrown if access is denied + + @see ::com::sun::star::security::AccessControlException + @see ::com::sun::star::security::AllPermission + @see ::com::sun::star::security::RuntimePermission + @see ::com::sun::star::io::FilePermission + @see ::com::sun::star::connection::SocketPermission + */ + void checkPermission( + [in] any perm ) + raises (AccessControlException); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/security/XAccessController.idl b/udkapi/com/sun/star/security/XAccessController.idl new file mode 100644 index 000000000000..708a884bad68 --- /dev/null +++ b/udkapi/com/sun/star/security/XAccessController.idl @@ -0,0 +1,155 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_security_XAccessController_idl__ +#define __com_sun_star_security_XAccessController_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif +#ifndef __com_sun_star_security_XAccessControlContext_idl__ +#include <com/sun/star/security/XAccessControlContext.idl> +#endif + +#ifndef __com_sun_star_security_XAction_idl__ +#include <com/sun/star/security/XAction.idl> +#endif + +#ifndef __com_sun_star_security_AccessControlException_idl__ +#include <com/sun/star/security/AccessControlException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module security { + +//============================================================================= + +/** Interface for checking permissions and invoking privileged or restricted + actions. + + @since OOo 1.1.2 +*/ +published interface XAccessController : com::sun::star::uno::XInterface +{ + /** Determines whether the access request indicated by the specified + permission should be allowed or denied, based on the security policy + currently in effect. + The semantics are equivalent to the security permission classes of + the Java platform. + <p> + You can also pass a sequence of permissions (sequence< any >) to check + a set of permissions, e.g. for performance reasons. + This method quietly returns if the access request is permitted, + or throws a suitable AccessControlException otherwise. + </p> + + @param perm + permission to be checked + + @throws AccessControlException + thrown if access is denied + + @see ::com::sun::star::security::AccessControlException + @see ::com::sun::star::security::AllPermission + @see ::com::sun::star::security::RuntimePermission + @see ::com::sun::star::io::FilePermission + @see ::com::sun::star::connection::SocketPermission + */ + void checkPermission( + [in] any perm ) + raises (AccessControlException); + + /** Perform the specified action restricting permissions to the given + XAccessControlContext. + The action is performed with the intersection of the permissions of the currently installed + XAccessControlContext, the given XAccessControlContext and the security policy currently + in effect. The latter includes static security, e.g. based on user credentials. + <p> + If the specified XAccessControlContext is null, then the action is performed + with unmodified permissions, i.e. the call makes no sense. + </p> + + @param action + action object to be executed + @param restriction + access control context to restrict permission; null for no restriction + @return + result + @throws com::sun::star::uno::Exception + any UNO exception may be thrown + */ + any doRestricted( + [in] XAction action, + [in] XAccessControlContext restriction ) + raises (com::sun::star::uno::Exception); + + /** Perform the specified action adding a set of permissions defined by the given + XAccessControlContext. + The action is performed with the union of the permissions of the currently installed + XAccessControlContext, the given XAccessControlContext and the security policy currently + in effect. The latter includes static security, e.g. based on user credentials. + <p> + If the given XAccessControlContext is null, then the action is performed + <b>only</b> with the permissions of the security policy currently in effect. + </p> + + @attention + Do carefully use this method only for well known use-cases to avoid exploits! + Script engines executing sandboxed scripts should generally deny calling this + method. + + @param action + action object to be executed + @param restriction + access control context to restrict permission; null for no restriction + @return + result + @throws com::sun::star::uno::Exception + any UNO exception may be thrown + */ + any doPrivileged( + [in] XAction action, + [in] XAccessControlContext restriction ) + raises (com::sun::star::uno::Exception); + + /** This method takes a "snapshot" of the current calling context + and returns it. + <p> + This context may then be checked at a later point, possibly in another thread. + </p> + @return + snapshot of context + */ + XAccessControlContext getContext(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/security/XAction.idl b/udkapi/com/sun/star/security/XAction.idl new file mode 100644 index 000000000000..7a61477ea628 --- /dev/null +++ b/udkapi/com/sun/star/security/XAction.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_security_XAction_idl__ +#define __com_sun_star_security_XAction_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module security { + +//============================================================================= + +/** Interface for running an action. + + @since OOo 1.1.2 +*/ +published interface XAction : com::sun::star::uno::XInterface +{ + /** Action to be done. + + @return + result + @throws com::sun::star::uno::Exception + any UNO exception may be thrown + */ + any run() + raises (com::sun::star::uno::Exception); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/security/XPolicy.idl b/udkapi/com/sun/star/security/XPolicy.idl new file mode 100644 index 000000000000..b591eb32353f --- /dev/null +++ b/udkapi/com/sun/star/security/XPolicy.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_security_XPolicy_idl__ +#define __com_sun_star_security_XPolicy_idl__ +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +module com { module sun { module star { module security { + +/** Interface for getting sets of permissions of a specified user or + the default permissions if no user is given. + + @see com::sun::star::security::Policy + + @since OOo 1.1.2 +*/ +published interface XPolicy : com::sun::star::uno::XInterface +{ + /** Gets the permissions of the specified user excluding the default permissions + granted to all users. + + @param userId + user id + @return + permissions of the specified user + */ + sequence< any > getPermissions( + [in] string userId ); + + /** Gets the default permissions granted to all users. + + @return + default permissions + */ + sequence< any > getDefaultPermissions(); + + /** Refreshes the policy configuration. + */ + void refresh(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/security/makefile.mk b/udkapi/com/sun/star/security/makefile.mk new file mode 100644 index 000000000000..f8c66f9df85f --- /dev/null +++ b/udkapi/com/sun/star/security/makefile.mk @@ -0,0 +1,60 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +# build dependency: security +# security/auth +# security/auth/callback +# security/auth/login + +PRJ=..$/..$/..$/.. + +PRJNAME=udkapi + +TARGET=csssec +PACKAGE=com$/sun$/star$/security + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES= \ + AllPermission.idl \ + RuntimePermission.idl \ + Policy.idl \ + XPolicy.idl \ + AccessController.idl \ + XAccessController.idl \ + XAccessControlContext.idl \ + XAction.idl \ + AccessControlException.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk + diff --git a/udkapi/com/sun/star/task/XInteractionAbort.idl b/udkapi/com/sun/star/task/XInteractionAbort.idl new file mode 100644 index 000000000000..cef59c8ea7b8 --- /dev/null +++ b/udkapi/com/sun/star/task/XInteractionAbort.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_task_XInteractionAbort_idl__ +#define __com_sun_star_task_XInteractionAbort_idl__ + +#ifndef __com_sun_star_task_XInteractionContinuation_idl__ +#include <com/sun/star/task/XInteractionContinuation.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module task { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::task::XInteractionAbort +/** An interaction continuation specifing to abort executing the process that + issued the request. + */ +published interface XInteractionAbort: com::sun::star::task::XInteractionContinuation +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/task/XInteractionContinuation.idl b/udkapi/com/sun/star/task/XInteractionContinuation.idl new file mode 100644 index 000000000000..c9b2ab5858cb --- /dev/null +++ b/udkapi/com/sun/star/task/XInteractionContinuation.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_task_XInteractionContinuation_idl__ +#define __com_sun_star_task_XInteractionContinuation_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module task { + +//============================================================================= +/** Specifies a way of how to continue from an + <type scope="com::sun::star::task">XInteractionRequest</type>. + <P>Different sub-interfaces of this interface specify different ways of + continuing.</P> + */ +published interface XInteractionContinuation: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::task::XInteractionContinuation::select + /** Select this way of continuing from an + <type scope="com::sun::star::task">XInteractionRequest</type> (given a + choice of various + <type scope="com::sun::star::task">XInteractionContinuation</type>s). + */ + void select(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/task/XInteractionHandler.idl b/udkapi/com/sun/star/task/XInteractionHandler.idl new file mode 100644 index 000000000000..0bbd7fed3202 --- /dev/null +++ b/udkapi/com/sun/star/task/XInteractionHandler.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_task_XInteractionHandler_idl__ +#define __com_sun_star_task_XInteractionHandler_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_task_XInteractionRequest_idl__ +#include <com/sun/star/task/XInteractionRequest.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module task { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::task::XInteractionHandler +/** An interaction request handler. + */ +published interface XInteractionHandler: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::task::XInteractionHandler::handle + /** Handle an interaction request. + */ + void handle( [in] com::sun::star::task::XInteractionRequest Request ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/task/XInteractionHandler2.idl b/udkapi/com/sun/star/task/XInteractionHandler2.idl new file mode 100644 index 000000000000..8fff5823d669 --- /dev/null +++ b/udkapi/com/sun/star/task/XInteractionHandler2.idl @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_task_XInteractionHandler2_idl__ +#define __com_sun_star_task_XInteractionHandler2_idl__ + +#ifndef __com_sun_star_task_XInteractionHandler_idl__ +#include <com/sun/star/task/XInteractionHandler.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module task { + +//============================================================================= + +/** An interaction request handler. + + <p>This interface extends the interface <type>XInteractionHandler</type> + the way that a caller can determine whether an interaction request was + actually handled by the interaction handler.</p> + */ +/* published */ interface XInteractionHandler2 : com::sun::star::task::XInteractionHandler +{ + //------------------------------------------------------------------------- + /** Handle an interaction request. + + @param Request the inteaction request to handle. + + @return <true/>, if the handler handled the request, <false/> otherwise. + */ + boolean handleInteractionRequest( + [in] com::sun::star::task::XInteractionRequest Request ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/task/XInteractionRequest.idl b/udkapi/com/sun/star/task/XInteractionRequest.idl new file mode 100644 index 000000000000..a0518fd7fd8a --- /dev/null +++ b/udkapi/com/sun/star/task/XInteractionRequest.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_task_XInteractionRequest_idl__ +#define __com_sun_star_task_XInteractionRequest_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_task_XInteractionContinuation_idl__ +#include <com/sun/star/task/XInteractionContinuation.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module task { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::task::XInteractionRequest +/** The description of an interaction request. + */ +published interface XInteractionRequest: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::task::XInteractionRequest::getRequest + /** Get information about the request itself. + + @returns + an <type scope="com::sun::star::uno">Exception</type>, wrapped as an + <atom>any</atom>. + */ + any getRequest(); + + //------------------------------------------------------------------------- + /** Get the set of + <type scope="com::sun::star::task">XInteractionContinuation</type>s + the client supports for this request. + */ + sequence<com::sun::star::task::XInteractionContinuation> getContinuations(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/task/XInteractionRetry.idl b/udkapi/com/sun/star/task/XInteractionRetry.idl new file mode 100644 index 000000000000..eab9ec1ab3c3 --- /dev/null +++ b/udkapi/com/sun/star/task/XInteractionRetry.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_task_XInteractionRetry_idl__ +#define __com_sun_star_task_XInteractionRetry_idl__ + +#ifndef __com_sun_star_task_XInteractionContinuation_idl__ +#include <com/sun/star/task/XInteractionContinuation.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module task { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::task::XInteractionRetry +/** An interaction continuation specifing to try to re-execute the process + that issued the request. + */ +published interface XInteractionRetry: com::sun::star::task::XInteractionContinuation +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/task/makefile.mk b/udkapi/com/sun/star/task/makefile.mk new file mode 100644 index 000000000000..e95d79ce4665 --- /dev/null +++ b/udkapi/com/sun/star/task/makefile.mk @@ -0,0 +1,50 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=csstask +PACKAGE=com$/sun$/star$/task + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + XInteractionAbort.idl\ + XInteractionContinuation.idl\ + XInteractionHandler.idl\ + XInteractionHandler2.idl\ + XInteractionRequest.idl\ + XInteractionRetry.idl +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/test/TestEvent.idl b/udkapi/com/sun/star/test/TestEvent.idl new file mode 100644 index 000000000000..f5717fd903d5 --- /dev/null +++ b/udkapi/com/sun/star/test/TestEvent.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_test_TestEvent_idl__ +#define __com_sun_star_test_TestEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module test { + +//============================================================================= +/** This event gets delivered whenever a test event (an error, an exception, + a warning) takes place. + @deprecated +*/ +published struct TestEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + /** contains the error/warning message + */ + string Message; + + //------------------------------------------------------------------------- + /** contains the exception notified by the <type>XTestListener</type> + method notifyException. This value is not valid for other events. + */ + any Exception; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/test/TestFactory.idl b/udkapi/com/sun/star/test/TestFactory.idl new file mode 100644 index 000000000000..100ac85d499f --- /dev/null +++ b/udkapi/com/sun/star/test/TestFactory.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_test_TestFactory_idl__ +#define __com_sun_star_test_TestFactory_idl__ + +#ifndef __com_sun_star_lang_MultiServiceFactory_idl__ +#include <com/sun/star/lang/MultiServiceFactory.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module test { + +//============================================================================= +/** describes a factory of services with interfaces for testing purposes. + + <p>It create instances that support the interface + <type scope="com::sun::star::test">XSimpleTest</type>. + + <p>The services are accessed through interface, service or object + names. The name test service must begin with "test." followed by the + interface, service or object name ("test.com.sun.star.beans.XPropertySet"). + + @example:Java + + <listing> + xTestService = TestFactory.createInstance( "com.sun.star.beans.XPropertySet" ); + xTestService.test( "com.sun.star.beans.XPropertySet", myTestObject ); + </listing> + + @author Markus Meyer + @version 0.1 + @deprecated +*/ +published service TestFactory +{ + service com::sun::star::lang::MultiServiceFactory; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/test/XSimpleTest.idl b/udkapi/com/sun/star/test/XSimpleTest.idl new file mode 100644 index 000000000000..f2a310f9a44c --- /dev/null +++ b/udkapi/com/sun/star/test/XSimpleTest.idl @@ -0,0 +1,121 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_test_XSimpleTest_idl__ +#define __com_sun_star_test_XSimpleTest_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module test { + +//============================================================================= +/** + A simple interface to test a service or interface implementation. +*/ +published interface XSimpleTest: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** + Test the object TestObject against the test specified with TestName. This test + does not change the semantic state of the object, so it can be called on a existing + component that will used further on. + Note : This can be a strong test limitation. There are some components, that cannot + perform their full test scenario. + @param TestName the name of the test. Must be an interface, service or implementation name. + Note : The name is only used by the test component to distinguish + between test scenarios. + @param TestObject The instance to be tested. + + @throws IllegalArgumentException + if the test does not support TestName or TestObject is null. + */ + void testInvariant( [in] string TestName, + [in] com::sun::star::uno::XInterface TestObject ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** + Test the object TestObject against the test specified with TestName. This test + changes the state of the object. The object may be useless afterwards. + (e.g. a closed XOutputStream). The method in general may be called multipe times with a new + test object instance. + Note : These tests should include the testInvariant test. + Note : Each test scenario should be independent of each other, so even if a scenario + didn't pass the test, the other test can still be performed. The error messages + are cumulative. + + @param TestName The name of the test. Must be an interface, service or implementation name. + Note : The name is only used by the test component to distinguish + between test scenarios. + @param TestObject The instance to be tested. + @param hTestHandle Internal test handle. Handle for first test is always 0. + Handle of next test is returned by the method. + @return Handle of the next test. -1 if this was the last test. + + @throws IllegalArgumentException + if the test does not support TestName or + TestObject is null. + */ + long test( [in] string TestName, + [in] com::sun::star::uno::XInterface TestObject, + [in] long hTestHandle ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /**States if one of the last test has failed. This is cumulative. + @return true if all test have been passed succesfully. false if an error has occured. + + */ + boolean testPassed(); + + //------------------------------------------------------------------------- + // DOCUMENTATION MISSING FOR XSimpleTest::getErrors + sequence<string> getErrors(); + + //------------------------------------------------------------------------- + // DOCUMENTATION MISSING FOR XSimpleTest::getErrorExceptions + sequence<any> getErrorExceptions(); + + //------------------------------------------------------------------------- + // DOCUMENTATION MISSING FOR XSimpleTest::getWarnings + sequence<string> getWarnings(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/test/XTest.idl b/udkapi/com/sun/star/test/XTest.idl new file mode 100644 index 000000000000..12481184b15d --- /dev/null +++ b/udkapi/com/sun/star/test/XTest.idl @@ -0,0 +1,155 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_test_XTest_idl__ +#define __com_sun_star_test_XTest_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_test_XTestListener_idl__ +#include <com/sun/star/test/XTestListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module test { + +//============================================================================= +/** + A simple interface to test a service or interface implementation. +*/ +published interface XTest: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** + Test the object TestObject against the test specified with TestName. This test + does not change the semantic state of the object, so it can be called on a existing + component that will used further on. Note: This can be a strong test limitation. + There are some components, that cannot perform their full test scenario. + @param TestName + the name of the test. Must be an interface, service, or implementation name. + Note: The name is only used by the test component to distinguish between test + scenarios. + @param TestObject + The instance to be tested. + @throws IllegalArgumentException + if the test does not support TestName or TestObject is null. + */ + void testInvariant( [in] string TestName, + [in] com::sun::star::uno::XInterface TestObject ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** + Test the object TestObject against the test specified with TestName. + This test changes the state of the object. The object may be useless + afterwards (e.g., a closed XOutputStream). The method in general may + be called multiple times with a new test object instance. Note: Each test + scenario should be independent of each other, so even if a scenario + didn't pass the test, the other test can still be performed. + The error messages are cumulative. + + @param TestName + The name of the test. Must be an interface, service, or + implementation name. Note: The name is only used by the test component + to distinguish between test scenarios. + @param TestObject + The instance to be tested. + @param hTestHandle + Internal test handle. Handle for first test is always 0. + Handle of next test is returned by the method. + @return Handle of the next test. -1 if this was the last test. + + @throws IllegalArgumentException + if the test does not support TestName or TestObject is null. + */ + long test( [in] string TestName, + [in] com::sun::star::uno::XInterface TestObject, + [in] long hTestHandle ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** + Test the object TestObject against the test specified with TestName using + several threads. That does NOT mean that testMultiThread should implement + a test using several threads but that this test method should be designed + to be called by several threads. So for example, it has to take into consideration + that a test object state that is changed by the method can be + changed again by another thread. So it's not necessarily a mistake if an + expected state can't be confirmed after setting it. Besides that, everything + is the same as described for the test method. + + If this way of testing with multiple threads is not appropriate for the + component to be tested this method should not be implemented (it should + only return -1) and a special multithread test adapted to the special + needs of testing this component should be integrated in the test method. + + @param TestName + The name of the test. Must be an interface, service or + implementation name. Note: The name is only used by the test component + to distinguish between test scenarios. + @param TestObject + The instance to be tested. + @param hTestHandle + Internal test handle. Handle for first test is always 0. + Handle of next test is returned by the method. + @return Handle of the next test. -1 if this was the last test. + + @throws IllegalArgumentException + if the test does not support TestName or TestObject is null. + */ + long testMultiThread( [in] string TestName, + [in] com::sun::star::uno::XInterface TestObject, + [in] long hTestHandle ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** registers an event listener, which will be called for reporting + errors/exceptions and warnings and for protocol purpuses. + */ + void addTestListener( [in] XTestListener xListener ); + + //------------------------------------------------------------------------- + /** unregisters an event listener which was registered with + <member>XTest::addTestListener()</member>. + + */ + void removeTestListener( [in] XTestListener xListener ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/test/XTestListener.idl b/udkapi/com/sun/star/test/XTestListener.idl new file mode 100644 index 000000000000..3f385d96d8b9 --- /dev/null +++ b/udkapi/com/sun/star/test/XTestListener.idl @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_test_XTestListener_idl__ +#define __com_sun_star_test_XTestListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_test_TestEvent_idl__ +#include <com/sun/star/test/TestEvent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module test { + +//============================================================================= +/** is used to handle errors/exceptions and warnings during tests. +*/ +published interface XTestListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** gets called when an error occurs while performing an test. + If the error results from an exception, the exception + can be found in the Exception member of the TestEvent + + @param evt + This property contains the <type>TestEvent</type> object that + describes the event source and error description. + */ + void notifyError( [in] com::sun::star::test::TestEvent evt ); + + //------------------------------------------------------------------------- + /** gets called when an warning occurs while performing an test. + + @param evt + This property contains the <type>TestEvent</type> object that + describes the event source and warning description. + */ + void notifyWarning( [in] com::sun::star::test::TestEvent evt ); + + //------------------------------------------------------------------------- + /** can be called by the broadcaster to inform the listener about + the progress of the test. The listener can use this information + for example to write it into a test protocol file. + + @param evt + This property contains the <type>TestEvent</type> object that + describes the protocol message. + */ + void protocol( [in] com::sun::star::test::TestEvent evt ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/test/bridge/XBridgeTest.idl b/udkapi/com/sun/star/test/bridge/XBridgeTest.idl new file mode 100644 index 000000000000..05f444a43318 --- /dev/null +++ b/udkapi/com/sun/star/test/bridge/XBridgeTest.idl @@ -0,0 +1,306 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_test_bridge_XBridge_idl__ +#define __com_sun_star_test_bridge_XBridge_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +module com +{ +module sun +{ +module star +{ +module test +{ +module bridge +{ + +published enum TestEnum +{ + TEST, + ONE, + TWO, + CHECK, + LOLA, + PALOO, + ZA +}; + +/** + * simple types + */ +published struct TestSimple +{ + boolean Bool; + char Char; + byte Byte; + short Short; + unsigned short UShort; + long Long; + unsigned long ULong; + hyper Hyper; + unsigned hyper UHyper; + float Float; + double Double; + TestEnum Enum; +}; +/** + * complex types adding string, inteface, any + */ +published struct TestElement : TestSimple +{ + string String; + com::sun::star::uno::XInterface Interface; + any Any; +}; +/** + * adding even more complexity, sequence< TestElement > + */ +published struct TestDataElements : TestElement +{ + sequence< TestElement > Sequence; +}; + +/** + * typedef used in interface + */ +published typedef TestDataElements TestData; + +published interface XRecursiveCall : com::sun::star::uno::XInterface +{ + /*** + * @param nToCall If nToCall is 0, the method returns immeadiatly. + * Otherwise, call the given interface with nToCall -1 + * + ***/ + void callRecursivly( [in] XRecursiveCall xCall , [in] long nToCall ); +}; + +/** + * Monster test interface to test bridge calls. + * An implementation of this object has to store given values and return whenever there + * is an out param or return value. + */ +published interface XBridgeTestBase : com::sun::star::uno::XInterface +{ + /** + * in parameter test, tests by calls reference also (complex types) + */ + [oneway] void setValues( [in] boolean bBool, [in] char cChar, [in] byte nByte, + [in] short nShort, [in] unsigned short nUShort, + [in] long nLong, [in] unsigned long nULong, + [in] hyper nHyper, [in] unsigned hyper nUHyper, + [in] float fFloat, [in] double fDouble, + [in] TestEnum eEnum, [in] string aString, + [in] com::sun::star::uno::XInterface xInterface, [in] any aAny, + [in] sequence< TestElement > aSequence, + [in] TestData aStruct ); + /** + * inout parameter test + * + * @return aStruct. The out parameter contain the values, that were previously set + * by setValues or (if not called before) default constructed values. + * + */ + TestData setValues2( [inout] boolean bBool, [inout] char cChar, [inout] byte nByte, + [inout] short nShort, [inout] unsigned short nUShort, + [inout] long nLong, [inout] unsigned long nULong, + [inout] hyper nHyper, [inout] unsigned hyper nUHyper, + [inout] float fFloat, [inout] double fDouble, + [inout] TestEnum eEnum, [inout] string aString, + [inout] com::sun::star::uno::XInterface xInterface, [inout] any aAny, + [inout] sequence< TestElement > aSequence, + [inout] TestData aStruct ); + + /** + * out parameter test + */ + TestData getValues( [out] boolean bBool, [out] char cChar, [out] byte nByte, + [out] short nShort, [out] unsigned short nUShort, + [out] long nLong, [out] unsigned long nULong, + [out] hyper nHyper, [out] unsigned hyper nUHyper, + [out] float fFloat, [out] double fDouble, + [out] TestEnum eEnum, [out] string aString, + [out] com::sun::star::uno::XInterface xInterface, [out] any aAny, + [out] sequence< TestElement > aSequence, + [out] TestData aStruct ); + + [attribute] boolean Bool; + [attribute] byte Byte; + [attribute] char Char; + [attribute] short Short; + [attribute] unsigned short UShort; + [attribute] long Long; + [attribute] unsigned long ULong; + [attribute] hyper Hyper; + [attribute] unsigned hyper UHyper; + [attribute] float Float; + [attribute] double Double; + [attribute] TestEnum Enum; + [attribute] string String; + [attribute] com::sun::star::uno::XInterface Interface; + [attribute] any Any; + [attribute] sequence< TestElement > Sequence; + [attribute] TestData Struct; + + + /*** + * This method returns the parameter value. + * Method to extensivly test anys. + ****/ + any transportAny( [in] any value ); + + /*** + * methods to check sequence of calls. Call call() and callOneway + * in an arbitrary sequence. Increase the callId for every call. + * The testobject sets an error flag. + + @see testSequencePassed + ***/ + void call( [in] long nCallId, [in] long nWaitMUSEC ); + [oneway] void callOneway( [in] long nCallId, [in] long nWaitMUSEC ); + boolean sequenceOfCallTestPassed(); + + /**** + * methods to check, if threads thread identity is holded. + * + ***/ + void startRecursiveCall( [in] XRecursiveCall xCall , [in] long nToCall ); +}; + + +/** + * Inherting from monster; adds raiseException(), attribute raising RuntimeException. + */ +published interface XBridgeTest : XBridgeTestBase +{ + /** + * the exception struct returned has to be filled with given arguments. + * return value is for dummy. + */ + TestData raiseException( [in] short ArgumentPosition, + [in] string Message, + [in] com::sun::star::uno::XInterface Context ) + raises( com::sun::star::lang::IllegalArgumentException ); + + + /** + * Throws runtime exception. + * check remote bridges handle exceptions during oneway calls properly. + * Note that on client side the execption may fly or not. When it flies, it should + * have the proper message and context. + ***/ + [oneway] void raiseRuntimeExceptionOneway( [in] string Message, + [in] com::sun::star::uno::XInterface Context ); + + /** + * raises runtime exception; + * the exception struct returned has to be filled with formerly set test data. + */ + [attribute] long RuntimeException; +}; + +/** Extended tests with sequences. + */ +published interface XBridgeTest2 : XBridgeTest +{ + sequence< boolean > setSequenceBool( [in] sequence< boolean > aSeq); + sequence< char > setSequenceChar( [in] sequence< char > aSeq); + sequence< byte> setSequenceByte( [in] sequence< byte > aSeq); + sequence< short> setSequenceShort( [in] sequence< short > aSeq); + sequence< unsigned short > setSequenceUShort( [in] sequence< unsigned short > aSeq); + sequence< long > setSequenceLong( [in] sequence< long > aSeq); + sequence< unsigned long > setSequenceULong( [in] sequence< unsigned long > aSeq); + sequence< hyper > setSequenceHyper( [in] sequence< hyper > aSeq); + sequence< unsigned hyper > setSequenceUHyper( [in] sequence< unsigned hyper > aSeq); + sequence< float > setSequenceFloat( [in] sequence< float > aSeq); + sequence< double > setSequenceDouble( [in] sequence< double > aSeq); + sequence< TestEnum > setSequenceEnum( [in] sequence< TestEnum > aSeq); + sequence< string > setSequenceString( [in] sequence< string > aString); + sequence< com::sun::star::uno::XInterface > setSequenceXInterface( + [in] sequence< com::sun::star::uno::XInterface > aSeq); + sequence< any > setSequenceAny( [in] sequence< any > aSeq); + sequence< TestElement > setSequenceStruct( [in] sequence< TestElement > aSeq); + + sequence< sequence< long > > setDim2( [in] sequence< sequence< long > > aSeq); + sequence< sequence < sequence < long > > > setDim3( + [in] sequence< sequence < sequence < long > > > aSeq); + + void setSequencesInOut( [inout] sequence< boolean > aSeqBoolean, + [inout] sequence< char > aSeqChar, + [inout] sequence< byte > aSeqByte, + [inout] sequence< short > aSeqShort, + [inout] sequence< unsigned short> aSeqUShort, + [inout] sequence< long > aSeqLong, + [inout] sequence< unsigned long > aSeqULong, + [inout] sequence< hyper > aSeqHyper, + [inout] sequence< unsigned hyper > aSeqUHyper, + [inout] sequence< float > aSeqFloat, + [inout] sequence< double > aSeqDouble, + [inout] sequence< TestEnum > aSeqEnum, + [inout] sequence< string > aSeqString, + [inout] sequence< com::sun::star::uno::XInterface > aSeqXInterface, + [inout] sequence< any > aSeqAny, + [inout] sequence< sequence< long > > aSeqDim2, + [inout] sequence< sequence < sequence < long > > > aSeqDim3); + + void setSequencesOut( [out] sequence< boolean > aSeqBoolean, + [out] sequence< char > aSeqChar, + [out] sequence< byte > aSeqByte, + [out] sequence< short > aSeqShort, + [out] sequence< unsigned short> aSeqUShort, + [out] sequence< long > aSeqLong, + [out] sequence< unsigned long > aSeqULong, + [out] sequence< hyper > aSeqHyper, + [out] sequence< unsigned hyper > aSeqUHyper, + [out] sequence< float > aSeqFloat, + [out] sequence< double > aSeqDouble, + [out] sequence< TestEnum > aSeqEnum, + [out] sequence< string > aSeqString, + [out] sequence< com::sun::star::uno::XInterface > aSeqXInterface, + [out] sequence< any > aSeqAny, + [out] sequence< sequence< long > > aSeqDim2, + [out] sequence< sequence < sequence < long > > > aSeqDim3); + + +}; +//============================================================================= + +}; +}; +}; +}; +}; + +#endif diff --git a/udkapi/com/sun/star/test/bridge/makefile.mk b/udkapi/com/sun/star/test/bridge/makefile.mk new file mode 100644 index 000000000000..14347311ab55 --- /dev/null +++ b/udkapi/com/sun/star/test/bridge/makefile.mk @@ -0,0 +1,45 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* +PRJ=..$/..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssbridgetest +PACKAGE=com$/sun$/star$/test$/bridge + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + XBridgeTest.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/test/makefile.mk b/udkapi/com/sun/star/test/makefile.mk new file mode 100644 index 000000000000..a1f2016bf27b --- /dev/null +++ b/udkapi/com/sun/star/test/makefile.mk @@ -0,0 +1,50 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=csstest +PACKAGE=com$/sun$/star$/test + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + TestFactory.idl\ + XSimpleTest.idl\ + TestEvent.idl\ + XTest.idl\ + XTestListener.idl\ + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/test/performance/XPerformanceTest.idl b/udkapi/com/sun/star/test/performance/XPerformanceTest.idl new file mode 100644 index 000000000000..9ef559c240d6 --- /dev/null +++ b/udkapi/com/sun/star/test/performance/XPerformanceTest.idl @@ -0,0 +1,139 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_test_performance_XPerformanceTest_idl__ +#define __com_sun_star_test_performance_XPerformanceTest_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +module com +{ +module sun +{ +module star +{ +module test +{ +module performance +{ + +/** struct of simple types to be carried +*/ +published struct SimpleTypes +{ + boolean Bool; + char Char; + byte Byte; + short Short; + unsigned short UShort; + long Long; + unsigned long ULong; + hyper Hyper; + unsigned hyper UHyper; + float Float; + double Double; +}; +/** struct ComplexTypes adding Sequence, String, Interface, Any to SimpleTypes +*/ +published struct ComplexTypes : SimpleTypes +{ + sequence< long > Sequence; + string String; + com::sun::star::uno::XInterface Interface; + any Any; +}; + +/** A performance test object has to be implemented in a special way, that: + <ul> + <li>queryInterface() execution times remain (nearly) static</li> + <li>functions kept simple, thus there is (nearly) no execution time of the function itself</li> + <li>no dynamic data is ever returned except of createObject(), so return 0, empty strings etc.</li> + </ul> + The interface is divided into three sections: + <ul> + <li>measuring asynchron/ synchron calls</li> + <li>complex data calls with/out return value; in/out parameters</li> + <li>single data types like long, float, string etc.</li> + <li>method calls versa attribute calls</li> + <li>raising RuntimeException</li> + </ul> +*/ +published interface XPerformanceTest : com::sun::star::uno::XInterface +{ + [oneway] void async(); + void sync(); + + ComplexTypes complex_in( [in] ComplexTypes aVal ); + ComplexTypes complex_inout( [inout] ComplexTypes aVal ); + + [oneway] void complex_oneway( [in] ComplexTypes aVal ); + void complex_noreturn( [in] ComplexTypes aVal ); + + XPerformanceTest createObject(); + + [attribute] long Long_attr; + [attribute] hyper Hyper_attr; + [attribute] float Float_attr; + [attribute] double Double_attr; + [attribute] string String_attr; + [attribute] com::sun::star::uno::XInterface Interface_attr; + [attribute] any Any_attr; + [attribute] sequence< com::sun::star::uno::XInterface > Sequence_attr; + [attribute] ComplexTypes Struct_attr; + + long getLong(); + void setLong( [in] long n ); + hyper getHyper(); + void setHyper( [in] hyper n ); + float getFloat(); + void setFloat( [in] float f ); + double getDouble(); + void setDouble( [in] double f ); + string getString(); + void setString( [in] string s ); + com::sun::star::uno::XInterface getInterface(); + void setInterface( [in] com::sun::star::uno::XInterface x ); + any getAny(); + void setAny( [in] any a ); + sequence< com::sun::star::uno::XInterface > getSequence(); + void setSequence( [in] sequence< com::sun::star::uno::XInterface > seq ); + ComplexTypes getStruct(); + void setStruct( [in] ComplexTypes c ); + + void raiseRuntimeException(); +}; + +//============================================================================= + +}; +}; +}; +}; +}; + +#endif diff --git a/udkapi/com/sun/star/test/performance/makefile.mk b/udkapi/com/sun/star/test/performance/makefile.mk new file mode 100644 index 000000000000..00168c2a005d --- /dev/null +++ b/udkapi/com/sun/star/test/performance/makefile.mk @@ -0,0 +1,45 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* +PRJ=..$/..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssperftest +PACKAGE=com$/sun$/star$/test$/performance + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + XPerformanceTest.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/udk-modules.idl b/udkapi/com/sun/star/udk-modules.idl new file mode 100644 index 000000000000..cb879e5f803c --- /dev/null +++ b/udkapi/com/sun/star/udk-modules.idl @@ -0,0 +1,82 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_modules_idl__ +#define __com_sun_star_modules_idl__ + +module com { module sun { module star { + +/// Java beans-like property access and introspection. +module beans{}; + +/// Interfaces for building bridges to other component models. +module bridge {}; + +/// Data exchange interfaces for inter-process communication. +module connection {}; + +/// Interfaces for collections and containers. +module container {}; + +/// Modules for IOP, IIOP and GIOP. +module corba {}; + +/// General input/output interfaces. +module io {}; + +/// Java to UNO connectivity interfaces. +module java {}; + +/// General UNO concepts like factories etc. +module lang {}; + +/// Component implementation loader interfaces. +module loader {}; + +/// Runtime object inspection / core reflection interfaces. +module reflection {}; + +/// Interfaces to access registration databases. +module registry {}; + +/// Scripting language bindings. +module script {}; + +/// Interface for authorisation and authentification. +module security {}; + +/// Test interfaces for core-reflection, introspection and marshalling. +module test {}; + +/// Basic UNO interfaces. +module uno {}; + +/// URI processing. +module uri {}; + +}; }; }; + +#endif diff --git a/udkapi/com/sun/star/uno/DeploymentException.idl b/udkapi/com/sun/star/uno/DeploymentException.idl new file mode 100644 index 000000000000..5cf8e4f48bd7 --- /dev/null +++ b/udkapi/com/sun/star/uno/DeploymentException.idl @@ -0,0 +1,53 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_DeploymentException_idl__ +#define __com_sun_star_uno_DeploymentException_idl__ + +#ifndef __com_sun_star_uno_RuntimeException_idl__ +#include <com/sun/star/uno/RuntimeException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module uno { + +//============================================================================= + +/** Exception signalling a deployment error. + + @since OOo 1.1.2 +*/ +published exception DeploymentException : com::sun::star::uno::RuntimeException +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uno/Exception.idl b/udkapi/com/sun/star/uno/Exception.idl new file mode 100644 index 000000000000..1ddfcdd3d8ce --- /dev/null +++ b/udkapi/com/sun/star/uno/Exception.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_Exception_idl__ +#define __com_sun_star_uno_Exception_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module uno { + +//============================================================================= + +// DocMerge from xml: exception com::sun::star::uno::Exception +/** the base of all UNO exceptions + + <p>All exceptions defined in UNO idl should derive from this exception.</p> + */ +published exception Exception +{ + /** gives a detailed description of the reason, why the exception was thrown. + <p> + The description should be as detailed as possible. + + */ + string Message; + + //------------------------------------------------------------------------- + + /** should contain a reference to the original, which raised the exception. + <p>May be NULL.</p> + */ + com::sun::star::uno::XInterface Context; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/uno/NamingService.idl b/udkapi/com/sun/star/uno/NamingService.idl new file mode 100644 index 000000000000..db77fb65cb4c --- /dev/null +++ b/udkapi/com/sun/star/uno/NamingService.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_NamingService_idl__ +#define __com_sun_star_uno_NamingService_idl__ + +#ifndef __com_sun_star_uno_XNamingService_idl__ +#include <com/sun/star/uno/XNamingService.idl> +#endif + + module com { module sun { module star { module uno { + +//============================================================================= +/** a simple named object container. + + */ +published service NamingService +{ + /** through this interface the objects are registered and accessed. + */ + interface com::sun::star::uno::XNamingService; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + + Source Code Control System - Update + +=============================================================================*/ +#endif + diff --git a/udkapi/com/sun/star/uno/RuntimeException.idl b/udkapi/com/sun/star/uno/RuntimeException.idl new file mode 100644 index 000000000000..c5660e0895fc --- /dev/null +++ b/udkapi/com/sun/star/uno/RuntimeException.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_RuntimeException_idl__ +#define __com_sun_star_uno_RuntimeException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module uno { + +//============================================================================= + +/** This exception or a subclass can occur at every interface method. + <p> + It shall signal an error, which was not covered by the interface + method specification. This exception (or a derived one) is thrown, + when for instance an interprocess bridge to the object broke down, + some explicitly forbidden invalid parameters were passed ( e.g. null + references ) or the called object has been disposed before. + */ +published exception RuntimeException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/uno/SecurityException.idl b/udkapi/com/sun/star/uno/SecurityException.idl new file mode 100644 index 000000000000..341c79827453 --- /dev/null +++ b/udkapi/com/sun/star/uno/SecurityException.idl @@ -0,0 +1,51 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_SecurityException_idl__ +#define __com_sun_star_uno_SecurityException_idl__ + +#ifndef __com_sun_star_uno_RuntimeException_idl__ +#include <com/sun/star/uno/RuntimeException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module uno { + +//============================================================================= + +/** Base exception for all security related exceptions. +*/ +published exception SecurityException : com::sun::star::uno::RuntimeException +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uno/TypeClass.idl b/udkapi/com/sun/star/uno/TypeClass.idl new file mode 100644 index 000000000000..7d5acb693b56 --- /dev/null +++ b/udkapi/com/sun/star/uno/TypeClass.idl @@ -0,0 +1,153 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_TypeClass_idl__ +#define __com_sun_star_uno_TypeClass_idl__ + + +//============================================================================= + + module com { module sun { module star { module uno { + +//============================================================================= + +/** This enum describes all type classes of UNO. Every specific type has a type + class specifying the general context of the reflected type. + + <p> + Example: + A type reflecting the interface <type>XInterface</type> is of type class + INTERFACE and its name is "com.sun.star.uno.XInterface". + </p> +*/ +published enum TypeClass +{ + /** reflecting the void type; denotes no type + */ + VOID, + /** reflecting the 16-bit unicode character type + */ + CHAR, + /** reflecting the boolean type; true and false + */ + BOOLEAN, + /** reflecting the 8-bit ordinal type + */ + BYTE, + /** reflecting the signed 16-bit ordinal type + */ + SHORT, + /** reflecting the unsigned 16-bit ordinal type + */ + UNSIGNED_SHORT, + /** reflecting the signed 32-bit ordinal type + */ + LONG, + /** reflecting the unsigned 32-bit type + */ + UNSIGNED_LONG, + /** reflecting the signed 64-bit ordinal type + */ + HYPER, + /** reflecting the unsigned 64-bit ordinal type + */ + UNSIGNED_HYPER, + /** reflecting the 32-bit floating point type + */ + FLOAT, + /** reflecting the 64-bit floating point type + */ + DOUBLE, + /** reflecting the string type; strings of unicode characters + */ + STRING, + /** reflecting the meta type + */ + TYPE, + /** reflecting the any type; anys can carry any UNO value except of any values + */ + ANY, + /** reflecting enum types + */ + ENUM, + /** reflecting typedefed types referencing other types + */ + TYPEDEF, + /** reflecting compound types + */ + STRUCT, + /** reflecting union types + */ + UNION, + /** reflecting exception types + */ + EXCEPTION, + /** reflecting sequence types + */ + SEQUENCE, + /** reflecting array types + */ + ARRAY, + /** reflecting interface types + */ + INTERFACE, + /** reflecting services + */ + SERVICE, + /** reflecting modules + */ + MODULE, + /** reflecting interface methods + */ + INTERFACE_METHOD, + /** reflecting interface attributes + */ + INTERFACE_ATTRIBUTE, + /** reflecting the unreflectable type + */ + UNKNOWN, + /** reflecting properties + */ + PROPERTY, + /** reflecting constants + */ + CONSTANT, + /** reflecting constants groups + */ + CONSTANTS, + /** reflecting singletons + */ + SINGLETON +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/uno/Uik.idl b/udkapi/com/sun/star/uno/Uik.idl new file mode 100644 index 000000000000..1ef1f776f3df --- /dev/null +++ b/udkapi/com/sun/star/uno/Uik.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_Uik_idl__ +#define __com_sun_star_uno_Uik_idl__ + + +//============================================================================= + + module com { module sun { module star { module uno { + +/** Specifies an universal interface key (globally unique). + + This struct is deprecated. Uiks are not used anymore. + @deprecated +*/ +published struct Uik +{ + /** specifies a 4 byte data block. + */ + unsigned long m_Data1; + + /** specifies a 2 byte data block. + */ + unsigned short m_Data2; + + /** specifies a 2 byte data block. + */ + unsigned short m_Data3; + + /** specifies a 4 byte data block. + */ + unsigned long m_Data4; + + /** specifies a 4 byte data block. + */ + unsigned long m_Data5; +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/uno/XAdapter.idl b/udkapi/com/sun/star/uno/XAdapter.idl new file mode 100644 index 000000000000..875fc71c8113 --- /dev/null +++ b/udkapi/com/sun/star/uno/XAdapter.idl @@ -0,0 +1,92 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_XAdapter_idl__ +#define __com_sun_star_uno_XAdapter_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_uno_XReference_idl__ +#include <com/sun/star/uno/XReference.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module uno { + +//============================================================================= + +/** This is the server-side interface to a weak adapter. + + <p>The implementation of <type>XAdapter</type> must know + but not hold the adapted object, because it must not + affect the lifetime of the adapted object. + + </p>@see XWeak + for description of concepts. + */ +published interface XAdapter: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::uno::XAdapter::queryAdapted + /** queries the adapted object if it is alive. + */ + com::sun::star::uno::XInterface queryAdapted(); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::uno::XAdapter::addReference + /** adds a reference to the adapter. + + + + <p>All added references are called when the adapted object dies. + + </p> + */ + void addReference( [in] com::sun::star::uno::XReference xRef ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::uno::XAdapter::removeReference + /** removes a reference from the adapter. + */ + void removeReference( [in] com::sun::star::uno::XReference xRef ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/uno/XAggregation.idl b/udkapi/com/sun/star/uno/XAggregation.idl new file mode 100644 index 000000000000..3fe757bba7b3 --- /dev/null +++ b/udkapi/com/sun/star/uno/XAggregation.idl @@ -0,0 +1,124 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_XAggregation_idl__ +#define __com_sun_star_uno_XAggregation_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module uno { + +//============================================================================= +/** Objects which implement this interface can become aggregates of + a delegator. + + <p>That means if an object "A" aggregates "B", "A" can provide all + or some of the interfaces of "B". Whenever the method + <member>XInterface::queryInterface()</member> + is called on either of the objects, the call will be forwarded + to object "A". Object "A" now can determine whether to use the + interfaces of "A" or "B" or neither. Actually, any number of + aggregates can be used, even nested ones (aggregated objects which are + delegators by themselves). + + <p>The following rules are to be observed: + <ol> + <li>All calls to <member>XInterface::acquire()</member> + which are made before the delegator was set (using the method + <member>XAggregation::setDelegator()</member>) must not be taken back + (using the method <member>XInterface::release()</member>) + before the delegation is removed by calling + <code>xAggregation->setDelegator(NULL)</code>. + + <li>The constructor of a delegator has to increment its + own reference count by calling its method + <member>XInterface::acquire()</member> + before it sets itself to any aggregate using the method + <member>XAggregation::setDelegator()</member>. After that + call it has to reset its own reference count without the + destructor getting called. + + <li>The destructor of a delegator has to reset the delegator in + its aggregated objects by calling their method + <member>XAggregation::setDelegator()</member> with + <const>NULL</const> before it releases its reference to + its aggregated objects. + </ol> + + @deprecated + Aggregation will no longer be supported as a high-level concept of UNO. + You may still have the option to implement an UNO object consisting of + several single objects in your specific programming language, though this + depends on your programming language. +*/ +published interface XAggregation: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** sets the object to which all calls to the method + <member>XInterface::queryInterface()</member> + have to be forwarded. @ + + @param xDelegator + specifies the object which handles the calls to + <member>XInterface::queryInterface()</member>. + If <var>xDelegator</var> is <const>NULL</const>, the delegator is + removed and thus the object becomes its own delegator and has + to handle calls to the method + <member>XInterface::queryInterface()</member> + itself. + + @see XAggregation::queryAggregation + */ + void setDelegator( [in] com::sun::star::uno::XInterface pDelegator ); + + //------------------------------------------------------------------------- + /** is similar to <member>XInterface::queryInterface()</member>, + but it is to be processed directly without being forwarded to the + delegator. @ + + <p>This method is only called from within an implementation of + <member>XInterface::queryInterface()</member> + or <member>XAggregation::queryAggregation()</member>. This method + is to be called by the delegator if it does not implement the + interface itself. An object which got aggregated cannot depend + on getting its own interface when it calls the method + <member>XInterface::queryInterface()</member>. + + @see XAggregation::setDelegator + */ + any queryAggregation( [in] type aType ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uno/XComponentContext.idl b/udkapi/com/sun/star/uno/XComponentContext.idl new file mode 100644 index 000000000000..fe43ed62e092 --- /dev/null +++ b/udkapi/com/sun/star/uno/XComponentContext.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_XComponentContext_idl__ +#define __com_sun_star_uno_XComponentContext_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +module com { module sun { module star { module lang { + published interface XMultiComponentFactory; +}; }; }; }; + +module com { module sun { module star { module uno { + +/** Component context to be passed to a component via + <type scope="com::sun::star::lang">XSingleComponentFactory</type>. + Arbitrary values (e.g. deployment values) can be retrieved from the context. +*/ +published interface XComponentContext : XInterface +{ + /** Gets a value from the context. + + @param Name + name of value + @return + value + */ + any getValueByName( [in] string Name ); + + /** Gets the service manager instance to be used from key + <code>/singletons/com.sun.star.lang.theServiceManager</code> (maybe null ref). + This method has been added for convenience, because the + service manager is used very often. + + @return + service manager, if any + */ + com::sun::star::lang::XMultiComponentFactory getServiceManager(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uno/XCurrentContext.idl b/udkapi/com/sun/star/uno/XCurrentContext.idl new file mode 100644 index 000000000000..4cd83482afe6 --- /dev/null +++ b/udkapi/com/sun/star/uno/XCurrentContext.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_XCurrentContext_idl__ +#define __com_sun_star_uno_XCurrentContext_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +module com { module sun { module star { module uno { + +/** Task (e.g. thread) local execution context for UNO. + Arbitrary values can be retrieved from the context. + <p> + You have to use UNO runtime functions to obtain the current context + in your target language. + </p> + @attention + In general, do not spread the current context across different tasks. + Values of the current context are destined for that task only. +*/ +published interface XCurrentContext : XInterface +{ + /** Gets a value from the context. + + @param Name + name of value + @return + value + */ + any getValueByName( [in] string Name ); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uno/XInterface.idl b/udkapi/com/sun/star/uno/XInterface.idl new file mode 100644 index 000000000000..440b3fe95db1 --- /dev/null +++ b/udkapi/com/sun/star/uno/XInterface.idl @@ -0,0 +1,134 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_XInterface_idl__ +#define __com_sun_star_uno_XInterface_idl__ + +//============================================================================= + + module com { module sun { module star { module uno { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::uno::XInterface +/** base interface of all UNO interfaces + + <p> It provides lifetime control by reference counting and the + possibility of querying for other + interfaces of the same logical object. + + + <p> + "Logical Object" in this case means that the + interfaces actually can be supported by internal (e.g. aggregated) physical objects.</p> + + <p> Deriving from this interface is mandatory for all UNO interfaces. + <p> Each language binding (Java, C++, StarBasic, Python, ... ) may + provide a different mapping of this interface, please look into the language + dependent documention. + + <p> The UNO object does not export the state of the reference count (acquire() and + release() do not have return values). In general, also the UNO object itself + should not make any assumption on the concrete value of the reference count + (except on the transition from one to zero ). + + */ +published interface XInterface +{ + /** queries for a new interface to an existing UNO object. + <p> + The queryInterface() method is the entry point to obtain other interfaces which + are exported by the object. The caller asks the implementation of the object, + if it supports the interface specified by the type argument. The call may either + return with a interface reference of the requested type or with a void any. + + <p> + There are certain specifications, a queryInterface() implementation must not violate. + <p> + 1) If queryInterface on a specific object has once returned a valid interface reference + for a given type, it must return a valid reference for any successive queryInterface + calls on this object for the same type. + <p> + 2) If queryInterface on a specific object has once returned a null reference + for a given type, it must always return a null reference for the same type. + <p> + 3) If queryInterface on a reference A returns reference B, queryInterface on + B for Type A must return interface reference A or calls made on the returned + reference must be equivalent to calls made on reference A. + <p> + 4) If queryInterface on a reference A returns reference B, queryInterface on + A and B for XInterface must return the same interface reference (object identity). + + <p> The reason for the strong specification is, that a Uno Runtime Environment (URE) + may choose to cache queryInterface() calls. + <p> As mentioned above, certain language bindings may map this function differently also + with different specifications, please visit the language dependent specification for it. + The current C++ binding sticks to the specification state + <p> + The rules mentioned above are basically identical to the rules of QueryInterface in MS COM. + + @param aType a UNO interface type, for which an object reference shall be obtained. + @return an interface reference in case the requested interface is supported by the object, + a void any otherwise. + */ + any queryInterface( [in] type aType ); + + //------------------------------------------------------------------------- + /** increases the reference counter by one. + + <p>When you have called acquire() on the + UNO object, it is often said, that you have a reference or a hard reference + to the object. + + <p> + It is only allowed to invoke a method on an UNO object, when you keep + a hard reference to it. + + <p> Every call to acquire must be followed by a corresponding call to release + some time later, which may eventually lead to the destruction of the object. + */ + [oneway] void acquire(); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::uno::XInterface::release + /** decreases the reference counter by one. + <p>When the reference counter reaches 0, the object gets deleted.</p> + <p>Calling release() on the object is often called releasing + or clearing the reference to an object. + */ + [oneway] void release(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/uno/XNamingService.idl b/udkapi/com/sun/star/uno/XNamingService.idl new file mode 100644 index 000000000000..c88da8638696 --- /dev/null +++ b/udkapi/com/sun/star/uno/XNamingService.idl @@ -0,0 +1,82 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_XNamingService_idl__ +#define __com_sun_star_uno_XNamingService_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + module com { module sun { module star { module uno { + +//============================================================================= + +/** allows to insert, remove and access named objects. + */ +published interface XNamingService: com::sun::star::uno::XInterface +{ + + /** provides a previous registered object. + */ + com::sun::star::uno::XInterface getRegisteredObject( [in] string Name ) + raises (Exception); + + + /** registers one object under the specified name. + + <p>If any object is registered before, then this + object is revoked automatically. + + </p> + */ + void registerObject( [in]string Name, [in]com::sun::star::uno::XInterface Object ) + raises (Exception); + + + /** revokes the registration of an object. <p>If the object was not + previously registered, then this call does nothing. + */ + void revokeObject( [in]string Name ) + raises (Exception); +}; + + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + + Source Code Control System - Update + +=============================================================================*/ +#endif + diff --git a/udkapi/com/sun/star/uno/XReference.idl b/udkapi/com/sun/star/uno/XReference.idl new file mode 100644 index 000000000000..540ba053abba --- /dev/null +++ b/udkapi/com/sun/star/uno/XReference.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_XReference_idl__ +#define __com_sun_star_uno_XReference_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module uno { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::uno::XReference +/** must be implemented by anyone who holds the adapter on the client side.@see XWeak + for decription af concepts. + */ +published interface XReference: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::uno::XReference::dispose + /** removes all references to the adapter. + + + + <p> This method is called when the adapted object dies. + The implementation of the client-side's weak reference + must include removal of all references to the adapter. + Otherwise, the adapted object will be destroyed, but the + adapter will be alive.</p> + */ + [oneway] void dispose(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/uno/XUnloadingPreference.idl b/udkapi/com/sun/star/uno/XUnloadingPreference.idl new file mode 100644 index 000000000000..e87efd20d253 --- /dev/null +++ b/udkapi/com/sun/star/uno/XUnloadingPreference.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_XUnloadingPreference_idl__ +#define __com_sun_star_uno_XUnloadingPreference_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module uno { + +//============================================================================= +/** Components can implement <code>XUnloadingPreference</code> in order to indicate + how they should be treated when their hosting library is to be unloaded. + + When someone calls <code>rtl_unloadUnusedModules</code> then the unloading + listeners are notified by calling previously registered callback + functions. A listener is an entity that employs, registers, and + unregisters the callback functions on its behalf. Upon notification + (the callback function is being called) + a listener may release references to UNO components. Thus, the + loaded libraries can be unloaded, if no one else keeps any + objects from the library alive. <br> + Before a listener releases references, it should ask for this interface. + If the interface is not implemented, then the listener may release the + object; otherwise, it calls <code>releaseOnNotification</code>. If the function + returns false then the listener should keep the reference, otherwise + it may release it. +*/ +published interface XUnloadingPreference: com::sun::star::uno::XInterface +{ + /** + The return value determines if the object wants to stay + alive in case of an unloading procedure. + @return + <FALSE/>do not release references to this object,otherwise + <TRUE/> + */ + boolean releaseOnNotification(); +}; +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uno/XWeak.idl b/udkapi/com/sun/star/uno/XWeak.idl new file mode 100644 index 000000000000..73b73090d286 --- /dev/null +++ b/udkapi/com/sun/star/uno/XWeak.idl @@ -0,0 +1,123 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uno_XWeak_idl__ +#define __com_sun_star_uno_XWeak_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_uno_XAdapter_idl__ +#include <com/sun/star/uno/XAdapter.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module uno { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::uno::XWeak +/** the server-side interface to a weak object. + + + + <p>This interface is proxy to the adapted object. + In order to make it possible to have weak references to objects, + the <type>XAdapter</type> interface must be implemented to provide + a weak adapter for the clients. + + <h4>Concept of weak referencing:</h4> + + </p> + <p>This module specifies the interfaces for implementing and using + weak references.</p> + <p> + + </p> + <p>The sense of weak references is to hold a reference to an object + without affecting the lifetime of the object. That means that a weak + reference may become invalid, at any time, if the referenced object dies. + + </p> + <p>The following interfaces describe one way to handle weak references + by providing a weak adapter. The weak object has to provide this + adapter if anyone wants to hold a weak reference. To separate their + lifetimes, the adapter and the original object must not share the same + reference counter. The weak reference is in fact only a hard reference + to the adapter, which knows - but does not hold - the original object. + That means that the implementation and synchronization of weak + referencing is the responsibility of the object. The following + interfaces are involved in the concept of weak referencing: + + <dl> + <dt> + <type>XWeak</type> + </dt> + <dd>is the server-side interface of the referred object. This + referred object must support the <type>XAdapter</type> interface. + + </dd> + <dt> + <type>XReference</type> + </dt> + <dd>is a client-side interface which must be implemented by + the holder of any weak reference. It is used for notification + when the adapted object dies. + + </dd> + </dl> + </p> + */ +published interface XWeak: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::uno::XWeak::queryAdapter + /** queries the weak adapter. + + + + <p>It is important that the adapter must know, but not hold + the adapted object. If the adapted object dies, all references + to the adapter have to be notified to release the adapter. + + </p> + */ + com::sun::star::uno::XAdapter queryAdapter(); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif diff --git a/udkapi/com/sun/star/uno/makefile.mk b/udkapi/com/sun/star/uno/makefile.mk new file mode 100644 index 000000000000..d615b367fd5d --- /dev/null +++ b/udkapi/com/sun/star/uno/makefile.mk @@ -0,0 +1,61 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssuno +PACKAGE=com$/sun$/star$/uno + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + Exception.idl\ + NamingService.idl\ + RuntimeException.idl\ + SecurityException.idl\ + DeploymentException.idl\ + TypeClass.idl\ + Uik.idl\ + XAdapter.idl\ + XAggregation.idl\ + XInterface.idl\ + XNamingService.idl\ + XReference.idl\ + XWeak.idl\ + XComponentContext.idl\ + XCurrentContext.idl\ + XUnloadingPreference.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl b/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl new file mode 100644 index 000000000000..3ed909101441 --- /dev/null +++ b/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl @@ -0,0 +1,45 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_ExternalUriReferenceTranslator_idl__ +#define __com_sun_star_uri_ExternalUriReferenceTranslator_idl__ + +module com { module sun { module star { module uri { + +published interface XExternalUriReferenceTranslator; + +/** + translates between external and internal URI references. + + @since OOo 2.0.0 + */ +published service ExternalUriReferenceTranslator: + XExternalUriReferenceTranslator; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl b/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl new file mode 100644 index 000000000000..6d65648b7950 --- /dev/null +++ b/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_RelativeUriExcessParentSegments_idl__ +#define __com_sun_star_uri_RelativeUriExcessParentSegments_idl__ + +module com { module sun { module star { module uri { + +/** + details how excess special parent segments (“<code>..</code>”) + are handled when resolving a relative URI reference to absolute form. + + @see com::sun::star::uri::XUriReferenceFactory::makeAbsolute + for a method that uses this enumeration. + + @since OOo 2.0.0 + */ +published enum RelativeUriExcessParentSegments { + /** + causes excess special parent segments to be treated as an error. + */ + ERROR, + + /** + causes excess special parent segments to be retained, treating them like + ordinary segments. + */ + RETAIN, + + /** + causes excess special parent segments to be removed. + */ + REMOVE +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/UriReferenceFactory.idl b/udkapi/com/sun/star/uri/UriReferenceFactory.idl new file mode 100644 index 000000000000..678258d75ce0 --- /dev/null +++ b/udkapi/com/sun/star/uri/UriReferenceFactory.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_UriReferenceFactory_idl__ +#define __com_sun_star_uri_UriReferenceFactory_idl__ + +module com { module sun { module star { module uri { + +published interface XUriReferenceFactory; + +/** + creates URI references. + + <p>See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a> for a + description of URI references and related terms.</p> + + <p>For parsing absolute URI references, this service tries to use a + scheme-specific parser. Such a scheme-specific parser will typically enforce + additional restrictions during parsing, and will typically return objects + that support extra, scheme-specific interfaces in addition to + <type scope="com::sun::star::uri">XUriReference</type>. If no such parser + is found, and for relative URI references, a generic parser is used, which + returns objects that only support + <type scope="com::sun::star::uri">XUriReference</type>.</p> + + <p>Locating a scheme-specific parser works as follows: A scheme consists of + Latin captial letters + “<code>A</code>”–“<code>Z</code>”, Latin small + letters “<code>a</code>”–“<code>z</code>”, + digits “<code>0</code>”–“<code>9</code>”, + “<code>+</code>”, “<code>-</code>”, and + “<code>.</code>”. A scheme <var>s</var> is transformed into + a string <var>s</var>′ character-by-character, by translating + Lating capital letters to their small counterparts, translating + “<code>+</code>” to “<code>PLUS</code>”, + “<code>-</code>” to “<code>HYPHEN</code>”, + “<code>.</code>” to “<code>DOT</code>”, and copying + Latin small letters and digits unchanged. If the component context used + while creating this <code>UriReferenceFactory</code> instance offers a + service manager, and there is a service available at that service manager + whose name is the concatenation of + “<code>com.sun.star.uri.UriSchemeParser_</code>” and + <var>s</var>′, then that service is used. It is an error if that + service does not support + <type scope="com::sun::star::uri">XUriSchemeParser</type>.</p> + + @since OOo 2.0.0 + */ +published service UriReferenceFactory: XUriReferenceFactory; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTexpand.idl b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTexpand.idl new file mode 100644 index 000000000000..b0115810fb8a --- /dev/null +++ b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTexpand.idl @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_UriSchemeParser_vndDOTsunDOTstarDOTexpand_idl__ +#define __com_sun_star_uri_UriSchemeParser_vndDOTsunDOTstarDOTexpand_idl__ + +module com { module sun { module star { module uri { + +published interface XUriSchemeParser; + +/** + parses textual representations of absolute “vnd.sun.star.expand” + URLs. + + <p>The argument <code>scheme</code> of method + <member scope="com::sun::star::uri">XUriSchemeParser::parse</member> must + always be equal to the <atom>string</atom> + <code>"vnd.sun.star.expand"</code>, ignoring case. The objects returned by + <member scope="com::sun::star::uri">XUriSchemeParser::parse</member> + implement + <type scope="com::sun::star::uri">XVndSunStarExpandUrlReference</type>.</p> + + <p>This service is not intended to be instantiated directly by client code. + Rather, it should be used indirectly through the + <type scope="com::sun::star::uri">UriReferenceFactory</type> service.</p> + + @since OOo 2.3 + */ +published service UriSchemeParser_vndDOTsunDOTstarDOTexpand: XUriSchemeParser +{}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl new file mode 100644 index 000000000000..50da8154e43a --- /dev/null +++ b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_UriSchemeParser_vndDOTsunDOTstarDOTscript_idl__ +#define __com_sun_star_uri_UriSchemeParser_vndDOTsunDOTstarDOTscript_idl__ + +module com { module sun { module star { module uri { + +published interface XUriSchemeParser; + +/** + parses textual representations of absolute “vnd.sun.star.script” + URLs. + + <p>The argument <code>scheme</code> of method + <member scope="com::sun::star::uri">XUriSchemeParser::parse</member> must + always be equal to the <atom>string</atom> + <code>"vnd.sun.star.script"</code>, ignoring case. The objects returned by + <member scope="com::sun::star::uri">XUriSchemeParser::parse</member> + implement + <type scope="com::sun::star::uri">XVndSunStarScriptUrlReference</type>.</p> + + <p>This service is not intended to be instantiated directly by client code. + Rather, it should be used indirectly through the + <type scope="com::sun::star::uri">UriReferenceFactory</type> service.</p> + + @since OOo 2.0.0 + */ +published service UriSchemeParser_vndDOTsunDOTstarDOTscript: XUriSchemeParser +{}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl b/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl new file mode 100644 index 000000000000..f652851cf280 --- /dev/null +++ b/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl @@ -0,0 +1,45 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_VndSunStarPkgUrlReferenceFactory_idl__ +#define __com_sun_star_uri_VndSunStarPkgUrlReferenceFactory_idl__ + +module com { module sun { module star { module uri { + +published interface XVndSunStarPkgUrlReferenceFactory; + +/** + creates “vnd.sun.star.pkg” URL references. + + @since OOo 2.0.0 + */ +published service VndSunStarPkgUrlReferenceFactory: + XVndSunStarPkgUrlReferenceFactory; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl b/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl new file mode 100644 index 000000000000..3dc6b8bfca77 --- /dev/null +++ b/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl @@ -0,0 +1,91 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_XExternalUriReferenceTranslator_idl__ +#define __com_sun_star_uri_XExternalUriReferenceTranslator_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module uri { + +/** + translates between external and internal URI references. + + <p>Some URI schemes leave unspecified important aspects of how to interpret + URIs of those schemes. For example, it is unspecified for “file” + URLs how to map the byte sequences that constitute the path segments of a + “file” URL to filenames on a given platform: The UNO environment + always assumes that path segments of “file” URLs represent + UTF-8–encoded strings (which have to be mapped to filenames in a + platform-specific way), while other applications typically assume that path + segments of “file” URLs directly represent a platform's + byte-sequence filenames. This interface offers methods to translate between + such <dfn>internal</dfn> URIs (e.g., UTF-8–encoded “file” + URLs used within the UNO environment) and <dfn>external</dfn> URIs (e.g., + byte-sequence–oriented “file” URLs used by other + applications). Typically, only “file” URLs are affected by this + translation.</p> + + <p>Since the translation process is based on URI schemes, relative URI + references (that do not include a scheme) are left unmodified by the + translation process.</p> + + @since OOo 2.0.0 + */ +published interface XExternalUriReferenceTranslator { + /** + returns the internal counterpart of an external URI reference. + + @param externalUriReference + an external URI reference. + + @returns + the internal counterpart of the given external URI reference. An empty + string is returned if the given external URI reference either is an empty + string or cannot be converted (for example, because it contains illegal + characters). + */ + string translateToInternal([in] string externalUriReference); + + /** + returns the external counterpart of an internal URI reference. + + @param internalUriReference + an internal URI reference. + + @returns + the external counterpart of the given internal URI reference. An empty + string is returned if the given internal URI reference either is an empty + string or cannot be converted (for example, because it contains illegal + characters). + */ + string translateToExternal([in] string internalUriReference); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/XUriReference.idl b/udkapi/com/sun/star/uri/XUriReference.idl new file mode 100644 index 000000000000..79ad88f47a1c --- /dev/null +++ b/udkapi/com/sun/star/uri/XUriReference.idl @@ -0,0 +1,231 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_XUriReference_idl__ +#define __com_sun_star_uri_XUriReference_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module uri { + +/** + represents generic, mutable URI references. + + <p>See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a> for a + description of URI references and related terms.</p> + + <p>This interface only handles generic URI references (both absolute and + relative). For specific URI schemes, there will be additional interfaces + that offer extra, scheme-specific functionality.</p> + + @see com::sun::star::uri::UriReferenceFactory + which allows to create URI reference objects that support + <type scope="com::sun::star::uri">XUriReference</type> and additional, + scheme-specific interfaces. + + @since OOo 2.0.0 + */ +published interface XUriReference: com::sun::star::uno::XInterface { + /** + returns the textual representation of the complete URI reference. + + @returns + the textual representation of the complete URI reference. The exact + spelling of the URI reference is retained. + */ + string getUriReference(); + + /** + returns whether this URI reference is absolute or relative. + + @returns + <TRUE/> if this URI reference is absolute, <FALSE/> if it is relative. + */ + boolean isAbsolute(); + + /** + returns the scheme part of this (absolute) URI reference. + + @returns + the textual representation of the scheme part (with the exact spelling + retained; without the delimiting “<code>:</code>”), if this + is an absolute URI reference; otherwise, an empty <atom>string</atom> is + returned. + */ + string getScheme(); + + /** + returns the scheme-specific part of this URI reference. + + <p>For an absolute URI reference, the scheme-specific part is everything + after the scheme part and the delimiting “<code>:</code>”, + and before the optional “<code>#</code>” and fragment part. + For a relative URI reference, the scheme-specific part is everything + before the optional “<code>#</code>” and fragment part.</p> + + @returns + the textual representation of the scheme-specific part (with the exact + spelling retained). + */ + string getSchemeSpecificPart(); + + /** + returns whether this URI reference is hierarchical or opaque. + + <p>An absolute URI reference is hierarchical if its scheme-specific part + starts with “<code>/</code>”. A relative URI reference is + always hierarchical.</p> + + @returns + <TRUE/> if this URI reference is hierarchical, <FALSE/> if it is opaque. + */ + boolean isHierarchical(); + + /** + returns whether this (hierarchical) URI reference has an authority part. + + @returns + <TRUE/> if this URI reference is hierarchical and has an authority part. + */ + boolean hasAuthority(); + + /** + returns the authority part of this (hierarchical) URI reference. + + @returns + the textual representation of the authority part (with the exact spelling + retained), if this is a hierarchical URI reference that has an authority + part; otherwise, an empty <atom>string</atom> is returned. + */ + string getAuthority(); + + /** + returns the path part of this URI reference. + + @returns + the textual representation of the path part (with the exact spelling + retained), if this is a hierarchical URI reference; for an opaque URI + reference, the scheme-specific part (with the exact spelling retained) is + returned. + */ + string getPath(); + + /** + returns whether this (relative) URI reference has a relative path. + + @returns + <TRUE/> if this URI reference is relative and has a relative path. + */ + boolean hasRelativePath(); + + /** + returns the number of path segments of this (hierarchical) URI reference. + + <p>For an opaque URI reference, and for a hierarchical URI reference with + an empty path, the number of path segments is zero. For a hierarchical + URI reference with an absolute, non-empty path, the number of path + segments equals the number of “<code>/</code>” delimiters. + For a hierarchical URI reference with a relative, non-empty path, the + number of path segments equals the number of “<code>/</code>” + delimiters, plus one.</p> + + @returns + the number of path segments. + */ + long getPathSegmentCount(); + + /** + returns a given path segment of this (hierarchical) URI reference. + + @param index + the index of the path segment, starting at zero. + + @returns + the textual representation of the given path segment (with the exact + spelling retained, without any delimiting “<code>/</code>”), + if this URI reference is hierarchical and has that many path segments; + otherwise, and in particular if <code>index</code> is negative, an empty + <atom>string</atom> is returned. + */ + string getPathSegment([in] long index); + + /** + returns whether this (hierarchical) URI reference has a query part. + + @returns + <TRUE/> if this URI reference is hierarchical and has a query part. + */ + boolean hasQuery(); + + /** + returns the query part of this (hierarchical) URI reference. + + @returns + the textual representation of the query part (with the exact spelling + retained; without the delimiting “<code>?</code>”), if this + is a hierarchical URI reference that has a query part; otherwise, an + empty <atom>string</atom> is returned. + */ + string getQuery(); + + /** + returns whether this URI reference has a fragment part. + + @returns + <TRUE/> if this URI reference has a fragment part. + */ + boolean hasFragment(); + + /** + returns the fragment part of this URI reference. + + @returns + the textual representation of the fragment part (with the exact spelling + retained; without the delimiting “<code>#</code>”), if this + is a URI reference that has a fragment part; otherwise, an empty + <atom>string</atom> is returned. + */ + string getFragment(); + + /** + sets the fragment part of this URI reference. + + @param fragment + the textual representation of the new fragment part. The exact spelling + will be preserved, and no escaping is performed. + */ + void setFragment([in] string fragment); + + /** + clears the fragment part of this URI reference. + */ + void clearFragment(); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/XUriReferenceFactory.idl b/udkapi/com/sun/star/uri/XUriReferenceFactory.idl new file mode 100644 index 000000000000..bd62235b985d --- /dev/null +++ b/udkapi/com/sun/star/uri/XUriReferenceFactory.idl @@ -0,0 +1,163 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_XUriReferenceFactory_idl__ +#define __com_sun_star_uri_XUriReferenceFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/uri/RelativeUriExcessParentSegments.idl> +#include <com/sun/star/uri/XUriReference.idl> + +module com { module sun { module star { module uri { + +/** + creates URI references. + + <p>See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a> for a + description of URI references and related terms.</p> + + @since OOo 2.0.0 + */ +published interface XUriReferenceFactory: com::sun::star::uno::XInterface { + /** + parses the textual representation of a URI reference. + + @param uriReference + the textual representation of a URI reference. + + @returns + an object that supports + <type scope="com::sun::star::uri">XUriReference</type> (and possibly also + additional, scheme-specific interfaces), if the given input can be parsed + into a URI reference; otherwise, <NULL/> is returned. + */ + XUriReference parse([in] string uriReference); + + /** + resolves a relative URI reference to absolute form. + + @param baseUriReference + the base URI reference. If the given <code>uriReference</code> is a + same-document reference, <code>baseUriReference</code> is used as a + reference to the current document. + + @param uriReference + any URI reference. Backwards-compatible relative URI references starting + with a scheme component (see RFC 2396, Section 5.2, + step 3) are not supported; instead, they are interpreted as absolute + URI references. + + @param processSpecialBaseSegments + if <TRUE/>, special segments (“<code>.</code>” and + “<code>..</code>”) within the path of the base URI (except + for the last, cut-off segment) are processed as suggested by + RFC 2396. If <FALSE/>, special segments within the path of the base + URI are treated like ordinary segments. + + @param excessParentSegments + details how excess special parent segments + (“<code>..</code>”) are handled. + + @returns + a fresh object that supports + <type scope="com::sun::star::uri">XUriReference</type> (and possibly also + additional, scheme-specific interfaces), if the given + <code>uriReference</code> is either already absolute, or can be resolved + to an absolute URI reference, relative to the given + <code>baseUriReference</code>; otherwise, <NULL/> is returned. + Especially, if <code>baseUriReference</code> is <NULL/>, or is not an + absolute, hierarchical URI reference, or if <code>uriReference</code> is + <NULL/>, then <NULL/> is always returned. + */ + XUriReference makeAbsolute( + [in] XUriReference baseUriReference, [in] XUriReference uriReference, + [in] boolean processSpecialBaseSegments, + [in] RelativeUriExcessParentSegments excessParentSegments); + + /** + changes an absolute URI refrence to relative form. + + @param baseUriReference + the base URI reference. + + @param uriReference + any URI reference. + + @param preferAuthorityOverRelativePath + controls how a relative URI reference is generated when both + <code>baseUriReference</code> (e.g., + “<code>scheme://auth/a/b</code>”) and + <code>uriReference</code> (e.g., + “<code>scheme://auth//c/d</code>”) have the same scheme and + authority components, and the path component of <code>uriReference</code> + starts with “<code>//</code>”. If <TRUE/>, the generated + relative URI reference includes an authority component (e.g., + “<code>//auth//c/d</code>”); if <FALSE/>, the generated + relative URI reference has a relative path (e.g., + “<code>..//c/d</code>”). + + @param preferAbsoluteOverRelativePath + controls how a relative URI reference is generated when both + <code>baseUriReference</code> (e.g., + “<code>scheme://auth/a/b</code>”) and + <code>uriReference</code> (e.g., + “<code>scheme://auth/c/d</code>”) have the same scheme and + authority components (if present), but share no common path segments. If + <TRUE/>, the generated relative URI reference has an absolute path (e.g., + “<code>/c/d</code>”); if <FALSE/>, the generated relative URI + reference has a relative path (e.g., “<code>../c/d</code>”). + + @param encodeRetainedSpecialSegments + if <TRUE/>, special segments (“<code>.</code>” and + “<code>..</code>”) that are already present in the path + component of the given <code>uriReference</code> and which end up in a + relative path returned from this method, are encoded (as + “<code>%2E</code>” and “<code>%2E%2E</code>”, + respectively). + + @returns + a fresh object that supports + <type scope="com::sun::star::uri">XUriReference</type>, if the given + <code>uriReference</code> is either already relative, or is not + hierarchical, or is of a different scheme than the given + <code>baseUriReference</code>, or can be changed to a relative URI + reference, relative to the given <code>baseUriReference</code>; + otherwise, <NULL/> is returned. Especially, if + <code>baseUriReference</code> is <NULL/>, or is not an absolute, + hierarchical URI reference, or if <code>uriReference</code> is <NULL/>, + then <NULL/> is always returned. + */ + XUriReference makeRelative( + [in] XUriReference baseUriReference, [in] XUriReference uriReference, + [in] boolean preferAuthorityOverRelativePath, + [in] boolean preferAbsoluteOverRelativePath, + [in] boolean encodeRetainedSpecialSegments); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/XUriSchemeParser.idl b/udkapi/com/sun/star/uri/XUriSchemeParser.idl new file mode 100644 index 000000000000..61a8173d9ab4 --- /dev/null +++ b/udkapi/com/sun/star/uri/XUriSchemeParser.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_XUriSchemeParser_idl__ +#define __com_sun_star_uri_XUriSchemeParser_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/uri/XUriReference.idl> + +module com { module sun { module star { module uri { + +/** + parses textual representations of absolute URIs. + + <p>See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a> for a + description of URIs and related terms.</p> + + @since OOo 2.0.0 + */ +published interface XUriSchemeParser: com::sun::star::uno::XInterface { + /** + parses the textual representation of an absolute URI. + + <p>This method is used to parse URIs (with no fragment part), not URI + references (with an optional fragment part).</p> + + <p>If an object is returned, the behaviour of its + <type scope="com::sun::star::uri">XUriReference</type> methods must + reflect the fact that the object represents an absolute URI reference + with the given scheme and scheme-specific part, and without a fragment + part.</p> + + @param scheme + the textual representation of the scheme part (without the delimiting + “<code>:</code>”). + + @param uriReference + the textual representation of the scheme-specific part. + + @returns + an object that supports + <type scope="com::sun::star::uri">XUriReference</type> (and possibly also + additional, scheme-specific interfaces), if the given input can be parsed + into an absolute URI; otherwise, <NULL/> is returned. + */ + XUriReference parse([in] string scheme, [in] string schemeSpecificPart); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/XVndSunStarExpandUrl.idl b/udkapi/com/sun/star/uri/XVndSunStarExpandUrl.idl new file mode 100644 index 000000000000..8d3d339ce404 --- /dev/null +++ b/udkapi/com/sun/star/uri/XVndSunStarExpandUrl.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_XVndSunStarExpandUrl_idl__ +#define __com_sun_star_uri_XVndSunStarExpandUrl_idl__ + +#include "com/sun/star/lang/IllegalArgumentException.idl" +#include "com/sun/star/uno/XInterface.idl" + +module com { module sun { module star { module util { + published interface XMacroExpander; +}; }; }; }; + +module com { module sun { module star { module uri { + +/** + represents absolute “vnd.sun.star.expand” URLs. + + <p>These URLs are of the form<br/> +  <var>vnd-sun-star-expand-url</var> = + <code>"VND.SUN.STAR.EXPAND:"</code> <var>opaque_part</var><br/> + where the <var>opaque_part</var> is an UTF-8 string as described in + <a href="http://udk.openoffice.org/common/man/concept/micro_deployment.html"> + <cite>Bootstrap Arguments and Micro Deployment</cite></a>. See + <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>, + <a href="http://www.ietf.org/rfc/rfc2732.txt">RFC 2732</a>, and + <a href="http://www.ietf.org/rfc/rfc2234.txt">RFC 2234</a> for + details.</p> + + @since OOo 2.3 + */ +published interface XVndSunStarExpandUrl { + /** + returns the expanded content of this URL. + + @param expander + a macro expander; must not be <NULL/>. + + @returns + the expanded content of this URL. + + @throws com::sun::star::lang::IllegalArgumentException + if calling <member + scope="com::sun::star::util">XMacroExpander::expandMacros</member> on + <code>expander</code> raises any such exception. + */ + string expand([in] com::sun::star::util::XMacroExpander expander) + raises (com::sun::star::lang::IllegalArgumentException); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/XVndSunStarExpandUrlReference.idl b/udkapi/com/sun/star/uri/XVndSunStarExpandUrlReference.idl new file mode 100644 index 000000000000..57e9e28e28af --- /dev/null +++ b/udkapi/com/sun/star/uri/XVndSunStarExpandUrlReference.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_VndSunStarExpandUrlReference_idl__ +#define __com_sun_star_uri_VndSunStarExpandUrlReference_idl__ + +#include "com/sun/star/uri/XUriReference.idl" +#include "com/sun/star/uri/XVndSunStarExpandUrl.idl" + +module com { module sun { module star { module uri { + +/** + represents absolute “vnd.sun.star.expand” URL references. + + @since OOo 2.3 + */ +published interface XVndSunStarExpandUrlReference { + /** + represents the generic features of the URL reference. + + <p>The behaviour of the methods of this interface will always reflect the + fact that the represented URI reference is an absolute + “vnd.sun.star.expand” URL reference.</p> + */ + interface XUriReference; + + /** + represents the scheme-specific features of the URL reference. + */ + interface XVndSunStarExpandUrl; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl b/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl new file mode 100644 index 000000000000..e6db55f9905b --- /dev/null +++ b/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_XVndSunStarPkgUrlReferenceFactory_idl__ +#define __com_sun_star_uri_XVndSunStarPkgUrlReferenceFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module uri { + +published interface XUriReference; + +/** + creates “vnd.sun.star.pkg” URL references. + + @since OOo 2.0.0 + */ +published interface XVndSunStarPkgUrlReferenceFactory { + /** + creates a new “vnd.sun.star.pkg” URL reference. + + <p>The returned URL reference has the given authority, an empty path, and + no fragment.</p> + + @param authority the authority of the created URL reference; must not be + <NULL/>, and should be an absolute URI reference with no fragment + + @return a new “vnd.sun.star.pkg” URL reference, or <NULL/> if + the given authority is either not an absolute URI reference or has a + fragment + */ + XUriReference createVndSunStarPkgUrlReference([in] XUriReference authority); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl b/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl new file mode 100644 index 000000000000..753ed90b1cef --- /dev/null +++ b/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl @@ -0,0 +1,137 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_XVndSunStarScriptUrl_idl__ +#define __com_sun_star_uri_XVndSunStarScriptUrl_idl__ + +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module uri { + +/** + represents absolute “vnd.sun.star.script” URLs. + + <p>These URLs are of the form<br/> +  <var>vnd-sun-star-script-url</var> = + <code>"VND.SUN.STAR.SCRIPT:"</code> <var>name</var> [<code>"?"</code> + <var>parameter</var> *(<code>"&"</code> <var>parameter</var>)]<br/> +  <var>name</var> = 1*<var>schar</var><br/> +  <var>parameter</var> = <var>key</var> <code>"="</code> + <var>value</var><br/> +  <var>key</var> = 1*<var>schar</var><br/> +  <var>value</var> = *<var>schar</var><br/> +  <var>schar</var> = <var>unreserved</var> / <var>escaped</var> / + <code>"$"</code> / <code>"+"</code> / <code>","</code> / <code>":"</code> / + <code>";"</code> / <code>"@"</code> / <code>"["</code> / + <code>"]"</code><br/> + See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>, + <a href="http://www.ietf.org/rfc/rfc2732.txt">RFC 2732</a>, and + <a href="http://www.ietf.org/rfc/rfc2234.txt">RFC 2234</a> for + details.</p> + + <p>The names, keys, and values are arbitrary Unicode strings (non-empty + Unicode strings in the case of names and keys), encoded as UTF-8 byte + sequences. It is an error if any of them does not represent a valid UTF-8 + byte sequence. Keys are compared for equality character-by-character, + without considering case folding or normalization. There may be multiple + parameters with equal keys.</p> + + @since OOo 2.0.0 + */ +published interface XVndSunStarScriptUrl: com::sun::star::uno::XInterface { + /** + returns the name part of this URL. + + @returns + the non-escaped value of the name part. + */ + string getName(); + + /** + sets the name part of this URL. + + @param name + specifies the non-escaped new name part of the URL. + + @throws ::com::sun::star::lang::IllegalArgumentException + if <arg>name</arg> is empty + + @since OOo 3.0 + */ + void setName([in] string name) + raises ( ::com::sun::star::lang::IllegalArgumentException ); + + /** + returns whether this URL has a parameter with a given key. + + @param key + a non-escaped key. + + @returns + <TRUE/> if this URL has at least one parameter with the given key. In + particular, if <code>key</code> is an empty <atom>string</atom>, <FALSE/> + is returned. + */ + boolean hasParameter([in] string key); + + /** + returns the value of a parameter with a given key. + + @param key + a non-escaped key. + + @returns + the non-escaped value of the first parameter with the given key. If + there is no parameter with the given key, or if <code>key</code> is an + empty <atom>string</atom>, an empty <atom>string</atom> is returned. + */ + string getParameter([in] string key); + + /** + sets the value of a parameter with a given key. + + @param key + a non-escaped key + + @param value + the non-escaped value to be set for the parameter. If there already is a + parameter with this key, the value of its first appearance will be replaced. + Otherwise, a parameter with the given key/value will be appended. + + @throws ::com::sun::star::lang::IllegalArgumentException + if <arg>key</arg> is empty + + @since OOo 3.0 + */ + void setParameter( [in] string key, [in] string value ) + raises ( ::com::sun::star::lang::IllegalArgumentException ); +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/XVndSunStarScriptUrlReference.idl b/udkapi/com/sun/star/uri/XVndSunStarScriptUrlReference.idl new file mode 100644 index 000000000000..4b3ef2eae4b5 --- /dev/null +++ b/udkapi/com/sun/star/uri/XVndSunStarScriptUrlReference.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_uri_VndSunStarScriptUrlReference_idl__ +#define __com_sun_star_uri_VndSunStarScriptUrlReference_idl__ + +#include <com/sun/star/uri/XUriReference.idl> +#include <com/sun/star/uri/XVndSunStarScriptUrl.idl> + +module com { module sun { module star { module uri { + +/** + represents absolute “vnd.sun.star.script” URL references. + */ +published interface XVndSunStarScriptUrlReference { + /** + represents the generic features of the URL reference. + + <p>The behaviour of the methods of this interface will always reflect the + fact that the represented URI reference is an absolute + “vnd.sun.star.script” URL reference.</p> + */ + interface XUriReference; + + /** + represents the scheme-specific features of the URL reference. + */ + interface XVndSunStarScriptUrl; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/uri/makefile.mk b/udkapi/com/sun/star/uri/makefile.mk new file mode 100644 index 000000000000..8b9a0b7a2b81 --- /dev/null +++ b/udkapi/com/sun/star/uri/makefile.mk @@ -0,0 +1,54 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ := ..$/..$/..$/.. +PRJNAME := api +TARGET := cssuri + +PACKAGE := com$/sun$/star$/uri + +.INCLUDE: $(PRJ)$/util$/makefile.pmk + +IDLFILES = \ + ExternalUriReferenceTranslator.idl \ + RelativeUriExcessParentSegments.idl \ + UriReferenceFactory.idl \ + UriSchemeParser_vndDOTsunDOTstarDOTexpand.idl \ + UriSchemeParser_vndDOTsunDOTstarDOTscript.idl \ + VndSunStarPkgUrlReferenceFactory.idl \ + XExternalUriReferenceTranslator.idl \ + XUriReference.idl \ + XUriReferenceFactory.idl \ + XUriSchemeParser.idl \ + XVndSunStarExpandUrl.idl \ + XVndSunStarExpandUrlReference.idl \ + XVndSunStarPkgUrlReferenceFactory.idl \ + XVndSunStarScriptUrl.idl \ + XVndSunStarScriptUrlReference.idl + +.INCLUDE: target.mk +.INCLUDE: $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/util/BootstrapMacroExpander.idl b/udkapi/com/sun/star/util/BootstrapMacroExpander.idl new file mode 100644 index 000000000000..0d98381326fc --- /dev/null +++ b/udkapi/com/sun/star/util/BootstrapMacroExpander.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_util_BootstrapMacroExpander_idl__ +#define __com_sun_star_util_BootstrapMacroExpander_idl__ + +#ifndef __com_sun_star_util_MacroExpander_idl__ +#include <com/sun/star/util/MacroExpander.idl> +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module util { + +//============================================================================= + +/** Macro expander expanding using rtl bootstrap notation. + + For details, have a look at + http://udk.openoffice.org/common/man/concept/micro_deployment.html#misc + + The service can be instantiated via arguments giving an ini/rc file url. + Otherwise it will read from an uno.ini/unorc file next to the cppuhelper + library. + + @see theMacroExpander + + @since OOo 1.1.2 +*/ +published service BootstrapMacroExpander +{ + service MacroExpander; + [optional] interface com::sun::star::lang::XInitialization; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/util/MacroExpander.idl b/udkapi/com/sun/star/util/MacroExpander.idl new file mode 100644 index 000000000000..6e8ed2e04325 --- /dev/null +++ b/udkapi/com/sun/star/util/MacroExpander.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_util_MacroExpander_idl__ +#define __com_sun_star_util_MacroExpander_idl__ + +#ifndef __com_sun_star_util_XMacroExpander_idl__ +#include <com/sun/star/util/XMacroExpander.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module util { + +//============================================================================= + +/** This meta service supports the XMacroExpander interface for expanding + arbitrary macro expressions, i.e. substitude macro names. + The purpose of this service is to separate the use of macrofied strings, + e.g. urls from the use of services. + + @see BootstrapMacroExpander + @see theMacroExpander + + @since OOo 1.1.2 +*/ +published service MacroExpander +{ + interface XMacroExpander; + [optional] interface com::sun::star::lang::XComponent; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/util/XMacroExpander.idl b/udkapi/com/sun/star/util/XMacroExpander.idl new file mode 100644 index 000000000000..86b14257c976 --- /dev/null +++ b/udkapi/com/sun/star/util/XMacroExpander.idl @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_util_XMacroExpander_idl__ +#define __com_sun_star_util_XMacroExpander_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module util { + +//============================================================================= + +/** Expands macro in expressions, i.e. substitudes macro names. + + @since OOo 1.1.2 +*/ +published interface XMacroExpander : com::sun::star::uno::XInterface +{ + /** Expands macrofied expressions. + + @param exp + macrofied expression + @return + demacrofied expression + @throws IllegalArgumentException + if a macro name is unknown, thus cannot be expanded + */ + string expandMacros( [in] string exp ) + raises (com::sun::star::lang::IllegalArgumentException); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/util/XVeto.idl b/udkapi/com/sun/star/util/XVeto.idl new file mode 100644 index 000000000000..813d72c6d69b --- /dev/null +++ b/udkapi/com/sun/star/util/XVeto.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_util_XVeto_idl__ +#define __com_sun_star_util_XVeto_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module util { + +//============================================================================= + +/** provides information about a veto which has been raised against an operation + */ +interface XVeto +{ + /** describes the reason for the veto + */ + [attribute, readonly] string Reason; + + /** provides additional details about the veto. + + <p>The concrete semantics of this attribute is to be defined + in the service implementing this interface.</p> + */ + [attribute, readonly] any Details; +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif + diff --git a/udkapi/com/sun/star/util/logging/LogLevel.idl b/udkapi/com/sun/star/util/logging/LogLevel.idl new file mode 100644 index 000000000000..78b201ccb332 --- /dev/null +++ b/udkapi/com/sun/star/util/logging/LogLevel.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_util_logging_Level_idl__ +#define __com_sun_star_util_logging_Level_idl__ + +//============================================================================= + +module com { module sun { module star { module util { module logging { + +//============================================================================= + +/** deprecated API - use <type scope="com::sun::star::logging">LogLevel</type> instead + + @deprecated + @since OOo 1.1.2 +*/ +published constants LogLevel +{ + const long OFF = 0x7fffffff; + const long SEVERE = 1000; + const long WARNING = 900; + const long INFO = 800; + const long CONFIG = 700; + const long FINE = 500; + const long FINER = 400; + const long FINEST = 300; + const long ALL = -0x80000000; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/util/logging/Logger.idl b/udkapi/com/sun/star/util/logging/Logger.idl new file mode 100644 index 000000000000..4eaa06676f95 --- /dev/null +++ b/udkapi/com/sun/star/util/logging/Logger.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_webtop_Logger_idl__ +#define __com_sun_star_webtop_Logger_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_util_logging_XLogger_idl__ +#include <XLogger.idl> +#endif + +#ifndef __com_sun_star_util_logging_XLoggerRemote_idl__ +#include <XLoggerRemote.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module util { module logging { + +//============================================================================= + +/** deprecated API - use <type scope="com::sun::star::logging">LoggerPool</type> instead + + @deprecated + @since OOo 1.1.2 +*/ +published service Logger +{ + /// @deprecated + interface com::sun::star::util::logging::XLogger; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/util/logging/LoggerRemote.idl b/udkapi/com/sun/star/util/logging/LoggerRemote.idl new file mode 100644 index 000000000000..91c3c14eaba4 --- /dev/null +++ b/udkapi/com/sun/star/util/logging/LoggerRemote.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_webtop_Logger_idl__ +#define __com_sun_star_webtop_Logger_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_util_logging_XLogger_idl__ +#include <XLogger.idl> +#endif + +#ifndef __com_sun_star_util_logging_XLoggerRemote_idl__ +#include <XLoggerRemote.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module util { module logging { + +//============================================================================= + + /** deprecated API - use <type scope="com::sun::star::logging">LoggerPool</type> instead + + @deprecated + @since OOo 1.1.2 +*/ +published service LoggerRemote +{ + /// @deprecated + interface com::sun::star::util::logging::XLoggerRemote; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/util/logging/XLogger.idl b/udkapi/com/sun/star/util/logging/XLogger.idl new file mode 100644 index 000000000000..ae3355914f25 --- /dev/null +++ b/udkapi/com/sun/star/util/logging/XLogger.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_util_logging_XLogger_idl__ +#define __com_sun_star_util_logging_XLogger_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module util { module logging { + +//============================================================================= + +/** deprecated API - use <type scope="com::sun::star::logging">XLogger</type> instead + + @deprecated + @since OOo 1.1.2 +*/ +published interface XLogger: com::sun::star::uno::XInterface +{ + /// @deprecated + XLogger getLogger( [in] string name ); + + /// @deprecated + long getLevel(); + + /// @deprecated + string getName(); + + /// @deprecated + boolean isLoggable( [in] long level ); + + /// @deprecated + [oneway] void logp( [in] long level, + [in] string sourceClass, + [in] string sourceMethod, + [in] string msg ); +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/util/logging/XLoggerRemote.idl b/udkapi/com/sun/star/util/logging/XLoggerRemote.idl new file mode 100644 index 000000000000..81e3482d13e4 --- /dev/null +++ b/udkapi/com/sun/star/util/logging/XLoggerRemote.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_util_logging_XLoggerRemote_idl__ +#define __com_sun_star_util_logging_XLoggerRemote_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertiesChangeListener_idl__ +#include <com/sun/star/beans/XPropertiesChangeListener.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module util { module logging { + +//============================================================================= + +/** deprecated API - use <type scope="com::sun::star::logging">XLogger</type> instead + + @deprecated + @since OOo 1.1.2 +*/ +published interface XLoggerRemote: com::sun::star::uno::XInterface +{ + /// @deprecated + long getLevel(); + + /// @deprecated + string getName(); + + /// @deprecated + boolean isLoggable( [in] long level ); + + /// @deprecated + [oneway] void logp( [in] long level, + [in] string sourceClass, + [in] string sourceMethod, + [in] string msg, + [in] string thread ); + + /// @deprecated + [oneway] void addPropertiesChangeListener( + [in] com::sun::star::beans::XPropertiesChangeListener listener); +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/util/logging/makefile.mk b/udkapi/com/sun/star/util/logging/makefile.mk new file mode 100644 index 000000000000..e48b71921edb --- /dev/null +++ b/udkapi/com/sun/star/util/logging/makefile.mk @@ -0,0 +1,50 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ =..$/..$/..$/..$/.. +PRJNAME =logging +TARGET =cssulog +PACKAGE =com$/sun$/star$/util$/logging + + +# --- Settings ----------------------------------------------------- + +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + LogLevel.idl\ + XLogger.idl\ + XLoggerRemote.idl\ + Logger.idl\ + LoggerRemote.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/util/makefile.mk b/udkapi/com/sun/star/util/makefile.mk new file mode 100644 index 000000000000..9c5e0276d415 --- /dev/null +++ b/udkapi/com/sun/star/util/makefile.mk @@ -0,0 +1,50 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssutil +PACKAGE=com$/sun$/star$/util + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + XVeto.idl \ + XMacroExpander.idl \ + MacroExpander.idl \ + BootstrapMacroExpander.idl \ + theMacroExpander.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/udkapi/com/sun/star/util/theMacroExpander.idl b/udkapi/com/sun/star/util/theMacroExpander.idl new file mode 100644 index 000000000000..11fa247f4495 --- /dev/null +++ b/udkapi/com/sun/star/util/theMacroExpander.idl @@ -0,0 +1,53 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_util_theMacroExpander_idl__ +#define __com_sun_star_util_theMacroExpander_idl__ + +#include "com/sun/star/util/MacroExpander.idl" + +module com { module sun { module star { module util { + +/** A service that has to deal with macrofied strings will preprocess those + strings using the macro expander singleton. + The macro expander singleton is deployed with the application. + + This feature is currently used macrofying loader urls with macros defined + in uno.ini/unorc bootstrap files. The component loader uses the macro + expander singleton to expand those macros. This is a flexible way + preprocessing loader urls. + + @see MacroExpander +*/ +published singleton theMacroExpander +{ + service MacroExpander; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/prj/build.lst b/udkapi/prj/build.lst new file mode 100644 index 000000000000..071723a9e835 --- /dev/null +++ b/udkapi/prj/build.lst @@ -0,0 +1,30 @@ +ua udkapi : idlc NULL +ua udkapi usr1 - all ua_mkout NULL +ua udkapi\com\sun\star\beans nmake - all ua_bean NULL +ua udkapi\com\sun\star\bridge nmake - all ua_brid NULL +ua udkapi\com\sun\star\bridge\oleautomation nmake - all ua_auto ua_brid NULL +ua udkapi\com\sun\star\connection nmake - all ua_connect NULL +ua udkapi\com\sun\star\container nmake - all ua_cont NULL +ua udkapi\com\sun\star\io nmake - all ua_io NULL +ua udkapi\com\sun\star\java nmake - all ua_java NULL +ua udkapi\com\sun\star\lang nmake - all ua_lang NULL +ua udkapi\com\sun\star\loader nmake - all ua_load NULL +ua udkapi\com\sun\star\reflection nmake - all ua_refl NULL +ua udkapi\com\sun\star\registry nmake - all ua_regis NULL +ua udkapi\com\sun\star\script nmake - all ua_scrpt NULL +ua udkapi\com\sun\star\test nmake - all ua_test NULL +ua udkapi\com\sun\star\test\performance nmake - all ua_tstperform NULL +ua udkapi\com\sun\star\test\bridge nmake - all ua_tstbridge NULL +ua udkapi\com\sun\star\corba\iop nmake - all ua_iop NULL +ua udkapi\com\sun\star\corba\giop nmake - all ua_giop NULL +ua udkapi\com\sun\star\corba\iiop nmake - all ua_iiop NULL +ua udkapi\com\sun\star\corba nmake - all ua_corba NULL +ua udkapi\com\sun\star\uno nmake - all ua_uno NULL +ua udkapi\com\sun\star\security nmake - all ua_sec ua_uno NULL +ua udkapi\com\sun\star\util nmake - all ua_uutil ua_lang ua_uno NULL +ua udkapi\com\sun\star\util\logging nmake - all ua_log NULL +ua udkapi\com\sun\star\task nmake - all ua_task ua_uno NULL +ua udkapi\com\sun\star\uri nmake - all ua_uri ua_uno NULL +ua udkapi\com\sun\star nmake - all ua_star NULL +ua udkapi\util nmake - all ua_util ua_bean ua_brid ua_auto ua_connect ua_cont ua_corba ua_giop ua_iiop ua_io ua_iop ua_java ua_lang ua_load ua_refl ua_regis ua_scrpt ua_test ua_tstbridge ua_tstperform ua_sec ua_uno ua_uutil ua_log ua_task ua_uri ua_star NULL + diff --git a/udkapi/prj/d.lst b/udkapi/prj/d.lst new file mode 100644 index 000000000000..f458df76ad21 --- /dev/null +++ b/udkapi/prj/d.lst @@ -0,0 +1,55 @@ +mkdir: %COMMON_DEST%\idl%_EXT%\com +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\beans +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\bridge +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\bridge\oleautomation +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\connection +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\container +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\io +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\java +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\lang +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\reflection +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\registry +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\loader +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\script +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\test +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\test\performance +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\test\bridge +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\uno +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\util +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\util\logging +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\security +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\task +mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\uri +mkdir: %_DEST%\bin%_EXT%\ure + +..\%__SRC%\misc\udkapi.autodoc %_DEST%\idl%_EXT%\udkapi.autodoc +..\%__SRC%\ucr\udkapi.db %_DEST%\bin%_EXT%\udkapi.rdb +..\%__SRC%\ucr\udkapi.db %_DEST%\bin%_EXT%\ure\types.rdb +..\%__SRC%\ucrdoc\udkapi_doc.db %_DEST%\bin%_EXT%\udkapi_doc.rdb + +..\com\sun\star\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star +..\com\sun\star\beans\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\beans +..\com\sun\star\bridge\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\bridge +..\com\sun\star\bridge\oleautomation\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\bridge\oleautomation +..\com\sun\star\connection\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\connection +..\com\sun\star\container\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\container +..\com\sun\star\io\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\io +..\com\sun\star\java\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\java +..\com\sun\star\lang\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\lang +..\com\sun\star\reflection\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\reflection +..\com\sun\star\registry\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\registry +..\com\sun\star\loader\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\loader +..\com\sun\star\script\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\script +..\com\sun\star\test\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\test +..\com\sun\star\test\performance\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\test\performance +..\com\sun\star\test\bridge\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\test\bridge +..\com\sun\star\uno\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\uno +..\com\sun\star\util\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\util +..\com\sun\star\util\logging\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\util\logging +..\com\sun\star\security\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\security +..\com\sun\star\task\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\task +..\com\sun\star\uri\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\uri + +..\%__SRC%\lib\lib*static*.dylib %_DEST%\lib%_EXT%\lib*static*.dylib diff --git a/udkapi/util/makefile.mk b/udkapi/util/makefile.mk new file mode 100644 index 000000000000..23dbd37822f3 --- /dev/null +++ b/udkapi/util/makefile.mk @@ -0,0 +1,75 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +PRJ=.. +PRJPCH= + +PRJNAME=udkapi +TARGET=udkapi + +#use_starjar=true + + +# --- Settings ----------------------------------------------------- + +.INCLUDE : makefile.pmk + +# ------------------------------------------------------------------ + +UNOIDLDBFILES= \ + $(UCR)$/css.db \ + $(UCR)$/cssutil.db \ + $(UCR)$/cssbeans.db \ + $(UCR)$/cssbridge.db \ + $(UCR)$/cssboleautomation.db \ + $(UCR)$/cssconnection.db\ + $(UCR)$/csscontainer.db \ + $(UCR)$/cssio.db \ + $(UCR)$/cssjava.db \ + $(UCR)$/csslang.db \ + $(UCR)$/csssec.db \ + $(UCR)$/cssloader.db \ + $(UCR)$/cssreflection.db \ + $(UCR)$/cssregistry.db \ + $(UCR)$/cssscript.db \ + $(UCR)$/csstest.db \ + $(UCR)$/cssperftest.db \ + $(UCR)$/cssbridgetest.db \ + $(UCR)$/cssuno.db \ + $(UCR)$/cssulog.db \ + $(UCR)$/csscorba.db \ + $(UCR)$/cssiop.db \ + $(UCR)$/cssiiop.db \ + $(UCR)$/cssgiop.db \ + $(UCR)$/csstask.db \ + $(UCR)$/cssuri.db + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk + + diff --git a/udkapi/util/makefile.pmk b/udkapi/util/makefile.pmk new file mode 100644 index 000000000000..c82f348f083e --- /dev/null +++ b/udkapi/util/makefile.pmk @@ -0,0 +1,35 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + + +# --- Settings ----------------------------------------------------- +.INCLUDE : settings.mk + +LOCALIDLFILES=TRUE + +URDDOC=TRUE + diff --git a/udkapi/util/target.pmk b/udkapi/util/target.pmk new file mode 100644 index 000000000000..d089bd4ee507 --- /dev/null +++ b/udkapi/util/target.pmk @@ -0,0 +1,34 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# 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. +# +#************************************************************************* + +$(OUT)$/misc$/$(TARGET).idls: makefile.mk + $(COMMAND_ECHO)-$(RM) $@ + $(COMMAND_ECHO)$(TYPE) $(mktmp $(foreach,i,$(IDLFILES) $(PACKAGE)$/$i)) >>$@ + +ALLTAR: $(OUT)$/misc$/$(TARGET).idls + + |