1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="util_XFlushable" script:language="StarBasic"> 4 5 6'************************************************************************* 7' 8' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9' 10' Copyright 2000, 2010 Oracle and/or its affiliates. 11' 12' OpenOffice.org - a multi-platform office productivity suite 13' 14' This file is part of OpenOffice.org. 15' 16' OpenOffice.org is free software: you can redistribute it and/or modify 17' it under the terms of the GNU Lesser General Public License version 3 18' only, as published by the Free Software Foundation. 19' 20' OpenOffice.org is distributed in the hope that it will be useful, 21' but WITHOUT ANY WARRANTY; without even the implied warranty of 22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23' GNU Lesser General Public License version 3 for more details 24' (a copy is included in the LICENSE file that accompanied this code). 25' 26' You should have received a copy of the GNU Lesser General Public License 27' version 3 along with OpenOffice.org. If not, see 28' <http://www.openoffice.org/license.html> 29' for a copy of the LGPLv3 License. 30' 31'************************************************************************* 32'************************************************************************* 33 34 35 36 37Dim iCB1_flushed As Integer 38Dim iCB2_flushed As Integer 39 40 41Sub RunTest() 42 43'************************************************************************* 44' INTERFACE: 45' com.sun.star.util.XFlushable 46'************************************************************************* 47On Error Goto ErrHndl 48 Dim bOK As Boolean 49 50 Dim oListener1 As Object 51 Dim oListener2 As Object 52 53 oListener1 = createUnoListener("CB1_", "com.sun.star.util.XFlushListener") 54 oListener2 = createUnoListener("CB2_", "com.sun.star.util.XFlushListener") 55 56 Test.StartMethod("addFlushListener()") 57 bOK = true 58 iCB1_flushed = 0 : iCB2_flushed = 0 59 Out.Log("Adding two listeners...") 60 oObj.addFlushListener(oListener1) 61 oObj.addFlushListener(oListener2) 62 oObj.flush() 63 bOK = bOK AND iCB1_flushed = 1 AND iCB2_flushed = 1 64 Test.MethodTested("addFlushListener()", bOK) 65 66 Test.StartMethod("flush()") 67 bOK = true 68 oObj.flush() 69 Test.MethodTested("flush()", bOK) 70 71 Test.StartMethod("removeFlushListener()") 72 bOK = true 73 iCB1_flushed = 0 : iCB2_flushed = 0 74 Out.Log("Removing first listener") 75 oObj.removeFlushListener(oListener1) 76 oObj.flush() 77 bOK = bOK AND iCB1_flushed = 0 AND iCB2_flushed = 1 78 Test.MethodTested("removeFlushListener()", bOK) 79 80 Out.Log("Removing second listener") 81 oObj.removeFlushListener(oListener2) 82 83Exit Sub 84ErrHndl: 85 Test.Exception() 86 bOK = false 87 resume next 88End Sub 89Sub CB1_flushed(oEvent As Object) 90 iCB1_flushed = iCB1_flushed + 1 91 Out.Log("CallBack function for the first listener was called.") 92End Sub 93 94Sub CB2_flushed(oEvent As Object) 95 iCB2_flushed = iCB2_flushed + 1 96 Out.Log("CallBack function for the second listener was called.") 97End Sub 98</script:module> 99