<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> <script:module xmlns:script="http://openoffice.org/2000/script" script:name="stm_ObjectInputStream" script:language="StarBasic"> '************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2000, 2010 Oracle and/or its affiliates. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' 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 ' <http://www.openoffice.org/license.html> ' 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 oMarkOut As Object, oMarkIn As Object Sub CreateObj() '************************************************************************* ' COMPONENT: ' stm.ObjectInputStream '************************************************************************* On Error Goto ErrHndl Dim oPipe As Object oObj = createUnoService("com.sun.star.io.ObjectInputStream") oMarkIn = createUnoService("com.sun.star.io.MarkableInputStream") oPipe = createUnoService("com.sun.star.io.Pipe") oMarkOut = createUnoService("com.sun.star.io.MarkableOutputStream") oOutputStream = createUnoService("com.sun.star.io.ObjectOutputStream") oObj.setInputStream(oMarkIn) oMarkIn.setInputStream(oPipe) oMarkOut.setOutputStream(oPipe) oOutputStream.setOutputStream(oMarkOut) oInputStream = oObj Exit Sub ErrHndl: Test.Exception() End Sub Function getInStream() As Object On Error Goto ErrHndl getInStream() = oInputStream Exit Function ErrHndl: Test.Exception() getInStream() = NULL_OBJECT End Function Function getOutStream() As Object On Error Goto ErrHndl Dim oNewPipe As Object oNewPipe = createUnoService("com.sun.star.io.Pipe") oMarkIn.getInputStream().closeInput() oMarkOut.getOutputStream().closeOutput() oMarkIn.setInputStream(oNewPipe) oMarkOut.setOutputStream(oNewPipe) getOutStream() = oOutputStream Exit Function ErrHndl: Test.Exception() getOutStream() = NULL_OBJECT End Function Sub ResetStreams() On Error goto ErrHndl Exit Sub ErrHndl: Out.Log("ResetStreams: exception: " + error) resume next End Sub Sub DisposeObj() if NOT isNULL(oObj) then oObj.closeInput() End Sub </script:module>