'************************************************************************* ' ' 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: util_XFlushable.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. ' '************************************************************************* '************************************************************************* Dim iCB1_flushed As Integer Dim iCB2_flushed As Integer Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.util.XFlushable '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim oListener1 As Object Dim oListener2 As Object oListener1 = createUnoListener("CB1_", "com.sun.star.util.XFlushListener") oListener2 = createUnoListener("CB2_", "com.sun.star.util.XFlushListener") Test.StartMethod("addFlushListener()") bOK = true iCB1_flushed = 0 : iCB2_flushed = 0 Out.Log("Adding two listeners...") oObj.addFlushListener(oListener1) oObj.addFlushListener(oListener2) oObj.flush() bOK = bOK AND iCB1_flushed = 1 AND iCB2_flushed = 1 Test.MethodTested("addFlushListener()", bOK) Test.StartMethod("flush()") bOK = true oObj.flush() Test.MethodTested("flush()", bOK) Test.StartMethod("removeFlushListener()") bOK = true iCB1_flushed = 0 : iCB2_flushed = 0 Out.Log("Removing first listener") oObj.removeFlushListener(oListener1) oObj.flush() bOK = bOK AND iCB1_flushed = 0 AND iCB2_flushed = 1 Test.MethodTested("removeFlushListener()", bOK) Out.Log("Removing second listener") oObj.removeFlushListener(oListener2) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub Sub CB1_flushed(oEvent As Object) iCB1_flushed = iCB1_flushed + 1 Out.Log("CallBack function for the first listener was called.") End Sub Sub CB2_flushed(oEvent As Object) iCB2_flushed = iCB2_flushed + 1 Out.Log("CallBack function for the second listener was called.") End Sub