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/OutputConnector.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);
125 void disconnect(
Operator*
const targetOp,
const unsigned int inputId);
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);
221 void setConnectorType(
Operator*
const op,
const unsigned int id,
242 void hideThread(
Thread*
const thread);
253 void showThread(
Thread*
const thread);
263 void removeThread(
Thread*
const thread);
268 const std::vector<Thread*> & threads()
const;
295 unsigned int delay()
const;
306 void setDelay(
const unsigned int delay);
346 class InternalThreadObserver;
347 class InternalNetworkObserver;
350 bool isPartOfStream(
const Operator*
const op)
const;
351 bool isPartOfStream(
const OperatorInfo*
const op)
const;
352 bool isPartOfInitializedStream(
const Operator*
const op)
const;
353 bool isPartOfUninitializedStream(
const Operator*
const op)
const;
354 void attachOperator(
Operator*
const op);
355 void attachThread(
Thread*
const thread);
356 void detachOperator(
Operator*
const op);
357 void detachThread(
Thread*
const thread);
358 void disconnectInput(
Operator*
const op,
const unsigned int id);
359 void disconnectOutput(
Operator*
const op,
const unsigned int id);
362 impl::Network*
const m_network;
363 std::vector<Thread*> m_threads;
364 std::set<const ExceptionObserver*> m_observers;
365 impl::MutexHandle* m_observerMutex;
368 impl::MutexHandle* m_delayMutex;
369 unsigned int m_delay;
370 std::set<Operator*> m_uninitializedOperators;
371 std::vector<Operator*> m_operators;
372 std::set<Operator*> m_hiddenOperators;
373 std::set<Thread*> m_hiddenThreads;
378 #endif // STROMX_RUNTIME_STREAM_H Abstract base observer of operator exceptions.
Definition: ExceptionObserver.h:29
const AbstractFactory * factory() const
Definition: Stream.h:87
Type
Definition: Description.h:73
Status
Definition: Stream.h:49
void setName(const std::string &name)
Definition: Stream.h:69
Status status() const
Definition: Stream.h:72
Factory of operator and data objects.
Definition: AbstractFactory.h:32
UpdateBehavior
Definition: Description.h:86
The stromx class library.
Definition: AdjustRgbChannels.cpp:29
The core data processing pipeline of stromx.
Definition: Stream.h:45
Phase
Definition: ExceptionObserver.h:36
const std::string & name() const
Definition: Stream.h:66
Meta-information about an operator.
Definition: OperatorInfo.h:51
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
Identifier of an output of an operator.
Definition: OutputConnector.h:27
Definition: Description.h:99