Sct::Streamer Class Reference

A streamer converts to and from a streamed representation of a data object. More...

#include <Streamer.h>

Inheritance diagram for Sct::Streamer:

Inheritance graph
[legend]

Public Member Functions

virtual ~Streamer ()
virtual void write (OStream &out, const Streamable &ob, const IOManager &manager) const =0
 Publishes ob to out.
virtual shared_ptr< Streamableread (IStream &in, const IOManager &manager) const =0
 Create a new Streamable object of the appropriate type from IS.
virtual void read (IStream &in, Streamable &ob, const IOManager &manager) const =0
 Refreshes ob from in.
virtual unsigned getVersion () const =0 throw ()

Detailed Description

A streamer converts to and from a streamed representation of a data object.

The data object must impliment Streamable. The actual representation of the streamed data (e.g. file, IS, ... ) is decided by the sub-class of IStream or OStream, which is provided by the sub-class of IOManager.

Streamers can make use of other streamers, but MUST use the IOManager to find the streamer. The (e.g.) RawScanResultStreamer must not do ScanResultStreamer.write(ob); RawScanResultStreamer can use ScanResultStreamer, not directly, but by calling manager.getStreamer("SctData::ScanResult").write(ob);

Definition at line 26 of file Streamer.h.


Member Function Documentation

virtual void Sct::Streamer::read IStream in,
Streamable ob,
const IOManager manager
const [pure virtual]
 

Refreshes ob from in.

Parameters:
in The IStream
ob The Streamable object to be refreshed.
manager the IOManager to use
Exceptions:
IoException if something bad happens

Implemented in SctCalibrationController::SequenceDataStreamer_v1, SctCalibrationController::TestDataStreamer_v1, SctCalibrationController::TestDataStreamer_v2, Sct::ISStreamerWrapper< T >, Sct::ISProxy::ISProxyStreamer, SctData::ScanResultWriter, SctData::IO::ChipConfigurationStreamer_v1, SctData::IO::ChipCounterTestResultStreamer_v1, SctData::IO::ConfigurationVariableStreamer_v1, SctData::IO::DcsDataStreamer_v1, SctData::IO::DcsDataStreamer_v2, SctData::IO::DefectListStreamer_v1, SctData::IO::DefectListStreamer_v2, SctData::IO::DoubleTriggerNoiseTestResultStreamer_v2, SctData::IO::DoubleTriggerNoiseTestResultStreamer_v3, SctData::IO::FitObjectStreamer_v1, SctData::IO::ErfcFitObjectStreamer_v1, SctData::IO::ErfFitObjectStreamer_v1, SctData::IO::TopHatFitObjectStreamer_v1, SctData::IO::GausFitObjectStreamer_v1, SctData::IO::FitScanResultStreamer_v1, SctData::IO::FullBypassTestResultStreamer_v1, SctData::IO::MarkSpaceRatioTestResultStreamer_v1, SctData::IO::ModuleConfigurationStreamer_v1, SctData::IO::ModuleConfigurationStreamer_v2, SctData::IO::NMaskTestResultStreamer_v1, SctData::IO::NoiseOccupancyTestResultStreamer_v1, SctData::IO::NPtGainTestResultStreamer_v1, SctData::IO::NPtGainTestResultStreamer_v2, SctData::IO::OpeStreamer_v1, SctData::IO::PipelineTestResultStreamer_v1, SctData::IO::RawScanResultStreamer_v1, SctData::IO::RawScanResultStreamer_v2, SctData::IO::RawScanResultStreamer_v3, SctData::IO::ResponseCurveStreamer_v1, SctData::IO::ResultHeaderStreamer_v1, SctData::IO::RxDelayTestResultStreamer_v1, SctData::IO::RxThresholdBasedOnConfigRegisterTestResultStreamer_v1, SctData::IO::RxThresholdBasedOnConfigRegisterTestResultStreamer_v2, SctData::IO::RxThresholdTestResultStreamer_v1, SctData::IO::ScanPointsStreamer_v1, SctData::IO::ScanResultStreamer_v1, SctData::IO::SingleVariableTestResultStreamer_v1, SctData::IO::SingleVariableTestResultStreamer_v2, SctData::IO::StrobeDelayTestResultStreamer_v1, SctData::IO::StrobeDelayTestResultStreamer_v2, SctData::IO::TestResultStreamer_v1, SctData::IO::TestResultStreamer_v3, SctData::IO::TestResultStreamer_v4, SctData::IO::TF1Streamer_v1, SctData::IO::TGraphAsymmErrorsStreamer_v1, SctData::IO::TGraphStreamer_v1, SctData::IO::TH1DStreamer_v1, SctData::IO::TimeWalkTestResultStreamer_v1, SctData::IO::TrimRangeTestResult_ChipTrimDataStreamer_v1, SctData::IO::TrimRangeTestResult_ChipTrimStreamer_v1, SctData::IO::TrimRangeTestResultStreamer_v1, SctData::IO::TrimRangeTestResultStreamer_v2, and SctData::IO::TxCurrentTestResultStreamer_v1.

virtual shared_ptr<Streamable> Sct::Streamer::read IStream in,
const IOManager manager
const [pure virtual]
 

Create a new Streamable object of the appropriate type from IS.

Parameters:
in The IStream.
manager the IOManager to use
Returns:
a new Streamable object
Exceptions:
IoException if something bad happens

Implemented in SctCalibrationController::SequenceDataStreamer_v1, SctCalibrationController::TestDataStreamer_v1, SctCalibrationController::TestDataStreamer_v2, Sct::ISStreamerWrapper< T >, Sct::ISProxy::ISProxyStreamer, SctData::ScanResultWriter, SctData::IO::ChipConfigurationStreamer_v1, SctData::IO::ChipCounterTestResultStreamer_v1, SctData::IO::ConfigurationVariableStreamer_v1, SctData::IO::DcsDataStreamer_v1, SctData::IO::DcsDataStreamer_v2, SctData::IO::DefectListStreamer_v1, SctData::IO::DefectListStreamer_v2, SctData::IO::DoubleTriggerNoiseTestResultStreamer_v2, SctData::IO::DoubleTriggerNoiseTestResultStreamer_v3, SctData::IO::FitObjectStreamer_v1, SctData::IO::ErfcFitObjectStreamer_v1, SctData::IO::ErfFitObjectStreamer_v1, SctData::IO::TopHatFitObjectStreamer_v1, SctData::IO::GausFitObjectStreamer_v1, SctData::IO::FitScanResultStreamer_v1, SctData::IO::FullBypassTestResultStreamer_v1, SctData::IO::MarkSpaceRatioTestResultStreamer_v1, SctData::IO::ModuleConfigurationStreamer_v1, SctData::IO::ModuleConfigurationStreamer_v2, SctData::IO::NMaskTestResultStreamer_v1, SctData::IO::NoiseOccupancyTestResultStreamer_v1, SctData::IO::NPtGainTestResultStreamer_v1, SctData::IO::NPtGainTestResultStreamer_v2, SctData::IO::OpeStreamer_v1, SctData::IO::PipelineTestResultStreamer_v1, SctData::IO::RawScanResultStreamer_v1, SctData::IO::RawScanResultStreamer_v2, SctData::IO::RawScanResultStreamer_v3, SctData::IO::ResponseCurveStreamer_v1, SctData::IO::ResultHeaderStreamer_v1, SctData::IO::RxDelayTestResultStreamer_v1, SctData::IO::RxThresholdBasedOnConfigRegisterTestResultStreamer_v1, SctData::IO::RxThresholdBasedOnConfigRegisterTestResultStreamer_v2, SctData::IO::RxThresholdTestResultStreamer_v1, SctData::IO::ScanPointsStreamer_v1, SctData::IO::ScanResultStreamer_v1, SctData::IO::SingleVariableTestResultStreamer_v1, SctData::IO::SingleVariableTestResultStreamer_v2, SctData::IO::StrobeDelayTestResultStreamer_v1, SctData::IO::StrobeDelayTestResultStreamer_v2, SctData::IO::TestResultStreamer_v1, SctData::IO::TestResultStreamer_v3, SctData::IO::TestResultStreamer_v4, SctData::IO::TF1Streamer_v1, SctData::IO::TGraphAsymmErrorsStreamer_v1, SctData::IO::TGraphStreamer_v1, SctData::IO::TH1DStreamer_v1, SctData::IO::TimeWalkTestResultStreamer_v1, SctData::IO::TrimRangeTestResult_ChipTrimDataStreamer_v1, SctData::IO::TrimRangeTestResult_ChipTrimStreamer_v1, SctData::IO::TrimRangeTestResultStreamer_v1, SctData::IO::TrimRangeTestResultStreamer_v2, and SctData::IO::TxCurrentTestResultStreamer_v1.

Referenced by Sct::Archive::IOManagerStreamerVersioned::readImpl(), Sct::IOManager::readImpl(), and Sct::IOManagerDummy::testStreaming2().

virtual void Sct::Streamer::write OStream out,
const Streamable ob,
const IOManager manager
const [pure virtual]
 

Publishes ob to out.

Parameters:
out The OStream.
ob The Streamable object to stream.
manager the IOManager to use
Exceptions:
IoException if something bad happens

Implemented in SctCalibrationController::SequenceDataStreamer_v1, SctCalibrationController::TestDataStreamer_v1, SctCalibrationController::TestDataStreamer_v2, Sct::ISStreamerWrapper< T >, Sct::ISProxy::ISProxyStreamer, SctData::ScanResultWriter, SctData::IO::ChipConfigurationStreamer_v1, SctData::IO::ChipCounterTestResultStreamer_v1, SctData::IO::ConfigurationVariableStreamer_v1, SctData::IO::DcsDataStreamer_v1, SctData::IO::DcsDataStreamer_v2, SctData::IO::DefectListStreamer_v1, SctData::IO::DefectListStreamer_v2, SctData::IO::DoubleTriggerNoiseTestResultStreamer_v2, SctData::IO::DoubleTriggerNoiseTestResultStreamer_v3, SctData::IO::FitObjectStreamer_v1, SctData::IO::FitScanResultStreamer_v1, SctData::IO::FullBypassTestResultStreamer_v1, SctData::IO::MarkSpaceRatioTestResultStreamer_v1, SctData::IO::ModuleConfigurationStreamer_v1, SctData::IO::ModuleConfigurationStreamer_v2, SctData::IO::NMaskTestResultStreamer_v1, SctData::IO::NoiseOccupancyTestResultStreamer_v1, SctData::IO::NPtGainTestResultStreamer_v1, SctData::IO::NPtGainTestResultStreamer_v2, SctData::IO::OpeStreamer_v1, SctData::IO::PipelineTestResultStreamer_v1, SctData::IO::RawScanResultStreamer_v1, SctData::IO::RawScanResultStreamer_v2, SctData::IO::RawScanResultStreamer_v3, SctData::IO::ResponseCurveStreamer_v1, SctData::IO::ResultHeaderStreamer_v1, SctData::IO::RxDelayTestResultStreamer_v1, SctData::IO::RxThresholdBasedOnConfigRegisterTestResultStreamer_v1, SctData::IO::RxThresholdBasedOnConfigRegisterTestResultStreamer_v2, SctData::IO::RxThresholdTestResultStreamer_v1, SctData::IO::ScanPointsStreamer_v1, SctData::IO::ScanResultStreamer_v1, SctData::IO::SingleVariableTestResultStreamer_v1, SctData::IO::SingleVariableTestResultStreamer_v2, SctData::IO::StrobeDelayTestResultStreamer_v1, SctData::IO::StrobeDelayTestResultStreamer_v2, SctData::IO::TestResultStreamer_v1, SctData::IO::TestResultStreamer_v3, SctData::IO::TestResultStreamer_v4, SctData::IO::TF1Streamer_v1, SctData::IO::TGraphAsymmErrorsStreamer_v1, SctData::IO::TGraphStreamer_v1, SctData::IO::TH1DStreamer_v1, SctData::IO::TimeWalkTestResultStreamer_v1, SctData::IO::TrimRangeTestResult_ChipTrimDataStreamer_v1, SctData::IO::TrimRangeTestResult_ChipTrimStreamer_v1, SctData::IO::TrimRangeTestResultStreamer_v1, SctData::IO::TrimRangeTestResultStreamer_v2, and SctData::IO::TxCurrentTestResultStreamer_v1.

Referenced by Sct::IOManagerDummy::testStreaming1(), Sct::IOManagerDummy::testStreaming2(), Sct::Archive::IOManagerStreamerVersioned::writeImpl(), Sct::ISProxy::IOManagerISProxy::writeImpl(), and Sct::IOManager::writeImpl().


The documentation for this class was generated from the following file:
Generated on Mon Feb 6 14:03:13 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6