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="stm_DataInputStream" 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' Be sure that all variables are dimensioned: 38option explicit 39 40 41' REQUIRED VARIABLES for interface/service tests: 42Global cFileName As String 43Global oFileAcc As Object 44Global oInputStream As Object 45Global oOutputStream As Object 46Global bInputStream As Boolean 47Global bOutputStream As Boolean 48 49 50Sub CreateObj() 51 52'************************************************************************* 53' COMPONENT: 54' stm.DataInputStream 55'************************************************************************* 56On Error Goto ErrHndl 57 Dim oOS As Object 58 59 bInputStream = false 60 bOutputStream = false 61 cFileName = utils.getTempFileURL("BasicDataInputStream.dat") 62 oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess") 63 64 oObj = createUnoService("com.sun.star.io.DataInputStream") 65 66 'Creating a file... 67 oOS = oFileAcc.openFileWrite(cFileName) 68 oOS.closeOutput() 69 70 ResetStreams() 71Exit Sub 72ErrHndl: 73 Test.Exception() 74End Sub 75 76Function getOutStream() As Object 77On Error goto ErrHndl 78 Dim oFO As Object 79 ResetStreams() 80 oInputStream.closeInput() 81 oOutputStream = createUnoService("com.sun.star.io.DataOutputStream") 82 oFileAcc.kill(cFileName) 83 oFO = oFileAcc.openFileWrite(cFileName) 84 oOutputStream.setOutputStream(oFO) 85 bOutputStream = true 86 getOutStream() = oOutputStream 87Exit Function 88ErrHndl: 89 Test.Exception() 90 getOutStream() = NULL_OBJECT 91End Function 92 93Function getInStream() As Object 94On Error goto ErrHndl 95 ResetStreams() 96 getInStream() = oInputStream 97Exit Function 98ErrHndl: 99 Test.Exception() 100 getInStream() = NULL_OBJECT 101End Function 102 103Sub ResetStreams() 104On Error goto ErrHndl 105 if bInputStream then 106 oInputStream.closeInput() 107 bInputStream = false 108 end if 109 if bOutputStream then 110 oOutputStream.closeOutput() 111 bOutputStream = false 112 end if 113 114 if NOT oFileAcc.exists(cFileName) then 115 Dim oFO As Object 116 oFO = oFileAcc.openFileWrite(cFileName) 117 oFO.closeOutput() 118 end if 119 120 oInputStream = oFileAcc.openFileRead(cFileName) 121 bInputStream = true 122 oObj.setInputStream(oInputStream) 123Exit Sub 124ErrHndl: 125 Test.Exception() 126 resume next 127End Sub 128 129Sub DisposeObj() 130 if NOT isNULL(oObj) then oObj.closeInput() 131End Sub 132</script:module> 133