39 #include <QStringList>
54 mReconstructer(reconstructer)
65 mRecordSessions.clear();
71 mRecordSessions.push_back(session);
77 std::vector<RecordSessionPtr>::iterator it = mRecordSessions.begin();
78 while (it != mRecordSessions.end())
80 std::vector<RecordSessionPtr>::iterator current = it;
82 if((*current)->getUid() == session->getUid())
83 mRecordSessions.erase(current);
90 return mRecordSessions;
96 std::vector<RecordSessionPtr>::iterator it = mRecordSessions.begin();
97 for(; it != mRecordSessions.end(); ++it)
99 if((*it)->getUid() == uid)
107 QDomDocument doc = parentNode.ownerDocument();
108 QDomElement base = doc.createElement(
"stateManager");
109 parentNode.appendChild(base);
111 QDomElement sessionsNode = doc.createElement(
"recordSessions");
112 std::vector<RecordSessionPtr>::iterator it = mRecordSessions.begin();
113 for(; it != mRecordSessions.end(); ++it)
115 QDomElement sessionNode = doc.createElement(
"recordSession");
116 (*it)->addXml(sessionNode);
117 sessionsNode.appendChild(sessionNode);
119 base.appendChild(sessionsNode);
124 QDomNode recordsessionsNode = dataNode.namedItem(
"recordSessions");
125 QDomElement recodesessionNode = recordsessionsNode.firstChildElement(
"recordSession");
126 for (; !recodesessionNode.isNull(); recodesessionNode = recodesessionNode.nextSiblingElement(
"recordSession"))
129 session->parseXml(recodesessionNode);
142 std::vector<RecordSessionPtr>::iterator iter;
143 for (iter = recordsessions.begin(); iter != recordsessions.end(); ++iter)
145 QString index = (*iter)->getUid().split(
"_").front();
146 max = std::max(max, index.toInt());
150 retval = QString(
"%1").arg(max + 1, 2, 10, QChar(
'0'));
161 QObject(parent), mPluginData(pluginData), mCurrentState(
AcquisitionService::sNOT_RUNNING)
181 report(
"Already recording a session, stop before trying to start a new record session.");
186 mLatestSession.reset(
new cx::RecordSession(mPluginData->getNewUid(), startTime, startTime,
settings()->
value(
"Ultrasound/acquisitionName").toString()));
199 mPluginData->addRecordSession(mLatestSession);
212 mLatestSession.reset();
229 mCurrentState = newState;
Acqusition services abstract interface.
boost::shared_ptr< class UsReconstructionService > UsReconstructionServicePtr
void startPostProcessing()
boost::shared_ptr< class VisServices > VisServicesPtr
std::vector< RecordSessionPtr > getRecordSessions()
void removeRecordSession(RecordSessionPtr session)
double getMilliSecondsSinceEpoch()
void addXml(QDomNode &dataNode)
QVariant value(const QString &key, const QVariant &defaultValue=QVariant()) const
QString timestampSecondsFormat()
boost::shared_ptr< class AcquisitionData > AcquisitionDataPtr
boost::shared_ptr< class RecordSession > RecordSessionPtr
AcquisitionService::STATE getState() const
virtual ~AcquisitionData()
void recordedSessionsChanged()
void addRecordSession(RecordSessionPtr session)
void parseXml(QDomNode &dataNode)
Settings * settings()
Shortcut for accessing the settings instance.
void stopPostProcessing()
RecordSessionPtr getRecordSession(QString uid)
Acquisition(AcquisitionDataPtr pluginData, QObject *parent=0)
void acquisitionStopped()