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


This class defines the interface for generic data file access that all of the BDS data converters share.  




{\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}
\doxysubsubsection*{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_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}
\doxysubsubsection*{Public Member Functions}
\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_1DataFile_ad6060378dfb479ac02167e61f032d7d0}{get\+Formats}} ()
\begin{DoxyCompactList}\small\item\em Get list of supported formats. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Protected Attributes}
\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}
This class defines the interface for generic data file access that all of the BDS data converters share. 

\doxysubsection{Member Enumeration Documentation}
\Hypertarget{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}\label{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07} 
\index{Bds::DataFile@{Bds::DataFile}!DataOrder@{DataOrder}}
\index{DataOrder@{DataOrder}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\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}}}\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}}}\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}}}\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}}}\Hypertarget{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07add00ddd15c08b1f724360661bf98c7cd}\label{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07add00ddd15c08b1f724360661bf98c7cd} 
Data\+Order\+Channel&\\
\hline

\end{DoxyEnumFields}
\Hypertarget{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005c}\label{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005c} 
\index{Bds::DataFile@{Bds::DataFile}!Features@{Features}}
\index{Features@{Features}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\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}}}\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}}}\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}}}\Hypertarget{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005ca90d9cd6adf0ec236e74b354541d9f4a4}\label{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005ca90d9cd6adf0ec236e74b354541d9f4a4} 
Feature\+Can\+Read&\\
\hline

\end{DoxyEnumFields}
\Hypertarget{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153}\label{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153} 
\index{Bds::DataFile@{Bds::DataFile}!WriteOptionsList@{WriteOptionsList}}
\index{WriteOptionsList@{WriteOptionsList}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\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}}}\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}}}\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}}}\Hypertarget{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153ab2a1e07b760736fa19c5099e6509fb18}\label{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153ab2a1e07b760736fa19c5099e6509fb18} 
Write\+Option\+No\+Metadata&\\
\hline

\end{DoxyEnumFields}
\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddd}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddd} 
\index{Bds::DataFile@{Bds::DataFile}!ReadOptionsList@{ReadOptionsList}}
\index{ReadOptionsList@{ReadOptionsList}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\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}}}\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}}}\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}}}\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda888fc70f21636d6ffedcfaf3b2ffa7c2}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda888fc70f21636d6ffedcfaf3b2ffa7c2} 
Read\+Option\+File\+Name\+Process&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionFixCorruptions@{ReadOptionFixCorruptions}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionFixCorruptions@{ReadOptionFixCorruptions}}}\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddab8d3256eebc227307fbd4716370b313d}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddab8d3256eebc227307fbd4716370b313d} 
Read\+Option\+Fix\+Corruptions&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionReorder@{ReadOptionReorder}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionReorder@{ReadOptionReorder}}}\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}}}\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}}}\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}}}\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}}}\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda831de6701cd13361e95680da2da6933d}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda831de6701cd13361e95680da2da6933d} 
Read\+Option\+Print\+Blocks&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ReadOptionFixSampleRate@{ReadOptionFixSampleRate}!Bds::DataFile@{Bds::DataFile}}\index{Bds::DataFile@{Bds::DataFile}!ReadOptionFixSampleRate@{ReadOptionFixSampleRate}}}\Hypertarget{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddad36f1cbea75696379c7e67ce074e2e9a}\label{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddad36f1cbea75696379c7e67ce074e2e9a} 
Read\+Option\+Fix\+Sample\+Rate&\\
\hline

\end{DoxyEnumFields}


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

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



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



Initialise. 

\Hypertarget{classBds_1_1DataFile_a5e5185a9cef9ea911c477d1bc2c74274}\label{classBds_1_1DataFile_a5e5185a9cef9ea911c477d1bc2c74274} 
\index{Bds::DataFile@{Bds::DataFile}!open@{open}}
\index{open@{open}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{open()}{open()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+::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 in \mbox{\hyperlink{classBds_1_1DataFileAscii_a43c21944a85c1c039c6fed83a1f156f1}{Bds\+::\+Data\+File\+Ascii}}, \mbox{\hyperlink{classBds_1_1DataFileBds_a31d32aa8a487419beb1c492a44324737}{Bds\+::\+Data\+File\+Bds}}, \mbox{\hyperlink{classBds_1_1DataFileBknas_a1a89880c928a1af1aefab68421f3d9a2}{Bds\+::\+Data\+File\+Bknas}}, \mbox{\hyperlink{classBds_1_1DataFileIms_aae684362d877b7361736fa9a6614e1ec}{Bds\+::\+Data\+File\+Ims}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a154333da083ac91b7f169d1983dccba5}{Bds\+::\+Data\+File\+Log}}, and \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a1e2fa2769b490954c9fe59630c9c3909}{Bds\+::\+Data\+File\+Tape\+Digitiser}}.

\Hypertarget{classBds_1_1DataFile_a6b092b444ba4a8b1c2b24587e06a054d}\label{classBds_1_1DataFile_a6b092b444ba4a8b1c2b24587e06a054d} 
\index{Bds::DataFile@{Bds::DataFile}!close@{close}}
\index{close@{close}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{close()}{close()}}
{\footnotesize\ttfamily \textbf{ BError} 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}}, \mbox{\hyperlink{classBds_1_1DataFileIms_a7e82a7bd00f23e49a83435b3436f965c}{Bds\+::\+Data\+File\+Ims}}, and \mbox{\hyperlink{classBds_1_1DataFileSeed_a249d90b8e1e4744d8823a1eda11d829d}{Bds\+::\+Data\+File\+Seed}}.

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



Set the sub-\/format. 


\begin{DoxyParams}{Parameters}
{\em format} & The data files format\\
\hline
\end{DoxyParams}
When a data converter support multiple sub-\/format, this chooses the one to use. 

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

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



Return the file name. 

\Hypertarget{classBds_1_1DataFile_ae014b357c1b718954946bfa343aa30c2}\label{classBds_1_1DataFile_ae014b357c1b718954946bfa343aa30c2} 
\index{Bds::DataFile@{Bds::DataFile}!getDataOrder@{getDataOrder}}
\index{getDataOrder@{getDataOrder}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\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_1DataFileAd22_ad36058ada76b12f65bf540f371813ed6}{Bds\+::\+Data\+File\+Ad22}}, \mbox{\hyperlink{classBds_1_1DataFileAscii_a7e58335193496fe9b1f520fd443ae580}{Bds\+::\+Data\+File\+Ascii}}, \mbox{\hyperlink{classBds_1_1DataFileBdrs_aeb863761f5310288b5aafc3e4f10f0a2}{Bds\+::\+Data\+File\+Bdrs}}, \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_1DataFileLac_aa06ba5b4052097da75bd0af7dd093196}{Bds\+::\+Data\+File\+Lac}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a2a0b92b319addba3525b83b12bbf4b3e}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileWra_a057182738c857fcc6adf5ab394553c41}{Bds\+::\+Data\+File\+Wra}}, \mbox{\hyperlink{classBds_1_1DataFileWraAgso_af18aaf4bae3fc6b12f06bae9e101831f}{Bds\+::\+Data\+File\+Wra\+Agso}}, and \mbox{\hyperlink{classBds_1_1DataFileSeed_aff7e606aa391030ffe68c34da1808b4b}{Bds\+::\+Data\+File\+Seed}}.

\Hypertarget{classBds_1_1DataFile_a3ec43698267866785d212e4d962e8d82}\label{classBds_1_1DataFile_a3ec43698267866785d212e4d962e8d82} 
\index{Bds::DataFile@{Bds::DataFile}!getFeatures@{getFeatures}}
\index{getFeatures@{getFeatures}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{getFeatures()}{getFeatures()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+::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 in \mbox{\hyperlink{classBds_1_1DataFileAd22_a2ac0075e9008e4dcd89339e2ddffec2a}{Bds\+::\+Data\+File\+Ad22}}, \mbox{\hyperlink{classBds_1_1DataFileAscii_ad896a7cd438f1e0049120ca830fe067d}{Bds\+::\+Data\+File\+Ascii}}, \mbox{\hyperlink{classBds_1_1DataFileBdrs_aee81f378095f18103f8a0f48f69008e0}{Bds\+::\+Data\+File\+Bdrs}}, \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_1DataFileIdc_a2a3147105e82c45948def1f2b4c5f80b}{Bds\+::\+Data\+File\+Idc}}, \mbox{\hyperlink{classBds_1_1DataFileIms_ab767744e892004f4bb5a2323ab1e7c6e}{Bds\+::\+Data\+File\+Ims}}, \mbox{\hyperlink{classBds_1_1DataFileLac_af33b0c20620f711b3633393c3144d40a}{Bds\+::\+Data\+File\+Lac}}, \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_1DataFileStationXml_a0960f4704d3e26e3e1472ae34ecc069a}{Bds\+::\+Data\+File\+Station\+Xml}}, \mbox{\hyperlink{classBds_1_1DataFileWra_af3a0d927f7f65408d0f5d3295d8829ae}{Bds\+::\+Data\+File\+Wra}}, \mbox{\hyperlink{classBds_1_1DataFileWraAgso_abd47ebdf5b847198a536ccecf502a50f}{Bds\+::\+Data\+File\+Wra\+Agso}}, and \mbox{\hyperlink{classBds_1_1DataFileSeed_af3d8556bc7198366808df1e2d4084188}{Bds\+::\+Data\+File\+Seed}}.

\Hypertarget{classBds_1_1DataFile_af53a17d0570a25b0b75f5fb3b13279c5}\label{classBds_1_1DataFile_af53a17d0570a25b0b75f5fb3b13279c5} 
\index{Bds::DataFile@{Bds::DataFile}!getFixesInfo@{getFixesInfo}}
\index{getFixesInfo@{getFixesInfo}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{getFixesInfo()}{getFixesInfo()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+::get\+Fixes\+Info (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get readable list of fixes that can be applied to faulty data files. 

returns a human readable string describing the fixes to currupted files this data converter can implement when the Read\+Option\+Fix\+Corruptions option is used 

Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileAd22_a8bbba2bb88bead89c6c28cddf942f7e7}{Bds\+::\+Data\+File\+Ad22}}, \mbox{\hyperlink{classBds_1_1DataFileBdrs_a5c15b852247917cd8b80e4c9b6b23c73}{Bds\+::\+Data\+File\+Bdrs}}, \mbox{\hyperlink{classBds_1_1DataFileCd_a59e6df631b62d6c1bf451b9b2314db60}{Bds\+::\+Data\+File\+Cd}}, \mbox{\hyperlink{classBds_1_1DataFileGcf_a0974deadeb25e6095af46b7aedba58bb}{Bds\+::\+Data\+File\+Gcf}}, \mbox{\hyperlink{classBds_1_1DataFileLac_a8e62a078724afbe2b3de01fecd11645c}{Bds\+::\+Data\+File\+Lac}}, \mbox{\hyperlink{classBds_1_1DataFileWra_ac120bc87f966874b54fe3dd7723233eb}{Bds\+::\+Data\+File\+Wra}}, and \mbox{\hyperlink{classBds_1_1DataFileSeed_ad89d31fbcd763bd07e64ed2f38335df5}{Bds\+::\+Data\+File\+Seed}}.

\Hypertarget{classBds_1_1DataFile_aaa613d86a308db8dc42917bd016e6833}\label{classBds_1_1DataFile_aaa613d86a308db8dc42917bd016e6833} 
\index{Bds::DataFile@{Bds::DataFile}!getNotices@{getNotices}}
\index{getNotices@{getNotices}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{getNotices()}{getNotices()}}
{\footnotesize\ttfamily void Bds\+::\+Data\+File\+::get\+Notices (\begin{DoxyParamCaption}\item[{\textbf{ BString\+List} \&}]{notices }\end{DoxyParamCaption})}



Get a list of any notices. 

\Hypertarget{classBds_1_1DataFile_a8fbb4e7ed82855bbcb0bde4afdc61e51}\label{classBds_1_1DataFile_a8fbb4e7ed82855bbcb0bde4afdc61e51} 
\index{Bds::DataFile@{Bds::DataFile}!setInfo@{setInfo}}
\index{setInfo@{setInfo}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{setInfo()}{setInfo()}}
{\footnotesize\ttfamily \textbf{ BError} 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. 


\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 in \mbox{\hyperlink{classBds_1_1DataFileIdc_a97710bade8e695fc7f55c12c179a39f8}{Bds\+::\+Data\+File\+Idc}}, \mbox{\hyperlink{classBds_1_1DataFileResponse_ad7676aa03a3dcffc327bc47466722b9d}{Bds\+::\+Data\+File\+Response}}, \mbox{\hyperlink{classBds_1_1DataFileStationXml_adf614a59d4d0a76f00670c646fd41892}{Bds\+::\+Data\+File\+Station\+Xml}}, \mbox{\hyperlink{classBds_1_1DataFileIms_a97dd4140ef75cda8f397443f74cfe1c4}{Bds\+::\+Data\+File\+Ims}}, \mbox{\hyperlink{classBds_1_1DataFileSac_a725d6dce7036197469bc7bcf1344706e}{Bds\+::\+Data\+File\+Sac}}, \mbox{\hyperlink{classBds_1_1DataFileAscii_a08a93477a2cb73a337b1a7770877bf07}{Bds\+::\+Data\+File\+Ascii}}, \mbox{\hyperlink{classBds_1_1DataFileBds_a07a4348e56ccd58b5a4dab74a39645a7}{Bds\+::\+Data\+File\+Bds}}, \mbox{\hyperlink{classBds_1_1DataFileBknas_aa32246c2b8962998a8e56a6383597f99}{Bds\+::\+Data\+File\+Bknas}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a3c1254edfeffd4b2cc4e3037e588e749}{Bds\+::\+Data\+File\+Log}}, and \mbox{\hyperlink{classBds_1_1DataFileSeed_a8a0b5a4fcd8a09804d47e202b0c433e9}{Bds\+::\+Data\+File\+Seed}}.

\Hypertarget{classBds_1_1DataFile_a9d3bf9eecf58dcfe276fcb6ceeec00b2}\label{classBds_1_1DataFile_a9d3bf9eecf58dcfe276fcb6ceeec00b2} 
\index{Bds::DataFile@{Bds::DataFile}!start@{start}}
\index{start@{start}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{start()}{start()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+::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 in \mbox{\hyperlink{classBds_1_1DataFileAscii_a448f9aa38af177abefeef1f7ae3d9271}{Bds\+::\+Data\+File\+Ascii}}, \mbox{\hyperlink{classBds_1_1DataFileIms_a90cb2ed38b935c2f7975766845d87f6c}{Bds\+::\+Data\+File\+Ims}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a5a319163903ffc76151588c95b2e23a2}{Bds\+::\+Data\+File\+Log}}, and \mbox{\hyperlink{classBds_1_1DataFileSeed_aa7cd40a08173a03eaac7fba3434c1c88}{Bds\+::\+Data\+File\+Seed}}.

\Hypertarget{classBds_1_1DataFile_a161e7f9481b0a75c886049facff60aaf}\label{classBds_1_1DataFile_a161e7f9481b0a75c886049facff60aaf} 
\index{Bds::DataFile@{Bds::DataFile}!writeData@{writeData}}
\index{writeData@{writeData}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{writeData()}{writeData()}}
{\footnotesize\ttfamily \textbf{ BError} 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. 


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

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

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



End write segment. 

This defines the end of a data segment. 

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

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



Flush data to disk. 

Makes sure all of the files contents is flushed from RAM to the disk. 

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

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



Parse the file name for a date/time. 

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



Get sub-\/format. 


\begin{DoxyParams}{Parameters}
{\em format} & The returned format\\
\hline
\end{DoxyParams}
Returns the name of the sub-\/format in use \Hypertarget{classBds_1_1DataFile_a041d380065710c74fd509a28d63bf667}\label{classBds_1_1DataFile_a041d380065710c74fd509a28d63bf667} 
\index{Bds::DataFile@{Bds::DataFile}!getInfo@{getInfo}}
\index{getInfo@{getInfo}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{getInfo()}{getInfo()}}
{\footnotesize\ttfamily \textbf{ BError} 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{ BList}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&}]{errors }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get info on data. 


\begin{DoxyParams}{Parameters}
{\em data\+Info} & Info on the \doxylink{classBds_1_1Sensor}{Sensor} data channels to be written \\
\hline
{\em options} & A bitmask of options including\+: Read\+Option\+Validate = 0x01, Read\+Option\+File\+Name\+Process = 0x02, Read\+Option\+Fix\+Corruptions = 0x04, Read\+Option\+Reorder = 0x08, Read\+Option\+Delete\+Duplicates = 0x10, Read\+Option\+Info\+Extra = 0x20, Read\+Option\+Ignore\+Samplerate = 0x40, Read\+Option\+Print\+Blocks = 0x80, Read\+Option\+Fix\+Sample\+Rate = 0x100 \\
\hline
{\em errors} & Returns a list of errors and/or warnings Read\+Option\+Validate\+: performs data file validation Read\+Option\+File\+Name\+Process\+: Validate the filename for particular file formats Read\+Option\+Fix\+Corruptions\+: Fix know file curruptions Read\+Option\+Reorder\+: Re-\/order blocks into time order Read\+Option\+Delete\+Duplicates\+: Delete duplicate blocks where they are completely duplicate in start\+Time and data. Read\+Option\+Info\+Extra\+: Read the extra string Metadata information specific to the format Read\+Option\+Ignore\+Samplerate\+: Ignore samplerate differences Read\+Option\+Print\+Blocks\+: debug option to print information on the blocks to stdout Read\+Option\+Fix\+Sample\+Rate\+: Fors specific formats fixe curruptions in the samplerate gieven\\
\hline
\end{DoxyParams}
This function scans the file and returns detailed Metadata from the blocks in the file. 

Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileAd22_a5c35955198bfc2aced25515fd3c55264}{Bds\+::\+Data\+File\+Ad22}}, \mbox{\hyperlink{classBds_1_1DataFileBdrs_a6bdb2fe7020b6ff4d946e90824be8898}{Bds\+::\+Data\+File\+Bdrs}}, \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_1DataFileLac_ac87072e6071c1b103f53bb6e785cdf03}{Bds\+::\+Data\+File\+Lac}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a4614c19c241e31f98671a3d7cd18abf4}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_ad4aa49e71065ee1ca1383a2cbcb9db23}{Bds\+::\+Data\+File\+Tape\+Digitiser}}, \mbox{\hyperlink{classBds_1_1DataFileWra_ab6fa1427b2792f4626f5ffeea6d88bec}{Bds\+::\+Data\+File\+Wra}}, \mbox{\hyperlink{classBds_1_1DataFileWraAgso_a623db7a02778b126e5352ce8e6515b26}{Bds\+::\+Data\+File\+Wra\+Agso}}, and \mbox{\hyperlink{classBds_1_1DataFileSeed_a772df8615e635dd0b6c9d2259eb321b1}{Bds\+::\+Data\+File\+Seed}}.

\Hypertarget{classBds_1_1DataFile_a58cb4c088df2d8d0349a3ffbd7523a02}\label{classBds_1_1DataFile_a58cb4c088df2d8d0349a3ffbd7523a02} 
\index{Bds::DataFile@{Bds::DataFile}!seekBlock@{seekBlock}}
\index{seekBlock@{seekBlock}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{seekBlock()}{seekBlock()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+::seek\+Block (\begin{DoxyParamCaption}\item[{\textbf{ BUInt32}}]{channel,  }\item[{\textbf{ BUInt}}]{segment,  }\item[{\textbf{ BTime\+Stamp}}]{time,  }\item[{\textbf{ BUInt32} \&}]{block\+Number,  }\item[{\textbf{ BUInt64} \&}]{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. 


\begin{DoxyParams}{Parameters}
{\em channel} & The channel number. 0 for all channels. \\
\hline
{\em segment} & The segment number. 0 for all segments \\
\hline
{\em time} & The time of a sample to search for \\
\hline
{\em block\+Number} & The returned block number \\
\hline
{\em sample\+Number} & The sample number inside the block (based on sample\+Rate) \\
\hline
{\em data} & The matched \doxylink{classBds_1_1DataBlock}{Data\+Block}\\
\hline
\end{DoxyParams}
This seeks for the a \doxylink{classBds_1_1DataBlock}{Data\+Block} in the file that contains a sample for the time provided. If channel is other than 0 then it seeks for a \doxylink{classBds_1_1DataBlock}{Data\+Block} for the given channel. If the data is sample multiplexed a \doxylink{classBds_1_1Channel}{Channel} number of 0 can be given which will return the location of a data\+Block containing all of the Channels. If Segment is 0 then the block number returned is referenced to the start of the set of files. If a particular segment number is given then the seek and the returned block number is within that segment. 

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

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



Read a block. 


\begin{DoxyParams}{Parameters}
{\em channel} & The channel number. 0 Means all channels \\
\hline
{\em segment} & The segment number. 0 Means all segments \\
\hline
{\em block\+Number} & The block number. This starts from 0. \\
\hline
{\em data\+Block} & The returned \doxylink{classBds_1_1DataBlock}{Data\+Block}\\
\hline
\end{DoxyParams}
This function is used to read a data block from the file. 

Reimplemented in \mbox{\hyperlink{classBds_1_1DataFileAd22_ace2dc4af9b8ee639ddbf845557858e5f}{Bds\+::\+Data\+File\+Ad22}}, \mbox{\hyperlink{classBds_1_1DataFileBdrs_a40ab05a008fd7831bd99ebe59f6a27c3}{Bds\+::\+Data\+File\+Bdrs}}, \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_1DataFileLac_ab0e7d97a4e6d9123b0c16cd68c3439bf}{Bds\+::\+Data\+File\+Lac}}, \mbox{\hyperlink{classBds_1_1DataFileLog_a2bff29beb50327c0720668aee6ce6a2e}{Bds\+::\+Data\+File\+Log}}, \mbox{\hyperlink{classBds_1_1DataFileTapeDigitiser_a18a44e290aef3b75dec2fd47592d9ee3}{Bds\+::\+Data\+File\+Tape\+Digitiser}}, \mbox{\hyperlink{classBds_1_1DataFileWra_afeb87f5e2a3d22cf30b86d8d18d1d7cb}{Bds\+::\+Data\+File\+Wra}}, \mbox{\hyperlink{classBds_1_1DataFileWraAgso_ae08eaf93d26b8530f5d4b6c3eb2752cb}{Bds\+::\+Data\+File\+Wra\+Agso}}, \mbox{\hyperlink{classBds_1_1DataFileSeed_ab1e7d8fd67635af4dde4f3d4076dc739}{Bds\+::\+Data\+File\+Seed}}, and \mbox{\hyperlink{classBds_1_1DataFileBds_a159884e047e0912b4478ac83c24ce211}{Bds\+::\+Data\+File\+Bds}}.

\Hypertarget{classBds_1_1DataFile_a817b26d6176374820f2e88e92986a0f0}\label{classBds_1_1DataFile_a817b26d6176374820f2e88e92986a0f0} 
\index{Bds::DataFile@{Bds::DataFile}!getMetaData@{getMetaData}}
\index{getMetaData@{getMetaData}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{getMetaData()}{getMetaData()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+::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 in \mbox{\hyperlink{classBds_1_1DataFileIdc_a7fc14e6cf713f4ae51c8894a6769c2b3}{Bds\+::\+Data\+File\+Idc}}, \mbox{\hyperlink{classBds_1_1DataFileIms_a20a76c6d494a28780deb0e3ffa6f863f}{Bds\+::\+Data\+File\+Ims}}, \mbox{\hyperlink{classBds_1_1DataFileResponse_a57857f7a5c78b1931b3f9042162f156a}{Bds\+::\+Data\+File\+Response}}, \mbox{\hyperlink{classBds_1_1DataFileSac_ad009374b5d1723b5f6ca7918be517cf6}{Bds\+::\+Data\+File\+Sac}}, \mbox{\hyperlink{classBds_1_1DataFileStationXml_a74cb6c6c596afd00ce9b5425a4c7b3a7}{Bds\+::\+Data\+File\+Station\+Xml}}, and \mbox{\hyperlink{classBds_1_1DataFileSeed_ac272a22cb48aa766854f93ef38327998}{Bds\+::\+Data\+File\+Seed}}.

\Hypertarget{classBds_1_1DataFile_a4001451e1254eb344f032eb284d189d9}\label{classBds_1_1DataFile_a4001451e1254eb344f032eb284d189d9} 
\index{Bds::DataFile@{Bds::DataFile}!dataErrorFixup@{dataErrorFixup}}
\index{dataErrorFixup@{dataErrorFixup}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\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{ BList}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&}]{errors }\end{DoxyParamCaption})}



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

\Hypertarget{classBds_1_1DataFile_a224df8deb335c2c12bd122a8969d2bc6}\label{classBds_1_1DataFile_a224df8deb335c2c12bd122a8969d2bc6} 
\index{Bds::DataFile@{Bds::DataFile}!timeCompare@{timeCompare}}
\index{timeCompare@{timeCompare}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{timeCompare()}{timeCompare()}}
{\footnotesize\ttfamily \textbf{ BInt64} Bds\+::\+Data\+File\+::time\+Compare (\begin{DoxyParamCaption}\item[{\textbf{ BTime\+Stamp}}]{t1,  }\item[{\textbf{ BTime\+Stamp}}]{t2,  }\item[{\textbf{ BUInt}}]{diff }\end{DoxyParamCaption})}



Compare timestamps with a margin. 

\Hypertarget{classBds_1_1DataFile_a0417d087d2711f28a6de45ac258ddbca}\label{classBds_1_1DataFile_a0417d087d2711f28a6de45ac258ddbca} 
\index{Bds::DataFile@{Bds::DataFile}!duplicateCheck@{duplicateCheck}}
\index{duplicateCheck@{duplicateCheck}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\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{ BUInt}}]{channel = {\ttfamily 0} }\end{DoxyParamCaption})}



Check if blocks are duplicates. 

\Hypertarget{classBds_1_1DataFile_ad89a5ba6ff64e2dee34b5b92d3880f5f}\label{classBds_1_1DataFile_ad89a5ba6ff64e2dee34b5b92d3880f5f} 
\index{Bds::DataFile@{Bds::DataFile}!getFilePosition@{getFilePosition}}
\index{getFilePosition@{getFilePosition}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{getFilePosition()}{getFilePosition()}}
{\footnotesize\ttfamily \textbf{ BUInt64} Bds\+::\+Data\+File\+::get\+File\+Position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

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



Get list of supported formats. 



\doxysubsection{Member Data Documentation}
\Hypertarget{classBds_1_1DataFile_a13ed47a010d5767ce5479588810f49d2}\label{classBds_1_1DataFile_a13ed47a010d5767ce5479588810f49d2} 
\index{Bds::DataFile@{Bds::DataFile}!ofileName@{ofileName}}
\index{ofileName@{ofileName}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{ofileName}{ofileName}}
{\footnotesize\ttfamily \textbf{ BString} Bds\+::\+Data\+File\+::ofile\+Name\hspace{0.3cm}{\ttfamily [protected]}}

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

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

\Hypertarget{classBds_1_1DataFile_aba43ea13af8152dfc3a63fb08037ff00}\label{classBds_1_1DataFile_aba43ea13af8152dfc3a63fb08037ff00} 
\index{Bds::DataFile@{Bds::DataFile}!ofile@{ofile}}
\index{ofile@{ofile}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{ofile}{ofile}}
{\footnotesize\ttfamily \textbf{ BFile} Bds\+::\+Data\+File\+::ofile\hspace{0.3cm}{\ttfamily [protected]}}

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

\Hypertarget{classBds_1_1DataFile_ab72b77d23100386222909c0568b6c9a2}\label{classBds_1_1DataFile_ab72b77d23100386222909c0568b6c9a2} 
\index{Bds::DataFile@{Bds::DataFile}!onotices@{onotices}}
\index{onotices@{onotices}!Bds::DataFile@{Bds::DataFile}}
\doxysubsubsection{\texorpdfstring{onotices}{onotices}}
{\footnotesize\ttfamily \textbf{ BString\+List} Bds\+::\+Data\+File\+::onotices\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}}\item 
/src/blacknest/bds/bds/doc/\mbox{\hyperlink{bdsApi-extra_8dox}{bds\+Api-\/extra.\+dox}}\end{DoxyCompactItemize}
