FARGOS/VISTA Object Management Environment Core
..
|
Proxy class to allow state to be associated with an existing OrderedInputSource, while appearing to be the original OrderedInputSource. More...
#include <OrderedInput.hpp>
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... | |
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.
|
inlineexplicit |
Construct a proxy for an existing OrderedInputSource object.
interfaceFor | specifies the existing object. |
References OME_PREFETCH, and proxyFor.
|
inlinevirtual |
References proxyFor.
|
inlinevirtual |
References OrderedInputBlock::inputFile, OME_PREFETCH, and proxyFor.
|
inlinevirtual |
Reimplemented in OrderedInputSourceProxyWithReordering.
References OrderedInputSource::InputBlockReturn::block, OrderedInputBlock::inputFile, OME_EXPECT_TRUE, and proxyFor.
|
inlinevirtual |
References proxyFor.
|
inlinevirtual |
References proxyFor.
|
inlinevirtual |
References OrderedInputBlock::inputFile, OME_PREFETCH, and proxyFor.
|
inlinevirtual |
References proxyFor.
|
protected |
points at the original input source
Referenced by OrderedInputSourceProxyWithReordering::dropProxy(), forwardInputBlock(), getNextInputBlock(), OrderedInputSourceProxyWithReordering::getNextInputBlock(), noteEOFprocessed(), noteEOFread(), OrderedInputSourceProxy(), recoverInputBlock(), sourceLabel(), and ~OrderedInputSourceProxy().
![]() | Generated: Tue Jul 28 2020 16:03:27
Support Information |