TrackedStream::TrackedStream(const QString& uid, const QString& name, const ToolPtr &probe, const VideoSourcePtr &videosource) : Data(uid, name), mProbeTool(probe), mVideoSource(VideoSourcePtr()), mImage(ImagePtr()), mSpaceProvider(SpaceProviderPtr()) { if(mProbeTool) emit newTool(mProbeTool); setVideoSource(videosource); }
void PatientModelImplService::shutdownInterconnectedDataAndSpace() { requireUnique(mPatientData, "PatientData"); mPatientData.reset(); // [HACK] break loop by removing connection to DataFactory and SpaceProvider mDataService->setSpaceProvider(SpaceProviderPtr()); mDataService->setDataFactory(DataFactoryPtr()); mDataService->clear(); requireUnique(mDataFactory, "DataFactory"); mDataFactory.reset(); requireUnique(mDataService, "DataService"); mDataService.reset(); }