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 37 38Dim iCB1_flushed As Integer 39Dim iCB2_flushed As Integer 40 41 42Sub RunTest() 43 44'************************************************************************* 45' INTERFACE: 46' com.sun.star.util.XFlushable 47'************************************************************************* 48On Error Goto ErrHndl 49 Dim bOK As Boolean 50 51 Dim oListener1 As Object 52 Dim oListener2 As Object 53 54 oListener1 = createUnoListener("CB1_", "com.sun.star.util.XFlushListener") 55 oListener2 = createUnoListener("CB2_", "com.sun.star.util.XFlushListener") 56 57 Test.StartMethod("addFlushListener()") 58 bOK = true 59 iCB1_flushed = 0 : iCB2_flushed = 0 60 Out.Log("Adding two listeners...") 61 oObj.addFlushListener(oListener1) 62 oObj.addFlushListener(oListener2) 63 oObj.flush() 64 bOK = bOK AND iCB1_flushed = 1 AND iCB2_flushed = 1 65 Test.MethodTested("addFlushListener()", bOK) 66 67 Test.StartMethod("flush()") 68 bOK = true 69 oObj.flush() 70 Test.MethodTested("flush()", bOK) 71 72 Test.StartMethod("removeFlushListener()") 73 bOK = true 74 iCB1_flushed = 0 : iCB2_flushed = 0 75 Out.Log("Removing first listener") 76 oObj.removeFlushListener(oListener1) 77 oObj.flush() 78 bOK = bOK AND iCB1_flushed = 0 AND iCB2_flushed = 1 79 Test.MethodTested("removeFlushListener()", bOK) 80 81 Out.Log("Removing second listener") 82 oObj.removeFlushListener(oListener2) 83 84Exit Sub 85ErrHndl: 86 Test.Exception() 87 bOK = false 88 resume next 89End Sub 90Sub CB1_flushed(oEvent As Object) 91 iCB1_flushed = iCB1_flushed + 1 92 Out.Log("CallBack function for the first listener was called.") 93End Sub 94 95Sub CB2_flushed(oEvent As Object) 96 iCB2_flushed = iCB2_flushed + 1 97 Out.Log("CallBack function for the second listener was called.") 98End Sub 99</script:module> 100