17 #ifndef STROMX_RUNTIME_STREAM_H
18 #define STROMX_RUNTIME_STREAM_H
23 #include "stromx/runtime/Config.h"
24 #include "stromx/runtime/ExceptionObserver.h"
25 #include "stromx/runtime/Output.h"
31 class AbstractFactory;
66 const std::string&
name()
const {
return m_name; }
69 void setName(
const std::string& name) { m_name = name; }
75 const std::vector<Operator*>& operators()
const;
78 const std::vector<Operator*>& initializedOperators()
const;
113 void connect(
Operator*
const sourceOp,
const unsigned int outputId,
114 Operator*
const targetOp,
const unsigned int inputId)
const;
125 void disconnect(
Operator*
const targetOp,
const unsigned int inputId)
const;
137 const Output connectionSource(
const Operator*
const targetOp,
const unsigned int inputId)
const;
163 void hideOperator(
Operator*
const op);
177 void showOperator(
Operator*
const op);
191 void removeOperator(
Operator*
const op);
199 void initializeOperator(
Operator*
const op);
207 void deinitializeOperator(
Operator*
const op);
227 void hideThread(
Thread*
const thread);
238 void showThread(
Thread*
const thread);
248 void removeThread(
Thread*
const thread);
253 const std::vector<Thread*> & threads()
const;
280 unsigned int delay()
const;
291 void setDelay(
const unsigned int delay);
331 class InternalThreadObserver;
332 class InternalNetworkObserver;
335 bool isPartOfStream(
const Operator*
const op)
const;
336 bool isPartOfStream(
const OperatorInfo*
const op)
const;
337 bool isPartOfInitializedStream(
const Operator*
const op)
const;
338 bool isPartOfUninitializedStream(
const Operator*
const op)
const;
339 void attachOperator(
Operator*
const op);
340 void attachThread(
Thread*
const thread);
341 void detachOperator(
Operator*
const op);
342 void detachThread(
Thread*
const thread);
345 impl::Network*
const m_network;
346 std::vector<Thread*> m_threads;
347 std::set<const ExceptionObserver*> m_observers;
348 impl::MutexHandle* m_observerMutex;
351 impl::MutexHandle* m_delayMutex;
352 unsigned int m_delay;
353 std::set<Operator*> m_uninitializedOperators;
354 std::vector<Operator*> m_operators;
355 std::set<Operator*> m_hiddenOperators;
356 std::set<Thread*> m_hiddenThreads;
361 #endif // STROMX_RUNTIME_STREAM_H
const AbstractFactory * factory() const
Definition: Stream.h:87
Abstract base observer of operator exceptions.
Definition: ExceptionObserver.h:29
Identifier of an output of an operator.
Definition: Output.h:27
Status
Definition: Stream.h:49
void setName(const std::string &name)
Definition: Stream.h:69
Factory of operator and data objects.
Definition: AbstractFactory.h:32
Status status() const
Definition: Stream.h:72
The stromx class library.
Definition: AdjustRgbChannels.cpp:29
The core data processing pipeline of stromx.
Definition: Stream.h:45
Phase
Definition: ExceptionObserver.h:36
Meta-information about an operator.
Definition: OperatorInfo.h:50
Abstract operator.
Definition: Operator.h:60
A thread which visits input nodes.
Definition: Thread.h:53
Abstract operator kernel.
Definition: OperatorKernel.h:46
Error in connection with a specified operator.
Definition: OperatorException.h:32
const std::string & name() const
Definition: Stream.h:66