| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the 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 |