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