31 #include <qmetatype.h> 34 #include <qstringlist.h> 53 typedef QMap<QString, MSElement*> StringElementMap;
56 typedef QMap<QString, MSData*> StringDataMap;
59 typedef QList<MSElement*> ElementPtrList;
87 explicit MSElement(MS::ElementType element_type,
bool dedicated_thread =
false);
101 bool IsDedicatedThread()
const;
112 int GetElementID()
const;
126 void SetElementID(
int new_id);
137 int GetBeatID()
const;
148 MS::ElementType GetType()
const;
157 QString GetClass()
const;
170 void BeatBegin(
int beat_id);
205 bool DoTasks(
bool be_hurry);
217 virtual void StartActivities();
235 virtual bool ProgressTasks(
bool be_hurry);
245 virtual void StopActivities();
261 QStringList GetInputList()
const;
272 bool HasOutputs()
const;
286 QStringList GetOutputList()
const;
298 void AddReceiverElement(
const QString& output_name,
MSElement& element);
310 void RemoveReceiverElement(
const QString& output_name,
MSElement& element);
325 MSData* GetOutputData(
const QString& output_name)
const;
337 void SetInputData(
const QString& input_name,
const MSData& new_data);
MS::StringDataMap InputList
Input list.
MS::StringElementMap ReceiverElements
Receiver elements.
Load or store the source elements' output of a session.
QMutex TasksExecutionMutex
Mutex for the element tasks.
bool PlaybackMode
Playback mode.
bool EmergencyStop
Emergency stop.
MS::StringDataMap OutputList
Output list.
Basic ancestor class of the elements.
QStringList CurrentInputList
Specifies the available input data list for the current heart beat.
QStringList CurrentOutputList
Specifies the available output data for the current heart beat.
Base class for the data exchange of the elements.
int CurrentBeat
Current Beat ID.
bool DedicatedThread
Dedicated thread.
MSHeart * Heart
Heart where the element is registered.
MS::ElementType Type
Specifies the type of the element.
void BeatEnd(int beat_id)
This slot is being called by the end of a heart beat.