\doxysection{Bds\+::Data\+File\+Ims Class Reference}
\hypertarget{classBds_1_1DataFileIms}{}\label{classBds_1_1DataFileIms}\index{Bds::DataFileIms@{Bds::DataFileIms}}


Data file convertor for IMS format files.  




{\ttfamily \#include $<$Bds\+Data\+File\+Ims.\+h$>$}

Inheritance diagram for Bds\+::Data\+File\+Ims\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classBds_1_1DataFileIms}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classBds_1_1DataFileIms_a0635e04dc5cd043ea5abd0d0deed882b}{Data\+File\+Ims}} ()
\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileIms_aae684362d877b7361736fa9a6614e1ec}{open}} (\textbf{ BString} file\+Name, \textbf{ BString} mode)
\begin{DoxyCompactList}\small\item\em Open the file for read or write. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileIms_a7e82a7bd00f23e49a83435b3436f965c}{close}} ()
\begin{DoxyCompactList}\small\item\em Close the file. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}{Data\+Order}} \mbox{\hyperlink{classBds_1_1DataFileIms_af4c91c8e58a616923a0ba767589d0aae}{get\+Data\+Order}} ()
\begin{DoxyCompactList}\small\item\em Get the expected order of writing data, by sample or by channel. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classBds_1_1DataFileIms_ab767744e892004f4bb5a2323ab1e7c6e}{get\+Features}} ()
\begin{DoxyCompactList}\small\item\em Get bitmask of supported features. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileIms_a97dd4140ef75cda8f397443f74cfe1c4}{set\+Info}} (const \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info, const \mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos, \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153}{Write\+Options\+List}} options=\mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a8f2ee64a0b135b2b02c046f087e54b52}{Write\+Option\+None}})
\begin{DoxyCompactList}\small\item\em Set information on data for write. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileIms_a90cb2ed38b935c2f7975766845d87f6c}{start}} (\textbf{ BUInt} channel, \textbf{ BUInt} segment)
\begin{DoxyCompactList}\small\item\em Start writing next segment of data. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileIms_ad6686797b3e2809454081b6147293792}{write\+Data}} (const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&\textbf{ data})
\begin{DoxyCompactList}\small\item\em Write a block of data. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileIms_ac9d709d063888ebd719f58c016e90683}{end}} ()
\begin{DoxyCompactList}\small\item\em End write segment. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileIms_a20a76c6d494a28780deb0e3ffa6f863f}{get\+Meta\+Data}} (\mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos, \textbf{ BUInt32} options, \textbf{ BList}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&errors)
\begin{DoxyCompactList}\small\item\em Return all known Meta\+Data in the file. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classBds_1_1DataFile}{Bds\+::\+Data\+File}}}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classBds_1_1DataFile_a103347e61895be1fe64c7aaf1f444a39}{Data\+File}} ()
\item 
virtual \mbox{\hyperlink{classBds_1_1DataFile_a258472b18d0c88237be356ceef6a6502}{\texorpdfstring{$\sim$}{\string~}\+Data\+File}} ()
\item 
virtual void \mbox{\hyperlink{classBds_1_1DataFile_aed55fb73a4ea3ba576e74f7b5aa48e46}{init}} ()
\begin{DoxyCompactList}\small\item\em Initialise. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a5e5185a9cef9ea911c477d1bc2c74274}{open}} (\textbf{ BString} file\+Name, \textbf{ BString} mode)
\begin{DoxyCompactList}\small\item\em Open the file for read or write. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a6b092b444ba4a8b1c2b24587e06a054d}{close}} ()
\begin{DoxyCompactList}\small\item\em Close the file. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_aae72993c3c6453edc45621745c3e79a5}{set\+Format}} (\textbf{ BString} \textbf{ format})
\begin{DoxyCompactList}\small\item\em Set the sub-\/format. \end{DoxyCompactList}\item 
virtual \textbf{ BString} \mbox{\hyperlink{classBds_1_1DataFile_a472656e7a1bf29cb1287576f7670ec42}{get\+File\+Name}} ()
\begin{DoxyCompactList}\small\item\em Return the file name. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}{Data\+Order}} \mbox{\hyperlink{classBds_1_1DataFile_ae014b357c1b718954946bfa343aa30c2}{get\+Data\+Order}} ()
\begin{DoxyCompactList}\small\item\em Get the expected order of writing data, by sample or by channel. \end{DoxyCompactList}\item 
virtual int \mbox{\hyperlink{classBds_1_1DataFile_a3ec43698267866785d212e4d962e8d82}{get\+Features}} ()
\begin{DoxyCompactList}\small\item\em Get bitmask of supported features. \end{DoxyCompactList}\item 
virtual \textbf{ BString} \mbox{\hyperlink{classBds_1_1DataFile_af53a17d0570a25b0b75f5fb3b13279c5}{get\+Fixes\+Info}} ()
\begin{DoxyCompactList}\small\item\em Get readable list of fixes that can be applied to faulty data files. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classBds_1_1DataFile_aaa613d86a308db8dc42917bd016e6833}{get\+Notices}} (\textbf{ BString\+List} \&notices)
\begin{DoxyCompactList}\small\item\em Get a list of any notices. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a8fbb4e7ed82855bbcb0bde4afdc61e51}{set\+Info}} (const \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info, const \mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos, \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153}{Write\+Options\+List}} options=\mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a8f2ee64a0b135b2b02c046f087e54b52}{Write\+Option\+None}})
\begin{DoxyCompactList}\small\item\em Set information on data for write. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a9d3bf9eecf58dcfe276fcb6ceeec00b2}{start}} (\textbf{ BUInt} channel, \textbf{ BUInt} segment)
\begin{DoxyCompactList}\small\item\em Start writing next segment of data. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a161e7f9481b0a75c886049facff60aaf}{write\+Data}} (const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&\textbf{ data})
\begin{DoxyCompactList}\small\item\em Write a block of data. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_af854a685f63f43f1d45f52e40f6a7b1f}{end}} ()
\begin{DoxyCompactList}\small\item\em End write segment. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a96dc50c6852eaee8416c48bafa2c9780}{flush}} ()
\begin{DoxyCompactList}\small\item\em Flush data to disk. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a9a269d6ea626a0524c658f507271131e}{file\+Name\+Process}} ()
\begin{DoxyCompactList}\small\item\em Parse the file name for a date/time. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a06ee8e7a8b5446c4c333e112f61cead5}{get\+Format}} (\textbf{ BString} \&\textbf{ format})
\begin{DoxyCompactList}\small\item\em Get sub-\/format. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a041d380065710c74fd509a28d63bf667}{get\+Info}} (\mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info, \mbox{\hyperlink{classBds_1_1DataFileOptions}{Data\+File\+Options}} options, \textbf{ BList}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&errors)
\begin{DoxyCompactList}\small\item\em Get info on data. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a58cb4c088df2d8d0349a3ffbd7523a02}{seek\+Block}} (\textbf{ BUInt32} channel, \textbf{ BUInt} segment, \textbf{ BTime\+Stamp} time, \textbf{ BUInt32} \&block\+Number, \textbf{ BUInt64} \&sample\+Number, \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&\textbf{ data})
\begin{DoxyCompactList}\small\item\em Find requested block on given channel given a time. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_ac01f30408cfdfc4f14a36ca1f5cf2e4c}{read\+Data}} (\textbf{ BUInt32} channel, \textbf{ BUInt} segment, \textbf{ BUInt32} block\+Number, \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&data\+Block)
\begin{DoxyCompactList}\small\item\em Read a block. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a817b26d6176374820f2e88e92986a0f0}{get\+Meta\+Data}} (\mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos, \textbf{ BUInt32} options, \textbf{ BList}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&errors)
\begin{DoxyCompactList}\small\item\em Return all known Meta\+Data in the file. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classBds_1_1DataFile_a4001451e1254eb344f032eb284d189d9}{data\+Error\+Fixup}} (const \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info, \textbf{ BList}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&errors)
\begin{DoxyCompactList}\small\item\em Fixup data errors, mainly start/end times to be within data. \end{DoxyCompactList}\item 
\textbf{ BInt64} \mbox{\hyperlink{classBds_1_1DataFile_a224df8deb335c2c12bd122a8969d2bc6}{time\+Compare}} (\textbf{ BTime\+Stamp} t1, \textbf{ BTime\+Stamp} t2, \textbf{ BUInt} diff)
\begin{DoxyCompactList}\small\item\em Compare timestamps with a margin. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classBds_1_1DataFile_a0417d087d2711f28a6de45ac258ddbca}{duplicate\+Check}} (const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&data1, const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&data2, \textbf{ BUInt} channel=0)
\begin{DoxyCompactList}\small\item\em Check if blocks are duplicates. \end{DoxyCompactList}\item 
\textbf{ BUInt64} \mbox{\hyperlink{classBds_1_1DataFile_ad89a5ba6ff64e2dee34b5b92d3880f5f}{get\+File\+Position}} ()
\end{DoxyCompactItemize}
\doxysubsubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespaceBds_abc3599496fa901d0481742571a256def}{Data\+Formats}} \mbox{\hyperlink{classBds_1_1DataFileIms_ac3ded7017cbb73751c0591d15bcc9511}{get\+Formats}} ()
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions inherited from \mbox{\hyperlink{classBds_1_1DataFile}{Bds\+::\+Data\+File}}}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespaceBds_abc3599496fa901d0481742571a256def}{Data\+Formats}} \mbox{\hyperlink{classBds_1_1DataFile_ad6060378dfb479ac02167e61f032d7d0}{get\+Formats}} ()
\begin{DoxyCompactList}\small\item\em Get list of supported formats. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Public Types inherited from \mbox{\hyperlink{classBds_1_1DataFile}{Bds\+::\+Data\+File}}}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}{Data\+Order}} \{ \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07aedfe73815587b56ef261a8c1d140dc3a}{Data\+Order\+Unknown}}
, \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07a8514fa29aaaef629fa17968e22f08faa}{Data\+Order\+All}}
, \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07ae416600bdc7bb6df53290742790d223a}{Data\+Order\+Sample}}
, \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07add00ddd15c08b1f724360661bf98c7cd}{Data\+Order\+Channel}}
 \}
\item 
enum \mbox{\hyperlink{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005c}{Features}} \{ \mbox{\hyperlink{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005caeeb908ca4fd8d867bd3214f8ddd80342}{Feature\+None}} = 0x00
, \mbox{\hyperlink{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005ca80851a44fa570a3e14efcfab53234b24}{Feature\+Can\+Write}} = 0x01
, \mbox{\hyperlink{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005ca90d9cd6adf0ec236e74b354541d9f4a4}{Feature\+Can\+Read}} = 0x02
 \}
\item 
enum \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153}{Write\+Options\+List}} \{ \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a8f2ee64a0b135b2b02c046f087e54b52}{Write\+Option\+None}} = 0x00
, \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a420fa6e5eaacb8e210c3ade68bbe64e6}{Write\+Option\+Sensor\+Data}} = 0x01
, \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153ab2a1e07b760736fa19c5099e6509fb18}{Write\+Option\+No\+Metadata}} = 0x02
 \}
\item 
enum \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddd}{Read\+Options\+List}} \{ \newline
\mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddae49e5a11b7d48edb36335e4d8f0825cb}{Read\+Option\+None}} = 0x00
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda5f58a7921d0a5dd558dca90cfbe667b0}{Read\+Option\+Validate}} = 0x01
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda888fc70f21636d6ffedcfaf3b2ffa7c2}{Read\+Option\+File\+Name\+Process}} = 0x02
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddab8d3256eebc227307fbd4716370b313d}{Read\+Option\+Fix\+Corruptions}} = 0x04
, \newline
\mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda72d10a6f53b4df793d2c9c606dbd6892}{Read\+Option\+Reorder}} = 0x08
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda79066b8186a596f194b01b3b2a410b0b}{Read\+Option\+Delete\+Duplicates}} = 0x10
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddac1aa7df91660649215b69706c75ae363}{Read\+Option\+Info\+Extra}} = 0x20
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddae08fddd3c7a0392bc3950b8b2527d1fc}{Read\+Option\+Ignore\+Samplerate}} = 0x40
, \newline
\mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda831de6701cd13361e95680da2da6933d}{Read\+Option\+Print\+Blocks}} = 0x80
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddad36f1cbea75696379c7e67ce074e2e9a}{Read\+Option\+Fix\+Sample\+Rate}} = 0x100
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classBds_1_1DataFile}{Bds\+::\+Data\+File}}}
\begin{DoxyCompactItemize}
\item 
\textbf{ BString} \mbox{\hyperlink{classBds_1_1DataFile_a13ed47a010d5767ce5479588810f49d2}{ofile\+Name}}
\item 
\textbf{ BString} \mbox{\hyperlink{classBds_1_1DataFile_ac77be042e2ff851beec76d754a591969}{omode}}
\item 
\textbf{ BTime\+Stamp} \mbox{\hyperlink{classBds_1_1DataFile_ad7514c27012dba2e4fc709f06ebd67ac}{ofile\+Name\+Time}}
\item 
\textbf{ BFile} \mbox{\hyperlink{classBds_1_1DataFile_aba43ea13af8152dfc3a63fb08037ff00}{ofile}}
\item 
\textbf{ BString} \mbox{\hyperlink{classBds_1_1DataFile_a9cc54891edde3cd7e84b036407739611}{oformat}}
\item 
\textbf{ BString\+List} \mbox{\hyperlink{classBds_1_1DataFile_ab72b77d23100386222909c0568b6c9a2}{onotices}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Data file convertor for IMS format files. 

\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{classBds_1_1DataFileIms_a0635e04dc5cd043ea5abd0d0deed882b}\label{classBds_1_1DataFileIms_a0635e04dc5cd043ea5abd0d0deed882b} 
\index{Bds::DataFileIms@{Bds::DataFileIms}!DataFileIms@{DataFileIms}}
\index{DataFileIms@{DataFileIms}!Bds::DataFileIms@{Bds::DataFileIms}}
\doxysubsubsection{\texorpdfstring{DataFileIms()}{DataFileIms()}}
{\footnotesize\ttfamily Bds\+::\+Data\+File\+Ims\+::\+Data\+File\+Ims (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\doxysubsection{Member Function Documentation}
\Hypertarget{classBds_1_1DataFileIms_aae684362d877b7361736fa9a6614e1ec}\label{classBds_1_1DataFileIms_aae684362d877b7361736fa9a6614e1ec} 
\index{Bds::DataFileIms@{Bds::DataFileIms}!open@{open}}
\index{open@{open}!Bds::DataFileIms@{Bds::DataFileIms}}
\doxysubsubsection{\texorpdfstring{open()}{open()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Ims\+::open (\begin{DoxyParamCaption}\item[{\textbf{ BString}}]{file\+Name,  }\item[{\textbf{ BString}}]{mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Open the file for read or write. 


\begin{DoxyParams}{Parameters}
{\em file\+Name} & The filename to open. Can be a full path or relative path to the current working directory \\
\hline
{\em mode} & The open mode. Can be \"{}r\"{} or \"{}w\"{}.\\
\hline
\end{DoxyParams}
Opens a file of the gievn file format 

Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_a5e5185a9cef9ea911c477d1bc2c74274}{Bds\+::\+Data\+File}}.

\Hypertarget{classBds_1_1DataFileIms_a7e82a7bd00f23e49a83435b3436f965c}\label{classBds_1_1DataFileIms_a7e82a7bd00f23e49a83435b3436f965c} 
\index{Bds::DataFileIms@{Bds::DataFileIms}!close@{close}}
\index{close@{close}!Bds::DataFileIms@{Bds::DataFileIms}}
\doxysubsubsection{\texorpdfstring{close()}{close()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Ims\+::close (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Close the file. 



Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_a6b092b444ba4a8b1c2b24587e06a054d}{Bds\+::\+Data\+File}}.

\Hypertarget{classBds_1_1DataFileIms_af4c91c8e58a616923a0ba767589d0aae}\label{classBds_1_1DataFileIms_af4c91c8e58a616923a0ba767589d0aae} 
\index{Bds::DataFileIms@{Bds::DataFileIms}!getDataOrder@{getDataOrder}}
\index{getDataOrder@{getDataOrder}!Bds::DataFileIms@{Bds::DataFileIms}}
\doxysubsubsection{\texorpdfstring{getDataOrder()}{getDataOrder()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}{Data\+File\+::\+Data\+Order}} Bds\+::\+Data\+File\+Ims\+::get\+Data\+Order (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the expected order of writing data, by sample or by channel. 



Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_ae014b357c1b718954946bfa343aa30c2}{Bds\+::\+Data\+File}}.

\Hypertarget{classBds_1_1DataFileIms_ab767744e892004f4bb5a2323ab1e7c6e}\label{classBds_1_1DataFileIms_ab767744e892004f4bb5a2323ab1e7c6e} 
\index{Bds::DataFileIms@{Bds::DataFileIms}!getFeatures@{getFeatures}}
\index{getFeatures@{getFeatures}!Bds::DataFileIms@{Bds::DataFileIms}}
\doxysubsubsection{\texorpdfstring{getFeatures()}{getFeatures()}}
{\footnotesize\ttfamily int Bds\+::\+Data\+File\+Ims\+::get\+Features (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get bitmask of supported features. 

Returns a bit mask of the data converters featurs from the set Feature\+Can\+Write = 0x01 and Feature\+Can\+Read = 0x02 

Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_a3ec43698267866785d212e4d962e8d82}{Bds\+::\+Data\+File}}.

\Hypertarget{classBds_1_1DataFileIms_a97dd4140ef75cda8f397443f74cfe1c4}\label{classBds_1_1DataFileIms_a97dd4140ef75cda8f397443f74cfe1c4} 
\index{Bds::DataFileIms@{Bds::DataFileIms}!setInfo@{setInfo}}
\index{setInfo@{setInfo}!Bds::DataFileIms@{Bds::DataFileIms}}
\doxysubsubsection{\texorpdfstring{setInfo()}{setInfo()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Ims\+::set\+Info (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&}]{data\+Info,  }\item[{const \mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&}]{channel\+Infos,  }\item[{\mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153}{Write\+Options\+List}}}]{options = {\ttfamily \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a8f2ee64a0b135b2b02c046f087e54b52}{Write\+Option\+None}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Set information on data for write. 


\begin{DoxyParams}{Parameters}
{\em data\+Info} & Info on the \doxylink{classBds_1_1Sensor}{Sensor} data channels to be written \\
\hline
{\em channel\+Infos} & The metadata for the data channels \\
\hline
{\em options} & A bitmask of options including\+: Write\+Option\+Sensor\+Data, Write\+Option\+No\+Metadata Write\+Option\+Sensor\+Data\+: Writes \doxylink{classBds_1_1Sensor}{Sensor} data to the file Write\+Option\+No\+Metadata\+: Disable the writing of Metadata\\
\hline
\end{DoxyParams}
This function provides the information to create and write to a data file of this given format. 

Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_a8fbb4e7ed82855bbcb0bde4afdc61e51}{Bds\+::\+Data\+File}}.

\Hypertarget{classBds_1_1DataFileIms_a90cb2ed38b935c2f7975766845d87f6c}\label{classBds_1_1DataFileIms_a90cb2ed38b935c2f7975766845d87f6c} 
\index{Bds::DataFileIms@{Bds::DataFileIms}!start@{start}}
\index{start@{start}!Bds::DataFileIms@{Bds::DataFileIms}}
\doxysubsubsection{\texorpdfstring{start()}{start()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Ims\+::start (\begin{DoxyParamCaption}\item[{\textbf{ BUInt}}]{channel,  }\item[{\textbf{ BUInt}}]{segment }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Start writing next segment of data. 


\begin{DoxyParams}{Parameters}
{\em channel} & The \doxylink{classBds_1_1Channel}{Channel} number, 0 for all channels if multiple channel \\
\hline
{\em segment} & The data segment number\\
\hline
\end{DoxyParams}
This starts writing a contiguous time segment of data to the file. It might write a section header etc depending of the file format 

Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_a9d3bf9eecf58dcfe276fcb6ceeec00b2}{Bds\+::\+Data\+File}}.

\Hypertarget{classBds_1_1DataFileIms_ad6686797b3e2809454081b6147293792}\label{classBds_1_1DataFileIms_ad6686797b3e2809454081b6147293792} 
\index{Bds::DataFileIms@{Bds::DataFileIms}!writeData@{writeData}}
\index{writeData@{writeData}!Bds::DataFileIms@{Bds::DataFileIms}}
\doxysubsubsection{\texorpdfstring{writeData()}{writeData()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Ims\+::write\+Data (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Write a block of data. 


\begin{DoxyParams}{Parameters}
{\em data} & A block of data\\
\hline
\end{DoxyParams}
This writes a block of data to the file 

Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_a161e7f9481b0a75c886049facff60aaf}{Bds\+::\+Data\+File}}.

\Hypertarget{classBds_1_1DataFileIms_ac9d709d063888ebd719f58c016e90683}\label{classBds_1_1DataFileIms_ac9d709d063888ebd719f58c016e90683} 
\index{Bds::DataFileIms@{Bds::DataFileIms}!end@{end}}
\index{end@{end}!Bds::DataFileIms@{Bds::DataFileIms}}
\doxysubsubsection{\texorpdfstring{end()}{end()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Ims\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



End write segment. 

This defines the end of a data segment. 

Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_af854a685f63f43f1d45f52e40f6a7b1f}{Bds\+::\+Data\+File}}.

\Hypertarget{classBds_1_1DataFileIms_a20a76c6d494a28780deb0e3ffa6f863f}\label{classBds_1_1DataFileIms_a20a76c6d494a28780deb0e3ffa6f863f} 
\index{Bds::DataFileIms@{Bds::DataFileIms}!getMetaData@{getMetaData}}
\index{getMetaData@{getMetaData}!Bds::DataFileIms@{Bds::DataFileIms}}
\doxysubsubsection{\texorpdfstring{getMetaData()}{getMetaData()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Ims\+::get\+Meta\+Data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&}]{channel\+Infos,  }\item[{\textbf{ BUInt32}}]{options,  }\item[{\textbf{ BList}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&}]{errors }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Return all known Meta\+Data in the file. 


\begin{DoxyParams}{Parameters}
{\em channel\+Infos} & The Metadata in the file is returned in this \\
\hline
{\em options} & This operators similarly to the get\+Info options although some features are not relevent \\
\hline
{\em errors} & Returns a list of errors and/or warnings\\
\hline
\end{DoxyParams}
This function is similar to get\+Info except that it returns the list of \doxylink{classBds_1_1Channel}{Channel} metadata in the file if any. Only certain formats can provide this. 

Reimplemented from \mbox{\hyperlink{classBds_1_1DataFile_a817b26d6176374820f2e88e92986a0f0}{Bds\+::\+Data\+File}}.

\Hypertarget{classBds_1_1DataFileIms_ac3ded7017cbb73751c0591d15bcc9511}\label{classBds_1_1DataFileIms_ac3ded7017cbb73751c0591d15bcc9511} 
\index{Bds::DataFileIms@{Bds::DataFileIms}!getFormats@{getFormats}}
\index{getFormats@{getFormats}!Bds::DataFileIms@{Bds::DataFileIms}}
\doxysubsubsection{\texorpdfstring{getFormats()}{getFormats()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceBds_abc3599496fa901d0481742571a256def}{Data\+Formats}} Bds\+::\+Data\+File\+Ims\+::get\+Formats (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
/src/blacknest/bds/bds/bds\+Data\+Lib/\mbox{\hyperlink{BdsDataFileIms_8h}{Bds\+Data\+File\+Ims.\+h}}\item 
/src/blacknest/bds/bds/bds\+Data\+Lib/\mbox{\hyperlink{BdsDataFileIms_8cpp}{Bds\+Data\+File\+Ims.\+cpp}}\end{DoxyCompactItemize}
