58const static char m_sDefaultDirectory[](
"realtime_shared_files");
59const static char m_sDefaultFileName[](
"realtime_file");
73: m_sDirectory(QDir::currentPath() +
"/" + sDirName)
82 if(initSharedDirectory()){
83 QString sFilePath(m_sDirectory +
"/" + m_sDefaultFileName + QString::number(m_iFileIndex++) +
"_raw.fif");
85 if(QFile::copy(sSourcePath, sFilePath)){
86 QFile newFile(sFilePath);
87 if(newFile.open(QIODevice::ReadWrite)){
89 stream.skipRawData(newFile.bytesAvailable());
102 if(initSharedDirectory()){
103 clearSharedDirectory();
104 m_fileWatcher.addPath(m_sDirectory);
105 connect(&m_fileWatcher, &QFileSystemWatcher::directoryChanged,
106 this, &FiffFileSharer::onDirectoryChanged, Qt::UniqueConnection);
107 connect(&m_fileWatcher, &QFileSystemWatcher::fileChanged,
108 this, &FiffFileSharer::onFileChanged, Qt::UniqueConnection);
110 qWarning() <<
"[FiffFileSharer::initWatcher] Unable to initilaize shared directory";
116void FiffFileSharer::clearSharedDirectory()
118 QDir directory(m_sDirectory);
119 directory.setNameFilters(QStringList(
"*.*"));
120 directory.setFilter(QDir::Files);
121 for(
auto& file : directory.entryList()){
122 directory.remove(file);
128void FiffFileSharer::onDirectoryChanged(
const QString &sPath)
130 QString filePath(sPath +
"/" + m_sDefaultFileName + QString::number(m_iFileIndex) +
"_raw.fif");
131 m_fileWatcher.addPath(filePath);
136void FiffFileSharer::onFileChanged(
const QString &sPath)
139 m_fileWatcher.removePath(sPath);
146bool FiffFileSharer::initSharedDirectory()
148 QDir sharedDirectory(m_sDirectory);
149 if(!sharedDirectory.exists()){
150 sharedDirectory.mkpath(
".");
153 return sharedDirectory.exists();
FiffFileSharer class declaration.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
void newFileAtPath(const QString &sPath)
void copyRealtimeFile(const QString &sSourcePath)
void finish_writing_raw()