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