This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see the InterSystems IRIS Migration Guide and Migrating to InterSystems IRIS, both available on the WRC Distributions page (login required).


class %CSP.Portal.SourceControl.IO extends %Library.RegisteredObject

Property Inventory (Including Private)

Method Inventory (Including Private)


property Data [ Private , MultiDimensional ];
Location for data storage
Property methods: DataDisplayToLogical(), DataGet(), DataIsValid(), DataLogicalToDisplay(), DataLogicalToOdbc(), DataNormalize(), DataSet()
property Device as %String;
The name of the device from which data is being captured. Note that this device will be used, and thus become the current device, when redirection is started.
Property methods: DeviceDisplayToLogical(), DeviceGet(), DeviceIsValid(), DeviceLogicalToDisplay(), DeviceLogicalToOdbc(), DeviceNormalize(), DeviceSet()
property InCapture as %Boolean [ InitialExpression = 0 ];
Flag to indicate whether a capture is underway.
Property methods: InCaptureDisplayToLogical(), InCaptureGet(), InCaptureIsValid(), InCaptureLogicalToDisplay(), InCaptureNormalize(), InCaptureSet()
property Mode as %Integer (DISPLAYLIST = ",stream,array", VALUELIST = ",1,2");
Capture mode indicating how the data should be stored.
Property methods: ModeDisplayToLogical(), ModeGet(), ModeIsValid(), ModeLogicalToDisplay(), ModeNormalize(), ModeSet()
property NewLineTranslation as %String (VALUELIST = ",,JS,HTML");
Flag indicating whether newline translation should be used.
Property methods: NewLineTranslationDisplayToLogical(), NewLineTranslationGet(), NewLineTranslationIsValid(), NewLineTranslationLogicalToDisplay(), NewLineTranslationLogicalToOdbc(), NewLineTranslationNormalize(), NewLineTranslationSet()


private method %OnClose() as %Status
Ensure that redirection is stopped when the object goes out of scope.
private method %OnNew(pMode As %Integer = 1, pStream As %Stream.Object = "", pDevice As %String = $IO, pNewLineTranslation As %String = "") as %Status
Initialize the class based on a capture mode specified by pMode and a currently open device specified by pDevice. Note that the default mode is 1 (i.e. "stream") and the default device is the current device (i.e. $IO)
method ClearData(pReplacementStream As %Stream.Object = "") as %Status
method GetData(Output pData) as %Status
Get the data captured during the redirection. pData will be a stream object if stream mode was specified,
private method InitData(pMode As %Integer = 1, pForce As %Boolean = 0, pStream As %Stream.Object = "") as %Status
method ModeSet(pMode) as %Status
Ensure that Data is correctly initialized whenever Mode is changed.
classmethod Redirect(Output pInstance As %CSP.Portal.SourceControl.IO, pMode As %String = "stream", pStream As %Stream.Object = "", pDevice As %String = $IO, pNewLineTranslation As %String = "") as %Status
Initialize redirection and return the current %CSP.Portal.SourceControl.IO instance in pInstance. pMode can take one of two values, either "stream" or "array". pDevice defines the device which should be used as the source for the data - note that the device must already be open for the redirection to work.
method StartRedirect() as %Status
Start the redirection using the current settings.
method StopRedirect() as %Status
Stop the IO redirection, correct the state of InCapture and clean up the %ISCIO variable
method WriteData(data As %String) as %Status
Capture the data based on the current value of Mode.

Inherited Members

Inherited Methods (Including Private)