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_ObjectInputStream" 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' Be sure that all variables are dimensioned: 37option explicit 38 39 40' REQUIRED VARIABLES for interface/service tests: 41Global cFileName As String 42Global oFileAcc As Object 43Global oInputStream As Object 44Global oOutputStream As Object 45Global oMarkOut As Object, oMarkIn As Object 46 47 48Sub CreateObj() 49 50'************************************************************************* 51' COMPONENT: 52' stm.ObjectInputStream 53'************************************************************************* 54On Error Goto ErrHndl 55 Dim oPipe As Object 56 57 oObj = createUnoService("com.sun.star.io.ObjectInputStream") 58 oMarkIn = createUnoService("com.sun.star.io.MarkableInputStream") 59 oPipe = createUnoService("com.sun.star.io.Pipe") 60 oMarkOut = createUnoService("com.sun.star.io.MarkableOutputStream") 61 oOutputStream = createUnoService("com.sun.star.io.ObjectOutputStream") 62 oObj.setInputStream(oMarkIn) 63 oMarkIn.setInputStream(oPipe) 64 oMarkOut.setOutputStream(oPipe) 65 oOutputStream.setOutputStream(oMarkOut) 66 oInputStream = oObj 67 68Exit Sub 69ErrHndl: 70 Test.Exception() 71End Sub 72 73Function getInStream() As Object 74On Error Goto ErrHndl 75 getInStream() = oInputStream 76Exit Function 77ErrHndl: 78 Test.Exception() 79 getInStream() = NULL_OBJECT 80End Function 81 82Function getOutStream() As Object 83On Error Goto ErrHndl 84 Dim oNewPipe As Object 85 86 oNewPipe = createUnoService("com.sun.star.io.Pipe") 87 oMarkIn.getInputStream().closeInput() 88 oMarkOut.getOutputStream().closeOutput() 89 oMarkIn.setInputStream(oNewPipe) 90 oMarkOut.setOutputStream(oNewPipe) 91 getOutStream() = oOutputStream 92Exit Function 93ErrHndl: 94 Test.Exception() 95 getOutStream() = NULL_OBJECT 96End Function 97 98Sub ResetStreams() 99On Error goto ErrHndl 100Exit Sub 101ErrHndl: 102 Out.Log("ResetStreams: exception: " + error) 103 resume next 104End Sub 105 106Sub DisposeObj() 107 if NOT isNULL(oObj) then oObj.closeInput() 108End Sub 109</script:module> 110