87 {
88
90 return StatusCode::FAILURE;
91 }
93
94
95 if (
dynamic_cast< SG::View*
>( extendedContext.proxy() ) ) {
96 return StatusCode::FAILURE;
97 }
98
99
100 if ( !scheduler ) {
101 return StatusCode::FAILURE;
102 }
103
104 if ( viewVector->
empty() ) {
105
106
107 return scheduler->scheduleEventView( &sourceContext, nodeName, 0 );
108 }
109 else {
110 if ( reverseOrder ) {
111 for (
auto iter = viewVector->
rbegin(); iter != viewVector->
rend(); ++iter ) {
112
113
116 return StatusCode::FAILURE;
117 }
118 }
119 }
120 else {
121 for ( SG::View* view : *viewVector ) {
122
123
126 return StatusCode::FAILURE;
127 }
128 }
129 }
130 }
131
132 return StatusCode::SUCCESS;
133 }
EventIDBase::number_type conditionsRun() const
const_reverse_iterator rend() const noexcept
Return a const_reverse_iterator pointing at the beginning of the collection.
const_reverse_iterator rbegin() const noexcept
Return a const_reverse_iterator pointing past the end of the collection.
bool empty() const noexcept
Returns true if the collection is empty.
const ExtendedEventContext & getExtendedEventContext(const EventContext &ctx)
Retrieve an extended context from a context object.
bool hasExtendedEventContext(const EventContext &ctx)
Test whether a context object has an extended context installed.
StatusCode scheduleSingleView(SG::View *view, std::string const &nodeName, EventContext const &sourceContext, EventIDBase::number_type conditionsRun, SmartIF< IScheduler > scheduler)