Skip to main content

%IO.IParts.MetaIO

Class %IO.IParts.MetaIO [ Abstract, System = 2 ]

Abstract implementation class providing methods used by MetaStreams to wrapper one or more %IO streams, %Library streams or %Stream streams.

Properties

StreamIn

Property StreamIn As %IO.I.Stream;

Read from another stream whenever there's a Read %IO.I.Stream or %Stream.Object

StreamsCopyInput

Property StreamsCopyInput As %ArrayOfObjects;

Write to other streams whenever there's a Read *IO.I.Stream or %Stream.Object; indexed by oref to avoid duplicates */

StreamsOutput

Property StreamsOutput As %ArrayOfObjects;

Write to other streams whenever there's a Write %IO.I.Stream or %Stream.Object; indexed by oref to avoid duplicates */

WriteToStreamIn

Property WriteToStreamIn As %Boolean [ InitialExpression = 0 ];

%Position

Property %Position As %Integer [ Private, ReadOnly ];

Methods

%OnNew

Method %OnNew(pBaseStream As %IO.I.Stream = "") As %Status

Close

Method Close(Output pSC As %Status) As %Boolean

Reset

Method Reset(pStream As %IO.I.Stream = {$$$NULLOREF}, pTimeout As %Numeric, Output pSC As %Status)

BindInput

Method BindInput(pInputStream As %IO.I.Stream, Output pSC As %Status)

BindOutput

Method BindOutput(pOutputStreams...) As %Status

BindOutputArray

Method BindOutputArray(ByRef pOutputStreams) As %Status

BindCopyInput

Method BindCopyInput(pOutputStreams...) As %Status

BindCopyInputArray

Method BindCopyInputArray(ByRef pOutputStreams) As %Status

Read

Method Read(pMaxReadLen As %Integer, ByRef pTimeout As %Numeric = -1, Output pSC As %Status) As %String

Write

Method Write(pData As %String = "", pFlush As %Boolean, Output pSC As %Status)

delegateWrite

Method delegateWrite(s As %RegisteredObject, pData As %String, ByRef pFlush As %Boolean, Output pSC As %Status) [ Private ]

Flush

Method Flush(Output pSC As %Status)

FlushCopyInput

Method FlushCopyInput(Output pSC As %Status)

flushList

Method flushList(Output pSC As %Status, pList As %ArrayOfObjects, pFlush As %Boolean) [ Private ]

Rewind

Method Rewind(Output pSC As %Status)

Seek

Method Seek(pPosition As %Integer, Output pSC As %Status) As %Boolean

AtEndGet

Method AtEndGet() As %Boolean [ CodeMode = expression ]

IsOpenGet

Method IsOpenGet() As %Boolean [ CodeMode = expression ]

SizeGet

Method SizeGet() As %Integer

PositionGet

Method PositionGet() As %Integer

CopyFrom

Method CopyFrom(pSource As %IO.I.Stream, ByRef pTimeout As %Numeric = -1, pFlush As %Boolean, Output pSC As %Status) As %Integer