Changeset 1021 for XIOS/dev/dev_olga/src/filter/filter.cpp
- Timestamp:
- 01/10/17 14:36:29 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_olga/src/filter/filter.cpp
r827 r1021 5 5 CFilter::CFilter(CGarbageCollector& gc, size_t inputSlotsCount, IFilterEngine* engine) 6 6 : CInputPin(gc, inputSlotsCount) 7 , COutputPin( )7 , COutputPin(gc) 8 8 , engine(engine) 9 9 , inputSlotCount(inputSlotCount) … … 14 14 CDataPacketPtr outputPacket = engine->apply(data); 15 15 if (outputPacket) 16 deliverOuput(outputPacket); 16 onOutputReady(outputPacket); 17 } 18 19 void CFilter::setInputTrigger(size_t inputSlot, COutputPin* trigger) 20 { 21 // Was the filter already triggerable? If not, we need to inform 22 // all downstream filters. 23 bool wasTriggerable = canBeTriggered(); 24 25 CInputPin::setInputTrigger(inputSlot, trigger); 26 27 if (!wasTriggerable) 28 setOutputTriggers(); 29 } 30 31 void CFilter::trigger(Time timestamp) 32 { 33 CInputPin::trigger(timestamp); 34 35 COutputPin::trigger(timestamp); 36 } 37 38 bool CFilter::canBeTriggered() const 39 { 40 return (CInputPin::canBeTriggered() || COutputPin::canBeTriggered()); 17 41 } 18 42 } // namespace xios
Note: See TracChangeset
for help on using the changeset viewer.