'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: streams_uno_DataInputStream.xba,v $ ' ' $Revision: 1.4 $ ' ' This file is part of OpenOffice.org. ' ' OpenOffice.org is free software: you can redistribute it and/or modify ' it under the terms of the GNU Lesser General Public License version 3 ' only, as published by the Free Software Foundation. ' ' OpenOffice.org is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY; without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' GNU Lesser General Public License version 3 for more details ' (a copy is included in the LICENSE file that accompanied this code). ' ' You should have received a copy of the GNU Lesser General Public License ' version 3 along with OpenOffice.org. If not, see ' ' for a copy of the LGPLv3 License. ' '************************************************************************* '************************************************************************* ' Be sure that all variables are dimensioned: option explicit ' REQUIRED VARIABLES for interface/service tests: Global cFileName As String Global oFileAcc As Object Global oInputStream As Object Global oOutputStream As Object Global bInputStream As Boolean Global bOutputStream As Boolean Sub CreateObj() '************************************************************************* ' COMPONENT: ' stm.DataInputStream '************************************************************************* On Error Goto ErrHndl Dim oOS As Object bInputStream = false bOutputStream = false cFileName = utils.getTempFileURL("BasicDataInputStream.dat") oFileAcc = createUnoService("com.sun.star.ucb.SimpleFileAccess") oObj = createUnoService("com.sun.star.io.DataInputStream") 'Creating a file... oOS = oFileAcc.openFileWrite(cFileName) oOS.closeOutput() ResetStreams() Exit Sub ErrHndl: Test.Exception() End Sub Function getOutStream() As Object On Error goto ErrHndl Dim oFO As Object ResetStreams() oInputStream.closeInput() oOutputStream = createUnoService("com.sun.star.io.DataOutputStream") oFileAcc.kill(cFileName) oFO = oFileAcc.openFileWrite(cFileName) oOutputStream.setOutputStream(oFO) bOutputStream = true getOutStream() = oOutputStream Exit Function ErrHndl: Test.Exception() getOutStream() = NULL_OBJECT End Function Function getInStream() As Object On Error goto ErrHndl ResetStreams() getInStream() = oInputStream Exit Function ErrHndl: Test.Exception() getInStream() = NULL_OBJECT End Function Sub ResetStreams() On Error goto ErrHndl if bInputStream then oInputStream.closeInput() bInputStream = false end if if bOutputStream then oOutputStream.closeOutput() bOutputStream = false end if if NOT oFileAcc.exists(cFileName) then Dim oFO As Object oFO = oFileAcc.openFileWrite(cFileName) oFO.closeOutput() end if oInputStream = oFileAcc.openFileRead(cFileName) bInputStream = true oObj.setInputStream(oInputStream) Exit Sub ErrHndl: Test.Exception() resume next End Sub Sub DisposeObj() if NOT isNULL(oObj) then oObj.closeInput() End Sub