1cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?>
2cdf0e10cSrcweir<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="streams_uno_Pump" script:language="StarBasic">
4cdf0e10cSrcweir
5cdf0e10cSrcweir
6cdf0e10cSrcweir'*************************************************************************
7cdf0e10cSrcweir'
8*2f3df0e5SAndrew Rist'  Licensed to the Apache Software Foundation (ASF) under one
9*2f3df0e5SAndrew Rist'  or more contributor license agreements.  See the NOTICE file
10*2f3df0e5SAndrew Rist'  distributed with this work for additional information
11*2f3df0e5SAndrew Rist'  regarding copyright ownership.  The ASF licenses this file
12*2f3df0e5SAndrew Rist'  to you under the Apache License, Version 2.0 (the
13*2f3df0e5SAndrew Rist'  "License"); you may not use this file except in compliance
14*2f3df0e5SAndrew Rist'  with the License.  You may obtain a copy of the License at
15*2f3df0e5SAndrew Rist'
16*2f3df0e5SAndrew Rist'    http://www.apache.org/licenses/LICENSE-2.0
17*2f3df0e5SAndrew Rist'
18*2f3df0e5SAndrew Rist'  Unless required by applicable law or agreed to in writing,
19*2f3df0e5SAndrew Rist'  software distributed under the License is distributed on an
20*2f3df0e5SAndrew Rist'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21*2f3df0e5SAndrew Rist'  KIND, either express or implied.  See the License for the
22*2f3df0e5SAndrew Rist'  specific language governing permissions and limitations
23*2f3df0e5SAndrew Rist'  under the License.
24cdf0e10cSrcweir'
25cdf0e10cSrcweir'*************************************************************************
26cdf0e10cSrcweir
27cdf0e10cSrcweir
28cdf0e10cSrcweir
29*2f3df0e5SAndrew Rist
30*2f3df0e5SAndrew Rist
31cdf0e10cSrcweir' Be sure that all variables are dimensioned:
32cdf0e10cSrcweiroption explicit
33cdf0e10cSrcweir
34cdf0e10cSrcweir
35cdf0e10cSrcweir' REQUIRED VARIABLES for interface/service tests:
36cdf0e10cSrcweirGlobal oPipe As Object
37cdf0e10cSrcweirGlobal PumpOUTFileName As String
38cdf0e10cSrcweir
39cdf0e10cSrcweir
40cdf0e10cSrcweirSub CreateObj()
41cdf0e10cSrcweir
42cdf0e10cSrcweir'*************************************************************************
43cdf0e10cSrcweir' COMPONENT:
44cdf0e10cSrcweir' stm.Pump
45cdf0e10cSrcweir'*************************************************************************
46cdf0e10cSrcweirOn Error Goto ErrHndl
47cdf0e10cSrcweir    Dim oFileAcc As Object
48cdf0e10cSrcweir    Dim oDataInput As Object
49cdf0e10cSrcweir    Dim oDataOutput As Object
50cdf0e10cSrcweir    Dim oSFA As Object
51cdf0e10cSrcweir    Dim oOS As Object
52cdf0e10cSrcweir
53cdf0e10cSrcweir    oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess")
54cdf0e10cSrcweir    PumpOUTFileName = utils.getTempFileURL("PumpOUT.dat")
55cdf0e10cSrcweir    if (FileExists(PumpOUTFileName)) then
56cdf0e10cSrcweir        oFileAcc.Kill(PumpOUTFileName)
57cdf0e10cSrcweir    end if
58cdf0e10cSrcweir
59cdf0e10cSrcweir    oObj = createUnoService("com.sun.star.io.Pump")
60cdf0e10cSrcweir    oPipe = createUnoService("com.sun.star.io.Pipe")
61cdf0e10cSrcweir
62cdf0e10cSrcweir    oDataInput = createUnoService("com.sun.star.io.DataInputStream")
63cdf0e10cSrcweir    oDataInput.setInputStream(oPipe)
64cdf0e10cSrcweir
65cdf0e10cSrcweir    oDataOutput = createUnoService("com.sun.star.io.DataOutputStream")
66cdf0e10cSrcweir    oSFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")
67cdf0e10cSrcweir    oOS = oSFA.openFileWrite(PumpOUTFileName)
68cdf0e10cSrcweir    oDataOutput.setOutputStream(oOS)
69cdf0e10cSrcweir
70cdf0e10cSrcweir    oObj.setInputStream(oDataInput)
71cdf0e10cSrcweir    oObj.setOutputStream(oDataOutput)
72cdf0e10cSrcweirExit Sub
73cdf0e10cSrcweirErrHndl:
74cdf0e10cSrcweir    Test.Exception()
75cdf0e10cSrcweirEnd Sub
76cdf0e10cSrcweir
77cdf0e10cSrcweirSub DisposeObj()
78cdf0e10cSrcweirOn Error goto ErrHndl
79cdf0e10cSrcweir    oObj.terminate()
80cdf0e10cSrcweirExit Sub
81cdf0e10cSrcweirErrHndl:
82cdf0e10cSrcweir    Test.Exception()
83cdf0e10cSrcweirEnd Sub
84cdf0e10cSrcweir
85cdf0e10cSrcweirSub ResetStreams()
86cdf0e10cSrcweirEnd Sub
87cdf0e10cSrcweir</script:module>
88