FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
OrderedInputSourceProxy Class Reference

Proxy class to allow state to be associated with an existing OrderedInputSource, while appearing to be the original OrderedInputSource. More...

#include <OrderedInput.hpp>

+ Inheritance diagram for OrderedInputSourceProxy:

Public Member Functions

 OrderedInputSourceProxy (OrderedInputSource *interfaceFor)
 Construct a proxy for an existing OrderedInputSource object. More...
 
virtual ~OrderedInputSourceProxy ()
 
virtual OrderedInputSource::InputBlockReturn getNextInputBlock (bool forceCopy=false, const struct timespec *maxWaitTime=nullptr) VIRTUAL_OVERRIDE
 
virtual void recoverInputBlock (OrderedInputBlock *block) VIRTUAL_OVERRIDE
 
virtual int forwardInputBlock (OrderedInputBlock *block) VIRTUAL_OVERRIDE
 
virtual const char * sourceLabel (char *outputBfr, uint_fast32_t bfrLen) const VIRTUAL_OVERRIDE
 
virtual void noteEOFread () VIRTUAL_OVERRIDE
 
virtual void noteEOFprocessed () VIRTUAL_OVERRIDE
 

Protected Attributes

OrderedInputSource * proxyFor
 points at the original input source More...
 

Detailed Description

Proxy class to allow state to be associated with an existing OrderedInputSource, while appearing to be the original OrderedInputSource.

This class is viable as-is, but its true value is realized only when it serves as the base class of an interesting user subclass.

Given an object of some potentially unknown user class A that inherits from OrderedInputSource and a situation in which the application really wanted an object of class B that would be viewed as an extended subclass of A, the OrderedInputSourceProxy class can be used to implement a replacement proxy object of class B that acts upon the original object of class A.

Obviously, it is optimal to just use the original object of class A directly, so the use of a proxy intermediary should be avoided when feasible.

Constructor & Destructor Documentation

◆ OrderedInputSourceProxy()

OrderedInputSourceProxy::OrderedInputSourceProxy ( OrderedInputSource *  interfaceFor)
inlineexplicit

Construct a proxy for an existing OrderedInputSource object.

Parameters
interfaceForspecifies the existing object.

References OME_PREFETCH, and proxyFor.

◆ ~OrderedInputSourceProxy()

virtual OrderedInputSourceProxy::~OrderedInputSourceProxy ( )
inlinevirtual

References proxyFor.

Member Function Documentation

◆ forwardInputBlock()

virtual int OrderedInputSourceProxy::forwardInputBlock ( OrderedInputBlock block)
inlinevirtual

◆ getNextInputBlock()

virtual OrderedInputSource::InputBlockReturn OrderedInputSourceProxy::getNextInputBlock ( bool  forceCopy = false,
const struct timespec *  maxWaitTime = nullptr 
)
inlinevirtual

◆ noteEOFprocessed()

virtual void OrderedInputSourceProxy::noteEOFprocessed ( )
inlinevirtual

References proxyFor.

◆ noteEOFread()

virtual void OrderedInputSourceProxy::noteEOFread ( )
inlinevirtual

References proxyFor.

◆ recoverInputBlock()

virtual void OrderedInputSourceProxy::recoverInputBlock ( OrderedInputBlock block)
inlinevirtual

◆ sourceLabel()

virtual const char* OrderedInputSourceProxy::sourceLabel ( char *  outputBfr,
uint_fast32_t  bfrLen 
) const
inlinevirtual

References proxyFor.

Member Data Documentation

◆ proxyFor


The documentation for this class was generated from the following file:
Generated: Fri Jul 31 2020 18:19:16
Support Information