\hypertarget{classBds_1_1DataFile}{}\section{Bds\+::Data\+File Class Reference}
\label{classBds_1_1DataFile}\index{Bds::DataFile@{Bds::DataFile}}


This class defines the interface for generic data file access.  




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

Inheritance diagram for Bds\+::Data\+File\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=12.000000cm]{classBds_1_1DataFile}
\end{center}
\end{figure}
\subsection*{Public Types}
\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_aaf58b9061b63f11c7f96695087785dddac84f2910374c7547f766bddec5dc82d6}{Read\+Option\+Validate\+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
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classBds_1_1DataFile_a103347e61895be1fe64c7aaf1f444a39}{Data\+File}} ()
\item 
virtual \mbox{\hyperlink{classBds_1_1DataFile_a258472b18d0c88237be356ceef6a6502}{$\sim$\+Data\+File}} ()
\item 
virtual void \mbox{\hyperlink{classBds_1_1DataFile_aed55fb73a4ea3ba576e74f7b5aa48e46}{init}} ()
\begin{DoxyCompactList}\small\item\em Initialise. \end{DoxyCompactList}\item 
virtual \textbf{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFile_a5e5185a9cef9ea911c477d1bc2c74274}{open}} (\textbf{ B\+String} file\+Name, \textbf{ B\+String} mode)
\begin{DoxyCompactList}\small\item\em Open the file for read or write. \end{DoxyCompactList}\item 
virtual \textbf{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFile_a6b092b444ba4a8b1c2b24587e06a054d}{close}} ()
\begin{DoxyCompactList}\small\item\em Close the file. \end{DoxyCompactList}\item 
virtual \textbf{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFile_aae72993c3c6453edc45621745c3e79a5}{set\+Format}} (\textbf{ B\+String} format)
\begin{DoxyCompactList}\small\item\em Set the sub-\/format. \end{DoxyCompactList}\item 
virtual \textbf{ B\+String} \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_a778534baafa7e0bdcedc9f84a639b6e1}{get\+Features}} ()
\begin{DoxyCompactList}\small\item\em Get bitmask of supported features. \end{DoxyCompactList}\item 
virtual \textbf{ B\+Error} \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{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFile_a9d3bf9eecf58dcfe276fcb6ceeec00b2}{start}} (\textbf{ B\+U\+Int} channel, \textbf{ B\+U\+Int} segment)
\begin{DoxyCompactList}\small\item\em Start next segment of data. \end{DoxyCompactList}\item 
virtual \textbf{ B\+Error} \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{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFile_af854a685f63f43f1d45f52e40f6a7b1f}{end}} ()
\begin{DoxyCompactList}\small\item\em End segment. \end{DoxyCompactList}\item 
virtual \textbf{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFile_a96dc50c6852eaee8416c48bafa2c9780}{flush}} ()
\begin{DoxyCompactList}\small\item\em Flush data to disk. \end{DoxyCompactList}\item 
virtual \textbf{ B\+Error} \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{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFile_a06ee8e7a8b5446c4c333e112f61cead5}{get\+Format}} (\textbf{ B\+String} \&format)
\begin{DoxyCompactList}\small\item\em Get sub-\/format. \end{DoxyCompactList}\item 
virtual \textbf{ B\+Error} \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{ B\+List}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&errors)
\begin{DoxyCompactList}\small\item\em Get info on data. \end{DoxyCompactList}\item 
virtual \textbf{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFile_a58cb4c088df2d8d0349a3ffbd7523a02}{seek\+Block}} (\textbf{ B\+U\+Int32} channel, \textbf{ B\+U\+Int} segment, \textbf{ B\+Time\+Stamp} time, \textbf{ B\+U\+Int32} \&block\+Number, \textbf{ B\+U\+Int64} \&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{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFile_ac01f30408cfdfc4f14a36ca1f5cf2e4c}{read\+Data}} (\textbf{ B\+U\+Int32} channel, \textbf{ B\+U\+Int} segment, \textbf{ B\+U\+Int32} block\+Number, \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&data\+Block)
\begin{DoxyCompactList}\small\item\em Read a block. \end{DoxyCompactList}\item 
virtual \textbf{ B\+Error} \mbox{\hyperlink{classBds_1_1DataFile_a396b0adf9d97f4907ddffb9d81301119}{get\+Meta\+Data}} (\mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos)
\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{ B\+List}$<$ \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{ B\+Int64} \mbox{\hyperlink{classBds_1_1DataFile_a224df8deb335c2c12bd122a8969d2bc6}{time\+Compare}} (\textbf{ B\+Time\+Stamp} t1, \textbf{ B\+Time\+Stamp} t2, \textbf{ B\+U\+Int} 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{ B\+U\+Int} channel=0)
\begin{DoxyCompactList}\small\item\em Check if blocks are duplicates. \end{DoxyCompactList}\item 
\textbf{ B\+U\+Int64} \mbox{\hyperlink{classBds_1_1DataFile_ad89a5ba6ff64e2dee34b5b92d3880f5f}{get\+File\+Position}} ()
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{classBds_1_1DataFormat}{Data\+Format}} \mbox{\hyperlink{classBds_1_1DataFile_ab86ecca8a9933ba959ba48bf53aa5137}{get\+Formats}} ()
\begin{DoxyCompactList}\small\item\em Get list of supported formats. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\textbf{ B\+String} \mbox{\hyperlink{classBds_1_1DataFile_a13ed47a010d5767ce5479588810f49d2}{ofile\+Name}}
\item 
\textbf{ B\+String} \mbox{\hyperlink{classBds_1_1DataFile_ac77be042e2ff851beec76d754a591969}{omode}}
\item 
\textbf{ B\+Time\+Stamp} \mbox{\hyperlink{classBds_1_1DataFile_ad7514c27012dba2e4fc709f06ebd67ac}{ofile\+Name\+Time}}
\item 
\textbf{ B\+File} \mbox{\hyperlink{classBds_1_1DataFile_aba43ea13af8152dfc3a63fb08037ff00}{ofile}}
\item 
\textbf{ B\+String} \mbox{\hyperlink{classBds_1_1DataFile_a9cc54891edde3cd7e84b036407739611}{oformat}}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
This class defines the interface for generic data file access. 

\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}\label{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}} 
\index{Bds::DataFile@{Bds::DataFile}!DataOrder@{DataOrder}}
\index{DataOrder@{DataOrder}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{DataOrder}{DataOrder}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}{Bds\+::\+Data\+File\+::\+Data\+Order}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{DataOrderUnknown@{DataOrderUnknown}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!DataOrderUnknown@{DataOrderUnknown}}}\mbox{\Hypertarget{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07aedfe73815587b56ef261a8c1d140dc3a}\label{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07aedfe73815587b56ef261a8c1d140dc3a}} 
Data\+Order\+Unknown&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{DataOrderAll@{DataOrderAll}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!DataOrderAll@{DataOrderAll}}}\mbox{\Hypertarget{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07a8514fa29aaaef629fa17968e22f08faa}\label{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07a8514fa29aaaef629fa17968e22f08faa}} 
Data\+Order\+All&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{DataOrderSample@{DataOrderSample}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!DataOrderSample@{DataOrderSample}}}\mbox{\Hypertarget{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07ae416600bdc7bb6df53290742790d223a}\label{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07ae416600bdc7bb6df53290742790d223a}} 
Data\+Order\+Sample&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{DataOrderChannel@{DataOrderChannel}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!DataOrderChannel@{DataOrderChannel}}}\mbox{\Hypertarget{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07add00ddd15c08b1f724360661bf98c7cd}\label{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07add00ddd15c08b1f724360661bf98c7cd}} 
Data\+Order\+Channel&\\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005c}\label{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005c}} 
\index{Bds::DataFile@{Bds::DataFile}!Features@{Features}}
\index{Features@{Features}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{Features}{Features}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005c}{Bds\+::\+Data\+File\+::\+Features}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{FeatureNone@{FeatureNone}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!FeatureNone@{FeatureNone}}}\mbox{\Hypertarget{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005caeeb908ca4fd8d867bd3214f8ddd80342}\label{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005caeeb908ca4fd8d867bd3214f8ddd80342}} 
Feature\+None&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{FeatureCanWrite@{FeatureCanWrite}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!FeatureCanWrite@{FeatureCanWrite}}}\mbox{\Hypertarget{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005ca80851a44fa570a3e14efcfab53234b24}\label{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005ca80851a44fa570a3e14efcfab53234b24}} 
Feature\+Can\+Write&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{FeatureCanRead@{FeatureCanRead}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!FeatureCanRead@{FeatureCanRead}}}\mbox{\Hypertarget{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005ca90d9cd6adf0ec236e74b354541d9f4a4}\label{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005ca90d9cd6adf0ec236e74b354541d9f4a4}} 
Feature\+Can\+Read&\\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddd}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddd}} 
\index{Bds::DataFile@{Bds::DataFile}!ReadOptionsList@{ReadOptionsList}}
\index{ReadOptionsList@{ReadOptionsList}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{ReadOptionsList}{ReadOptionsList}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddd}{Bds\+::\+Data\+File\+::\+Read\+Options\+List}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionNone@{ReadOptionNone}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionNone@{ReadOptionNone}}}\mbox{\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddae49e5a11b7d48edb36335e4d8f0825cb}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddae49e5a11b7d48edb36335e4d8f0825cb}} 
Read\+Option\+None&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionValidate@{ReadOptionValidate}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionValidate@{ReadOptionValidate}}}\mbox{\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda5f58a7921d0a5dd558dca90cfbe667b0}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda5f58a7921d0a5dd558dca90cfbe667b0}} 
Read\+Option\+Validate&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionFileNameProcess@{ReadOptionFileNameProcess}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionFileNameProcess@{ReadOptionFileNameProcess}}}\mbox{\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda888fc70f21636d6ffedcfaf3b2ffa7c2}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda888fc70f21636d6ffedcfaf3b2ffa7c2}} 
Read\+Option\+File\+Name\+Process&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionValidateCorruptions@{ReadOptionValidateCorruptions}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionValidateCorruptions@{ReadOptionValidateCorruptions}}}\mbox{\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddac84f2910374c7547f766bddec5dc82d6}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddac84f2910374c7547f766bddec5dc82d6}} 
Read\+Option\+Validate\+Corruptions&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionReorder@{ReadOptionReorder}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionReorder@{ReadOptionReorder}}}\mbox{\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda72d10a6f53b4df793d2c9c606dbd6892}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda72d10a6f53b4df793d2c9c606dbd6892}} 
Read\+Option\+Reorder&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionDeleteDuplicates@{ReadOptionDeleteDuplicates}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionDeleteDuplicates@{ReadOptionDeleteDuplicates}}}\mbox{\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda79066b8186a596f194b01b3b2a410b0b}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda79066b8186a596f194b01b3b2a410b0b}} 
Read\+Option\+Delete\+Duplicates&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionInfoExtra@{ReadOptionInfoExtra}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionInfoExtra@{ReadOptionInfoExtra}}}\mbox{\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddac1aa7df91660649215b69706c75ae363}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddac1aa7df91660649215b69706c75ae363}} 
Read\+Option\+Info\+Extra&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionIgnoreSamplerate@{ReadOptionIgnoreSamplerate}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionIgnoreSamplerate@{ReadOptionIgnoreSamplerate}}}\mbox{\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddae08fddd3c7a0392bc3950b8b2527d1fc}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddae08fddd3c7a0392bc3950b8b2527d1fc}} 
Read\+Option\+Ignore\+Samplerate&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionPrintBlocks@{ReadOptionPrintBlocks}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionPrintBlocks@{ReadOptionPrintBlocks}}}\mbox{\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda831de6701cd13361e95680da2da6933d}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda831de6701cd13361e95680da2da6933d}} 
Read\+Option\+Print\+Blocks&\\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153}\label{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153}} 
\index{Bds::DataFile@{Bds::DataFile}!WriteOptionsList@{WriteOptionsList}}
\index{WriteOptionsList@{WriteOptionsList}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{WriteOptionsList}{WriteOptionsList}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153}{Bds\+::\+Data\+File\+::\+Write\+Options\+List}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{WriteOptionNone@{WriteOptionNone}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!WriteOptionNone@{WriteOptionNone}}}\mbox{\Hypertarget{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a8f2ee64a0b135b2b02c046f087e54b52}\label{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a8f2ee64a0b135b2b02c046f087e54b52}} 
Write\+Option\+None&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{WriteOptionSensorData@{WriteOptionSensorData}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!WriteOptionSensorData@{WriteOptionSensorData}}}\mbox{\Hypertarget{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a420fa6e5eaacb8e210c3ade68bbe64e6}\label{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a420fa6e5eaacb8e210c3ade68bbe64e6}} 
Write\+Option\+Sensor\+Data&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{WriteOptionNoMetadata@{WriteOptionNoMetadata}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!WriteOptionNoMetadata@{WriteOptionNoMetadata}}}\mbox{\Hypertarget{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153ab2a1e07b760736fa19c5099e6509fb18}\label{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153ab2a1e07b760736fa19c5099e6509fb18}} 
Write\+Option\+No\+Metadata&\\
\hline

\end{DoxyEnumFields}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classBds_1_1DataFile_a103347e61895be1fe64c7aaf1f444a39}\label{classBds_1_1DataFile_a103347e61895be1fe64c7aaf1f444a39}} 
\index{Bds::DataFile@{Bds::DataFile}!DataFile@{DataFile}}
\index{DataFile@{DataFile}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{DataFile()}{DataFile()}}
{\footnotesize\ttfamily Bds\+::\+Data\+File\+::\+Data\+File (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{classBds_1_1DataFile_a258472b18d0c88237be356ceef6a6502}\label{classBds_1_1DataFile_a258472b18d0c88237be356ceef6a6502}} 
\index{Bds::DataFile@{Bds::DataFile}!````~DataFile@{$\sim$DataFile}}
\index{````~DataFile@{$\sim$DataFile}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{$\sim$DataFile()}{~DataFile()}}
{\footnotesize\ttfamily Bds\+::\+Data\+File\+::$\sim$\+Data\+File (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classBds_1_1DataFile_a6b092b444ba4a8b1c2b24587e06a054d}\label{classBds_1_1DataFile_a6b092b444ba4a8b1c2b24587e06a054d}} 
\index{Bds::DataFile@{Bds::DataFile}!close@{close}}
\index{close@{close}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{close()}{close()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::close (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Close the file. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileBds_ab3a6d88ce6b91c767b2a6dfde0eaa322}{Bds\+::\+Data\+File\+Bds}}, and \mbox{\hyperlink{classBds_1_1DataFileIms_a7e82a7bd00f23e49a83435b3436f965c}{Bds\+::\+Data\+File\+Ims}}.

\mbox{\Hypertarget{classBds_1_1DataFile_a4001451e1254eb344f032eb284d189d9}\label{classBds_1_1DataFile_a4001451e1254eb344f032eb284d189d9}} 
\index{Bds::DataFile@{Bds::DataFile}!dataErrorFixup@{dataErrorFixup}}
\index{dataErrorFixup@{dataErrorFixup}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{dataErrorFixup()}{dataErrorFixup()}}
{\footnotesize\ttfamily void Bds\+::\+Data\+File\+::data\+Error\+Fixup (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&}]{data\+Info,  }\item[{\textbf{ B\+List}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&}]{errors }\end{DoxyParamCaption})}



Fixup data errors, mainly start/end times to be within data. 

\mbox{\Hypertarget{classBds_1_1DataFile_a0417d087d2711f28a6de45ac258ddbca}\label{classBds_1_1DataFile_a0417d087d2711f28a6de45ac258ddbca}} 
\index{Bds::DataFile@{Bds::DataFile}!duplicateCheck@{duplicateCheck}}
\index{duplicateCheck@{duplicateCheck}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{duplicateCheck()}{duplicateCheck()}}
{\footnotesize\ttfamily int Bds\+::\+Data\+File\+::duplicate\+Check (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&}]{data1,  }\item[{const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&}]{data2,  }\item[{\textbf{ B\+U\+Int}}]{channel = {\ttfamily 0} }\end{DoxyParamCaption})}



Check if blocks are duplicates. 

\mbox{\Hypertarget{classBds_1_1DataFile_af854a685f63f43f1d45f52e40f6a7b1f}\label{classBds_1_1DataFile_af854a685f63f43f1d45f52e40f6a7b1f}} 
\index{Bds::DataFile@{Bds::DataFile}!end@{end}}
\index{end@{end}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{end()}{end()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



End segment. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileLog_a7d399659d6d729fcb1714ec4c97e7da5}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileAscii_a4380c24c3ecfff2e2b00ca19ff090eb0}{Bds\+::\+Data\+File\+Ascii}}, and \mbox{\hyperlink{classBds_1_1DataFileIms_ac9d709d063888ebd719f58c016e90683}{Bds\+::\+Data\+File\+Ims}}.

\mbox{\Hypertarget{classBds_1_1DataFile_a9a269d6ea626a0524c658f507271131e}\label{classBds_1_1DataFile_a9a269d6ea626a0524c658f507271131e}} 
\index{Bds::DataFile@{Bds::DataFile}!fileNameProcess@{fileNameProcess}}
\index{fileNameProcess@{fileNameProcess}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{fileNameProcess()}{fileNameProcess()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::file\+Name\+Process (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Parse the file name for a date/time. 

\mbox{\Hypertarget{classBds_1_1DataFile_a96dc50c6852eaee8416c48bafa2c9780}\label{classBds_1_1DataFile_a96dc50c6852eaee8416c48bafa2c9780}} 
\index{Bds::DataFile@{Bds::DataFile}!flush@{flush}}
\index{flush@{flush}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{flush()}{flush()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::flush (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Flush data to disk. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileBds_a0c33c30503caacb139e8290b6b98f7b1}{Bds\+::\+Data\+File\+Bds}}.

\mbox{\Hypertarget{classBds_1_1DataFile_ae014b357c1b718954946bfa343aa30c2}\label{classBds_1_1DataFile_ae014b357c1b718954946bfa343aa30c2}} 
\index{Bds::DataFile@{Bds::DataFile}!getDataOrder@{getDataOrder}}
\index{getDataOrder@{getDataOrder}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{getDataOrder()}{getDataOrder()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}{Data\+File\+::\+Data\+Order}} Bds\+::\+Data\+File\+::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 in \mbox{\hyperlink{classBds_1_1DataFileBds_ad5b071de9ddddacd5a229011b2807a5a}{Bds\+::\+Data\+File\+Bds}}, \mbox{\hyperlink{classBds_1_1DataFileCd_a12ce5be819c197f0310c4bb0f6413273}{Bds\+::\+Data\+File\+Cd}}, \mbox{\hyperlink{classBds_1_1DataFileCss_ad4af03a180359af9544a4d76a02ebaf9}{Bds\+::\+Data\+File\+Css}}, \mbox{\hyperlink{classBds_1_1DataFileGcf_a22c6f22d9fb8f64292d69a8ef9148bf5}{Bds\+::\+Data\+File\+Gcf}}, \mbox{\hyperlink{classBds_1_1DataFileIms_af4c91c8e58a616923a0ba767589d0aae}{Bds\+::\+Data\+File\+Ims}}, \mbox{\hyperlink{classBds_1_1DataFileAscii_a7e58335193496fe9b1f520fd443ae580}{Bds\+::\+Data\+File\+Ascii}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a2a0b92b319addba3525b83b12bbf4b3e}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileWra_a057182738c857fcc6adf5ab394553c41}{Bds\+::\+Data\+File\+Wra}}, \mbox{\hyperlink{classBds_1_1DataFileAd22_ad36058ada76b12f65bf540f371813ed6}{Bds\+::\+Data\+File\+Ad22}}, \mbox{\hyperlink{classBds_1_1DataFileBdrs_aeb863761f5310288b5aafc3e4f10f0a2}{Bds\+::\+Data\+File\+Bdrs}}, \mbox{\hyperlink{classBds_1_1DataFileLac_aa06ba5b4052097da75bd0af7dd093196}{Bds\+::\+Data\+File\+Lac}}, and \mbox{\hyperlink{classBds_1_1DataFileWraAgso_af18aaf4bae3fc6b12f06bae9e101831f}{Bds\+::\+Data\+File\+Wra\+Agso}}.

\mbox{\Hypertarget{classBds_1_1DataFile_a778534baafa7e0bdcedc9f84a639b6e1}\label{classBds_1_1DataFile_a778534baafa7e0bdcedc9f84a639b6e1}} 
\index{Bds::DataFile@{Bds::DataFile}!getFeatures@{getFeatures}}
\index{getFeatures@{getFeatures}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{getFeatures()}{getFeatures()}}
{\footnotesize\ttfamily int Bds\+::\+Data\+File\+::get\+Features (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get bitmask of supported features. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileCd_a96f39d95665a2916b63dcf17a24b3c69}{Bds\+::\+Data\+File\+Cd}}, \mbox{\hyperlink{classBds_1_1DataFileCss_a3fba8568106692cc4b9b78d0f3ec6ab9}{Bds\+::\+Data\+File\+Css}}, \mbox{\hyperlink{classBds_1_1DataFileGcf_a0a3fa01e447f2edf7ca21add6de34fc0}{Bds\+::\+Data\+File\+Gcf}}, \mbox{\hyperlink{classBds_1_1DataFileIms_ab767744e892004f4bb5a2323ab1e7c6e}{Bds\+::\+Data\+File\+Ims}}, \mbox{\hyperlink{classBds_1_1DataFileAscii_ad896a7cd438f1e0049120ca830fe067d}{Bds\+::\+Data\+File\+Ascii}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a08747782c366981b90be4a6d26e8f89b}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileResponse_a38b8f611a9f18713f77e252285bac891}{Bds\+::\+Data\+File\+Response}}, \mbox{\hyperlink{classBds_1_1DataFileSac_a5b190bb50f2e08d6c1c70aa38d4e3dd8}{Bds\+::\+Data\+File\+Sac}}, \mbox{\hyperlink{classBds_1_1DataFileWra_af3a0d927f7f65408d0f5d3295d8829ae}{Bds\+::\+Data\+File\+Wra}}, \mbox{\hyperlink{classBds_1_1DataFileAd22_a2ac0075e9008e4dcd89339e2ddffec2a}{Bds\+::\+Data\+File\+Ad22}}, \mbox{\hyperlink{classBds_1_1DataFileBdrs_aee81f378095f18103f8a0f48f69008e0}{Bds\+::\+Data\+File\+Bdrs}}, \mbox{\hyperlink{classBds_1_1DataFileLac_af33b0c20620f711b3633393c3144d40a}{Bds\+::\+Data\+File\+Lac}}, and \mbox{\hyperlink{classBds_1_1DataFileWraAgso_abd47ebdf5b847198a536ccecf502a50f}{Bds\+::\+Data\+File\+Wra\+Agso}}.

\mbox{\Hypertarget{classBds_1_1DataFile_a472656e7a1bf29cb1287576f7670ec42}\label{classBds_1_1DataFile_a472656e7a1bf29cb1287576f7670ec42}} 
\index{Bds::DataFile@{Bds::DataFile}!getFileName@{getFileName}}
\index{getFileName@{getFileName}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{getFileName()}{getFileName()}}
{\footnotesize\ttfamily \textbf{ B\+String} Bds\+::\+Data\+File\+::get\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Return the file name. 

\mbox{\Hypertarget{classBds_1_1DataFile_ad89a5ba6ff64e2dee34b5b92d3880f5f}\label{classBds_1_1DataFile_ad89a5ba6ff64e2dee34b5b92d3880f5f}} 
\index{Bds::DataFile@{Bds::DataFile}!getFilePosition@{getFilePosition}}
\index{getFilePosition@{getFilePosition}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{getFilePosition()}{getFilePosition()}}
{\footnotesize\ttfamily \textbf{ B\+U\+Int64} Bds\+::\+Data\+File\+::get\+File\+Position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{classBds_1_1DataFile_a06ee8e7a8b5446c4c333e112f61cead5}\label{classBds_1_1DataFile_a06ee8e7a8b5446c4c333e112f61cead5}} 
\index{Bds::DataFile@{Bds::DataFile}!getFormat@{getFormat}}
\index{getFormat@{getFormat}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{getFormat()}{getFormat()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::get\+Format (\begin{DoxyParamCaption}\item[{\textbf{ B\+String} \&}]{format }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get sub-\/format. 

\mbox{\Hypertarget{classBds_1_1DataFile_ab86ecca8a9933ba959ba48bf53aa5137}\label{classBds_1_1DataFile_ab86ecca8a9933ba959ba48bf53aa5137}} 
\index{Bds::DataFile@{Bds::DataFile}!getFormats@{getFormats}}
\index{getFormats@{getFormats}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{getFormats()}{getFormats()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classBds_1_1DataFormat}{Data\+Format}} Bds\+::\+Data\+File\+::get\+Formats (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get list of supported formats. 

\mbox{\Hypertarget{classBds_1_1DataFile_a041d380065710c74fd509a28d63bf667}\label{classBds_1_1DataFile_a041d380065710c74fd509a28d63bf667}} 
\index{Bds::DataFile@{Bds::DataFile}!getInfo@{getInfo}}
\index{getInfo@{getInfo}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{getInfo()}{getInfo()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::get\+Info (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&}]{data\+Info,  }\item[{\mbox{\hyperlink{classBds_1_1DataFileOptions}{Data\+File\+Options}}}]{options,  }\item[{\textbf{ B\+List}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&}]{errors }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get info on data. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileBds_a6d4fb7826206a6127695430439bbf119}{Bds\+::\+Data\+File\+Bds}}, \mbox{\hyperlink{classBds_1_1DataFileCd_a003e99b7f5bd092716ba5056bf84fdb4}{Bds\+::\+Data\+File\+Cd}}, \mbox{\hyperlink{classBds_1_1DataFileCss_a0e705496477dde0ad05d5b65983c653e}{Bds\+::\+Data\+File\+Css}}, \mbox{\hyperlink{classBds_1_1DataFileGcf_ad8430682f5accd3620e83b19df12a1e9}{Bds\+::\+Data\+File\+Gcf}}, \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_ad4aa49e71065ee1ca1383a2cbcb9db23}{Bds\+::\+Data\+File\+Tape\+Digitiser}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a4614c19c241e31f98671a3d7cd18abf4}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileWra_ab6fa1427b2792f4626f5ffeea6d88bec}{Bds\+::\+Data\+File\+Wra}}, \mbox{\hyperlink{classBds_1_1DataFileAd22_a5c35955198bfc2aced25515fd3c55264}{Bds\+::\+Data\+File\+Ad22}}, \mbox{\hyperlink{classBds_1_1DataFileBdrs_a6bdb2fe7020b6ff4d946e90824be8898}{Bds\+::\+Data\+File\+Bdrs}}, \mbox{\hyperlink{classBds_1_1DataFileLac_ac87072e6071c1b103f53bb6e785cdf03}{Bds\+::\+Data\+File\+Lac}}, and \mbox{\hyperlink{classBds_1_1DataFileWraAgso_a623db7a02778b126e5352ce8e6515b26}{Bds\+::\+Data\+File\+Wra\+Agso}}.

\mbox{\Hypertarget{classBds_1_1DataFile_a396b0adf9d97f4907ddffb9d81301119}\label{classBds_1_1DataFile_a396b0adf9d97f4907ddffb9d81301119}} 
\index{Bds::DataFile@{Bds::DataFile}!getMetaData@{getMetaData}}
\index{getMetaData@{getMetaData}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{getMetaData()}{getMetaData()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::get\+Meta\+Data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&}]{channel\+Infos }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Return all known Meta\+Data in the file. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileIms_a245991184f4fba45d497551675548fde}{Bds\+::\+Data\+File\+Ims}}, and \mbox{\hyperlink{classBds_1_1DataFileResponse_adb4071057d799cbee3a974eeb349478b}{Bds\+::\+Data\+File\+Response}}.

\mbox{\Hypertarget{classBds_1_1DataFile_aed55fb73a4ea3ba576e74f7b5aa48e46}\label{classBds_1_1DataFile_aed55fb73a4ea3ba576e74f7b5aa48e46}} 
\index{Bds::DataFile@{Bds::DataFile}!init@{init}}
\index{init@{init}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{init()}{init()}}
{\footnotesize\ttfamily void Bds\+::\+Data\+File\+::init (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Initialise. 

\mbox{\Hypertarget{classBds_1_1DataFile_a5e5185a9cef9ea911c477d1bc2c74274}\label{classBds_1_1DataFile_a5e5185a9cef9ea911c477d1bc2c74274}} 
\index{Bds::DataFile@{Bds::DataFile}!open@{open}}
\index{open@{open}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{open()}{open()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::open (\begin{DoxyParamCaption}\item[{\textbf{ B\+String}}]{file\+Name,  }\item[{\textbf{ B\+String}}]{mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Open the file for read or write. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileBds_a31d32aa8a487419beb1c492a44324737}{Bds\+::\+Data\+File\+Bds}}, \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a1e2fa2769b490954c9fe59630c9c3909}{Bds\+::\+Data\+File\+Tape\+Digitiser}}, \mbox{\hyperlink{classBds_1_1DataFileAscii_a43c21944a85c1c039c6fed83a1f156f1}{Bds\+::\+Data\+File\+Ascii}}, \mbox{\hyperlink{classBds_1_1DataFileBknas_a1a89880c928a1af1aefab68421f3d9a2}{Bds\+::\+Data\+File\+Bknas}}, \mbox{\hyperlink{classBds_1_1DataFileIms_aae684362d877b7361736fa9a6614e1ec}{Bds\+::\+Data\+File\+Ims}}, and \mbox{\hyperlink{classBds_1_1DataFileLog_a154333da083ac91b7f169d1983dccba5}{Bds\+::\+Data\+File\+Log}}.

\mbox{\Hypertarget{classBds_1_1DataFile_ac01f30408cfdfc4f14a36ca1f5cf2e4c}\label{classBds_1_1DataFile_ac01f30408cfdfc4f14a36ca1f5cf2e4c}} 
\index{Bds::DataFile@{Bds::DataFile}!readData@{readData}}
\index{readData@{readData}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{readData()}{readData()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::read\+Data (\begin{DoxyParamCaption}\item[{\textbf{ B\+U\+Int32}}]{channel,  }\item[{\textbf{ B\+U\+Int}}]{segment,  }\item[{\textbf{ B\+U\+Int32}}]{block\+Number,  }\item[{\mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&}]{data\+Block }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Read a block. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileBds_a159884e047e0912b4478ac83c24ce211}{Bds\+::\+Data\+File\+Bds}}, \mbox{\hyperlink{classBds_1_1DataFileCd_a4a3e0c63085a1f7beaded52595082617}{Bds\+::\+Data\+File\+Cd}}, \mbox{\hyperlink{classBds_1_1DataFileCss_a54356a26d5a01aeeb04a776e55bbb2ce}{Bds\+::\+Data\+File\+Css}}, \mbox{\hyperlink{classBds_1_1DataFileGcf_a55fc7c779ea6200b6d387abcc3091c3c}{Bds\+::\+Data\+File\+Gcf}}, \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a18a44e290aef3b75dec2fd47592d9ee3}{Bds\+::\+Data\+File\+Tape\+Digitiser}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a2bff29beb50327c0720668aee6ce6a2e}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileWra_afeb87f5e2a3d22cf30b86d8d18d1d7cb}{Bds\+::\+Data\+File\+Wra}}, \mbox{\hyperlink{classBds_1_1DataFileAd22_ace2dc4af9b8ee639ddbf845557858e5f}{Bds\+::\+Data\+File\+Ad22}}, \mbox{\hyperlink{classBds_1_1DataFileBdrs_a40ab05a008fd7831bd99ebe59f6a27c3}{Bds\+::\+Data\+File\+Bdrs}}, \mbox{\hyperlink{classBds_1_1DataFileLac_ab0e7d97a4e6d9123b0c16cd68c3439bf}{Bds\+::\+Data\+File\+Lac}}, and \mbox{\hyperlink{classBds_1_1DataFileWraAgso_ae08eaf93d26b8530f5d4b6c3eb2752cb}{Bds\+::\+Data\+File\+Wra\+Agso}}.

\mbox{\Hypertarget{classBds_1_1DataFile_a58cb4c088df2d8d0349a3ffbd7523a02}\label{classBds_1_1DataFile_a58cb4c088df2d8d0349a3ffbd7523a02}} 
\index{Bds::DataFile@{Bds::DataFile}!seekBlock@{seekBlock}}
\index{seekBlock@{seekBlock}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{seekBlock()}{seekBlock()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::seek\+Block (\begin{DoxyParamCaption}\item[{\textbf{ B\+U\+Int32}}]{channel,  }\item[{\textbf{ B\+U\+Int}}]{segment,  }\item[{\textbf{ B\+Time\+Stamp}}]{time,  }\item[{\textbf{ B\+U\+Int32} \&}]{block\+Number,  }\item[{\textbf{ B\+U\+Int64} \&}]{sample\+Number,  }\item[{\mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Find requested block on given channel given a time. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileBds_abc475489eb35d6045ef83ba95bede4e2}{Bds\+::\+Data\+File\+Bds}}.

\mbox{\Hypertarget{classBds_1_1DataFile_aae72993c3c6453edc45621745c3e79a5}\label{classBds_1_1DataFile_aae72993c3c6453edc45621745c3e79a5}} 
\index{Bds::DataFile@{Bds::DataFile}!setFormat@{setFormat}}
\index{setFormat@{setFormat}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{setFormat()}{setFormat()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::set\+Format (\begin{DoxyParamCaption}\item[{\textbf{ B\+String}}]{format }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Set the sub-\/format. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileBds_a48a4a325c8d30556f08cfaf003907b01}{Bds\+::\+Data\+File\+Bds}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a2040aabfd1b1fe60a0de8fcaf26dd879}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileAscii_ac26624db4192a2ccb774d358b17e4897}{Bds\+::\+Data\+File\+Ascii}}, and \mbox{\hyperlink{classBds_1_1DataFileWra_ad2ccb88b616b6f1bb34e3e82eef440cd}{Bds\+::\+Data\+File\+Wra}}.

\mbox{\Hypertarget{classBds_1_1DataFile_a8fbb4e7ed82855bbcb0bde4afdc61e51}\label{classBds_1_1DataFile_a8fbb4e7ed82855bbcb0bde4afdc61e51}} 
\index{Bds::DataFile@{Bds::DataFile}!setInfo@{setInfo}}
\index{setInfo@{setInfo}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{setInfo()}{setInfo()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::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. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileBds_a07a4348e56ccd58b5a4dab74a39645a7}{Bds\+::\+Data\+File\+Bds}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a3c1254edfeffd4b2cc4e3037e588e749}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileResponse_ad7676aa03a3dcffc327bc47466722b9d}{Bds\+::\+Data\+File\+Response}}, \mbox{\hyperlink{classBds_1_1DataFileAscii_a08a93477a2cb73a337b1a7770877bf07}{Bds\+::\+Data\+File\+Ascii}}, \mbox{\hyperlink{classBds_1_1DataFileIms_a97dd4140ef75cda8f397443f74cfe1c4}{Bds\+::\+Data\+File\+Ims}}, \mbox{\hyperlink{classBds_1_1DataFileBknas_aa32246c2b8962998a8e56a6383597f99}{Bds\+::\+Data\+File\+Bknas}}, and \mbox{\hyperlink{classBds_1_1DataFileSac_a725d6dce7036197469bc7bcf1344706e}{Bds\+::\+Data\+File\+Sac}}.

\mbox{\Hypertarget{classBds_1_1DataFile_a9d3bf9eecf58dcfe276fcb6ceeec00b2}\label{classBds_1_1DataFile_a9d3bf9eecf58dcfe276fcb6ceeec00b2}} 
\index{Bds::DataFile@{Bds::DataFile}!start@{start}}
\index{start@{start}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{start()}{start()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::start (\begin{DoxyParamCaption}\item[{\textbf{ B\+U\+Int}}]{channel,  }\item[{\textbf{ B\+U\+Int}}]{segment }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Start next segment of data. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileLog_a5a319163903ffc76151588c95b2e23a2}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileAscii_a448f9aa38af177abefeef1f7ae3d9271}{Bds\+::\+Data\+File\+Ascii}}, and \mbox{\hyperlink{classBds_1_1DataFileIms_a90cb2ed38b935c2f7975766845d87f6c}{Bds\+::\+Data\+File\+Ims}}.

\mbox{\Hypertarget{classBds_1_1DataFile_a224df8deb335c2c12bd122a8969d2bc6}\label{classBds_1_1DataFile_a224df8deb335c2c12bd122a8969d2bc6}} 
\index{Bds::DataFile@{Bds::DataFile}!timeCompare@{timeCompare}}
\index{timeCompare@{timeCompare}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{timeCompare()}{timeCompare()}}
{\footnotesize\ttfamily \textbf{ B\+Int64} Bds\+::\+Data\+File\+::time\+Compare (\begin{DoxyParamCaption}\item[{\textbf{ B\+Time\+Stamp}}]{t1,  }\item[{\textbf{ B\+Time\+Stamp}}]{t2,  }\item[{\textbf{ B\+U\+Int}}]{diff }\end{DoxyParamCaption})}



Compare timestamps with a margin. 

\mbox{\Hypertarget{classBds_1_1DataFile_a161e7f9481b0a75c886049facff60aaf}\label{classBds_1_1DataFile_a161e7f9481b0a75c886049facff60aaf}} 
\index{Bds::DataFile@{Bds::DataFile}!writeData@{writeData}}
\index{writeData@{writeData}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{writeData()}{writeData()}}
{\footnotesize\ttfamily \textbf{ B\+Error} Bds\+::\+Data\+File\+::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. 



Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileBds_ae8b8a3f95126d12eae4e765a151d0a93}{Bds\+::\+Data\+File\+Bds}}, \mbox{\hyperlink{classBds_1_1DataFileLog_acc2a580e5550a0add27da4afea5486ca}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileAscii_a25a537348e7ff6a3f468833ab47d5fd2}{Bds\+::\+Data\+File\+Ascii}}, \mbox{\hyperlink{classBds_1_1DataFileIms_ad6686797b3e2809454081b6147293792}{Bds\+::\+Data\+File\+Ims}}, and \mbox{\hyperlink{classBds_1_1DataFileBknas_aca9fe04fa67dae765868634f111d480f}{Bds\+::\+Data\+File\+Bknas}}.



\subsection{Member Data Documentation}
\mbox{\Hypertarget{classBds_1_1DataFile_aba43ea13af8152dfc3a63fb08037ff00}\label{classBds_1_1DataFile_aba43ea13af8152dfc3a63fb08037ff00}} 
\index{Bds::DataFile@{Bds::DataFile}!ofile@{ofile}}
\index{ofile@{ofile}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{ofile}{ofile}}
{\footnotesize\ttfamily \textbf{ B\+File} Bds\+::\+Data\+File\+::ofile\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classBds_1_1DataFile_a13ed47a010d5767ce5479588810f49d2}\label{classBds_1_1DataFile_a13ed47a010d5767ce5479588810f49d2}} 
\index{Bds::DataFile@{Bds::DataFile}!ofileName@{ofileName}}
\index{ofileName@{ofileName}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{ofileName}{ofileName}}
{\footnotesize\ttfamily \textbf{ B\+String} Bds\+::\+Data\+File\+::ofile\+Name\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classBds_1_1DataFile_ad7514c27012dba2e4fc709f06ebd67ac}\label{classBds_1_1DataFile_ad7514c27012dba2e4fc709f06ebd67ac}} 
\index{Bds::DataFile@{Bds::DataFile}!ofileNameTime@{ofileNameTime}}
\index{ofileNameTime@{ofileNameTime}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{ofileNameTime}{ofileNameTime}}
{\footnotesize\ttfamily \textbf{ B\+Time\+Stamp} Bds\+::\+Data\+File\+::ofile\+Name\+Time\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classBds_1_1DataFile_a9cc54891edde3cd7e84b036407739611}\label{classBds_1_1DataFile_a9cc54891edde3cd7e84b036407739611}} 
\index{Bds::DataFile@{Bds::DataFile}!oformat@{oformat}}
\index{oformat@{oformat}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{oformat}{oformat}}
{\footnotesize\ttfamily \textbf{ B\+String} Bds\+::\+Data\+File\+::oformat\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classBds_1_1DataFile_ac77be042e2ff851beec76d754a591969}\label{classBds_1_1DataFile_ac77be042e2ff851beec76d754a591969}} 
\index{Bds::DataFile@{Bds::DataFile}!omode@{omode}}
\index{omode@{omode}!Bds::DataFile@{Bds::DataFile}}
\subsubsection{\texorpdfstring{omode}{omode}}
{\footnotesize\ttfamily \textbf{ B\+String} Bds\+::\+Data\+File\+::omode\hspace{0.3cm}{\ttfamily [protected]}}



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