'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: text_XMailMergeBroadcaster.xba,v $ ' ' $Revision: 1.3 $ ' ' This file is part of OpenOffice.org. ' ' OpenOffice.org is free software: you can redistribute it and/or modify ' it under the terms of the GNU Lesser General Public License version 3 ' only, as published by the Free Software Foundation. ' ' OpenOffice.org is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY; without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' GNU Lesser General Public License version 3 for more details ' (a copy is included in the LICENSE file that accompanied this code). ' ' You should have received a copy of the GNU Lesser General Public License ' version 3 along with OpenOffice.org. If not, see ' ' for a copy of the LGPLv3 License. ' '************************************************************************* '************************************************************************* '************************************************************************* ' This Interface/Service test depends on the following GLOBAL variables, ' which must be specified in the object creation: ' Global FUNCTION XMailMergeEvent() ' This function fires an event which causes a listner call '************************************************************************* ' Be sure that all variables are dimensioned: option explicit Dim bCB1 as Boolean Dim bCB2 as Boolean Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.text.XMailMergeBroadcaster '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim oListener1 as Object Dim oListener2 as Object Out.Log("create two listeners") oListener1 = createUNOListener("CB1_", "com.sun.star.text.XMailMergeListener") oListener2 = createUNOListener("CB2_", "com.sun.star.text.XMailMergeListener") Test.StartMethod("addMailMergeEventListener()") bCB1 = FALSE bCB2 = FALSE bOK = TRUE oObj.addMailMergeEventListener(oListener1) oObj.addMailMergeEventListener(oListener2) XMailMergeEvent() out.dbg("call oObj.execute()") out.dbg("Listener1: " + bCB1 + " ; Listener2: " + bCB2) bOK = bOK AND bCB1 AND bCB2 Test.MethodTested("addMailMergeEventListener()", bOK) Test.StartMethod("removeMailMergeEventListener()") bCB1 = FALSE bCB2 = FALSE bOK = TRUE out.dbg("remove Listener1") oObj.removeMailMergeEventListener(oListener1) out.dbg("call oObj.execute()") XMailMergeEvent() out.dbg("Listener1: " + bCB1 + " ; Listener2: " + bCB2) bOK = bOK AND NOT bCB1 AND bCB2 Test.MethodTested("removeMailMergeEventListener()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub Sub CB1_notifyMailMergeEvent() out.dbg("CB1_notifyMailMergeEvent() was clled.") bCB1 = TRUE end Sub Sub CB2_notifyMailMergeEvent() out.dbg("CB2_notifyMailMergeEvent() was clled.") bCB2 = TRUE end Sub