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