\doxysection{Bds\+::Data\+File\+Bds Class Reference}
\hypertarget{classBds_1_1DataFileBds}{}\label{classBds_1_1DataFileBds}\index{Bds::DataFileBds@{Bds::DataFileBds}}


This class implements the BDS Data File/\+Stream access system.  




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

Inheritance diagram for Bds\+::Data\+File\+Bds\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classBds_1_1DataFileBds}
\end{center}
\end{figure}
\doxysubsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \{ \mbox{\hyperlink{classBds_1_1DataFileBds_a3f6d5c994068dfcc983a765dd2d5b69fa84e0ec59def1907592919289f541acb2}{Streams\+Max}} = 256
 \}
\item 
enum \{ \mbox{\hyperlink{classBds_1_1DataFileBds_af8cc5c9f70eee7c47b08cb1ea6ec69c2aad90a9b0ba567ca5764cfcece2954dd3}{Default\+Block\+Size}} = 65536
 \}
\item 
enum \mbox{\hyperlink{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bf}{Pack\+Format}} \{ \mbox{\hyperlink{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfabd5c70b0442ca2b5efe09407b45fbdd9}{Pack\+Format\+\_\+\+Unknown}} = 0
, \mbox{\hyperlink{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfa2422758b8b9589a0d75d9cc0ea67af7c}{Pack\+Format\+\_\+\+SM}} = 1
, \mbox{\hyperlink{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfabad929616c0df8919740b55b9c8e85b7}{Pack\+Format\+\_\+\+CM}} = 2
, \mbox{\hyperlink{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfac23d5618ab038610a14a775497f271c6}{Pack\+Format\+\_\+\+SM\+\_\+\+CC}} = 3
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Public Types inherited from \mbox{\hyperlink{classBds_1_1DataFile}{Bds\+::\+Data\+File}}}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}{Data\+Order}} \{ \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07aedfe73815587b56ef261a8c1d140dc3a}{Data\+Order\+Unknown}}
, \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07a8514fa29aaaef629fa17968e22f08faa}{Data\+Order\+All}}
, \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07ae416600bdc7bb6df53290742790d223a}{Data\+Order\+Sample}}
, \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07add00ddd15c08b1f724360661bf98c7cd}{Data\+Order\+Channel}}
 \}
\item 
enum \mbox{\hyperlink{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005c}{Features}} \{ \mbox{\hyperlink{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005caeeb908ca4fd8d867bd3214f8ddd80342}{Feature\+None}} = 0x00
, \mbox{\hyperlink{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005ca80851a44fa570a3e14efcfab53234b24}{Feature\+Can\+Write}} = 0x01
, \mbox{\hyperlink{classBds_1_1DataFile_a2ffc3070a8a742c6349b36a8f3aa005ca90d9cd6adf0ec236e74b354541d9f4a4}{Feature\+Can\+Read}} = 0x02
 \}
\item 
enum \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153}{Write\+Options\+List}} \{ \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a8f2ee64a0b135b2b02c046f087e54b52}{Write\+Option\+None}} = 0x00
, \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a420fa6e5eaacb8e210c3ade68bbe64e6}{Write\+Option\+Sensor\+Data}} = 0x01
, \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153ab2a1e07b760736fa19c5099e6509fb18}{Write\+Option\+No\+Metadata}} = 0x02
 \}
\item 
enum \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddd}{Read\+Options\+List}} \{ \newline
\mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddae49e5a11b7d48edb36335e4d8f0825cb}{Read\+Option\+None}} = 0x00
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda5f58a7921d0a5dd558dca90cfbe667b0}{Read\+Option\+Validate}} = 0x01
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda888fc70f21636d6ffedcfaf3b2ffa7c2}{Read\+Option\+File\+Name\+Process}} = 0x02
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddab8d3256eebc227307fbd4716370b313d}{Read\+Option\+Fix\+Corruptions}} = 0x04
, \newline
\mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda72d10a6f53b4df793d2c9c606dbd6892}{Read\+Option\+Reorder}} = 0x08
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda79066b8186a596f194b01b3b2a410b0b}{Read\+Option\+Delete\+Duplicates}} = 0x10
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddac1aa7df91660649215b69706c75ae363}{Read\+Option\+Info\+Extra}} = 0x20
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddae08fddd3c7a0392bc3950b8b2527d1fc}{Read\+Option\+Ignore\+Samplerate}} = 0x40
, \newline
\mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785ddda831de6701cd13361e95680da2da6933d}{Read\+Option\+Print\+Blocks}} = 0x80
, \mbox{\hyperlink{classBds_1_1DataFile_aaf58b9061b63f11c7f96695087785dddad36f1cbea75696379c7e67ce074e2e9a}{Read\+Option\+Fix\+Sample\+Rate}} = 0x100
 \}
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classBds_1_1DataFileBds_a512405fd9747c73d6750f58f7dcd3e54}{Data\+File\+Bds}} ()
\item 
\mbox{\hyperlink{classBds_1_1DataFileBds_a84246a2f27f02d788fb3f28b8592c5c5}{\texorpdfstring{$\sim$}{\string~}\+Data\+File\+Bds}} ()
\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_a31d32aa8a487419beb1c492a44324737}{open}} (\textbf{ BString} file\+Name, \textbf{ BString} mode)
\begin{DoxyCompactList}\small\item\em Open the file for reading or writing. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_a0c33c30503caacb139e8290b6b98f7b1}{flush}} ()
\begin{DoxyCompactList}\small\item\em Flush any data to disk even if blocks are not full. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_ab3a6d88ce6b91c767b2a6dfde0eaa322}{close}} ()
\begin{DoxyCompactList}\small\item\em Close file. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_a48a4a325c8d30556f08cfaf003907b01}{set\+Format}} (\textbf{ BString} \textbf{ format})
\begin{DoxyCompactList}\small\item\em Sets the sub-\/format. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_a07a4348e56ccd58b5a4dab74a39645a7}{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_a470ee46f21caaaf26365b9503b428153a420fa6e5eaacb8e210c3ade68bbe64e6}{Write\+Option\+Sensor\+Data}})
\begin{DoxyCompactList}\small\item\em Sets the information. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_ae8b8a3f95126d12eae4e765a151d0a93}{write\+Data}} (const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&\textbf{ data})
\begin{DoxyCompactList}\small\item\em Writes a data block to the file. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}{Data\+Order}} \mbox{\hyperlink{classBds_1_1DataFileBds_ad5b071de9ddddacd5a229011b2807a5a}{get\+Data\+Order}} ()
\begin{DoxyCompactList}\small\item\em Get the expected order of writing data, by sample or by channel. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_a6d4fb7826206a6127695430439bbf119}{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 information on open file. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_abc475489eb35d6045ef83ba95bede4e2}{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}} \&data\+Block)
\begin{DoxyCompactList}\small\item\em Find the block that contains the samples for the time requested. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_a159884e047e0912b4478ac83c24ce211}{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 the data block for the given channel or all channels if block\+Number is 0. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_a02c62c55b30fb06a8bfc091510125cd8}{set\+Disk\+Block\+Size}} (\textbf{ BUInt32} block\+Size)
\begin{DoxyCompactList}\small\item\em Sets up file/stream block size. \end{DoxyCompactList}\item 
\textbf{ BUInt32} \mbox{\hyperlink{classBds_1_1DataFileBds_acce12a05907cdf62bdc344c0c8860eb6}{get\+Disk\+Block\+Size}} ()
\begin{DoxyCompactList}\small\item\em Returns the data block size in bytes. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_ad0ea23d5c1fdc32ab90ef3a5af3268e4}{streamlet\+To\+Channel}} (\textbf{ BUInt} streamlet, \textbf{ BUInt} \&channel)
\begin{DoxyCompactList}\small\item\em Find streamlet given channel. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_a1d5681774df07d372a81b4bcba1fb2e6}{set\+Write\+Position\+For\+Append}} ()
\begin{DoxyCompactList}\small\item\em Sets the next packet write position. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_a9b5d0b63c677d5747b3fa0fd28268c87}{set\+Read\+Position\+To\+Start}} ()
\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_a470787e84a8b48ec45ebc97feb532fd5}{packet\+Read}} (\mbox{\hyperlink{classBds_1_1BdsDataPacket}{Bds\+Data\+Packet}} \&packet)
\begin{DoxyCompactList}\small\item\em Reads a packet from the file. \end{DoxyCompactList}\item 
\textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFileBds_ae96ca2d4ceaacf42cea410ebaec6f7a6}{packet\+Write}} (\mbox{\hyperlink{classBds_1_1BdsDataPacket}{Bds\+Data\+Packet}} \&packet)
\begin{DoxyCompactList}\small\item\em Writes a packet to the file. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classBds_1_1DataFile}{Bds\+::\+Data\+File}}}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classBds_1_1DataFile_a103347e61895be1fe64c7aaf1f444a39}{Data\+File}} ()
\item 
virtual \mbox{\hyperlink{classBds_1_1DataFile_a258472b18d0c88237be356ceef6a6502}{\texorpdfstring{$\sim$}{\string~}\+Data\+File}} ()
\item 
virtual void \mbox{\hyperlink{classBds_1_1DataFile_aed55fb73a4ea3ba576e74f7b5aa48e46}{init}} ()
\begin{DoxyCompactList}\small\item\em Initialise. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a5e5185a9cef9ea911c477d1bc2c74274}{open}} (\textbf{ BString} file\+Name, \textbf{ BString} mode)
\begin{DoxyCompactList}\small\item\em Open the file for read or write. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a6b092b444ba4a8b1c2b24587e06a054d}{close}} ()
\begin{DoxyCompactList}\small\item\em Close the file. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_aae72993c3c6453edc45621745c3e79a5}{set\+Format}} (\textbf{ BString} \textbf{ format})
\begin{DoxyCompactList}\small\item\em Set the sub-\/format. \end{DoxyCompactList}\item 
virtual \textbf{ BString} \mbox{\hyperlink{classBds_1_1DataFile_a472656e7a1bf29cb1287576f7670ec42}{get\+File\+Name}} ()
\begin{DoxyCompactList}\small\item\em Return the file name. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}{Data\+Order}} \mbox{\hyperlink{classBds_1_1DataFile_ae014b357c1b718954946bfa343aa30c2}{get\+Data\+Order}} ()
\begin{DoxyCompactList}\small\item\em Get the expected order of writing data, by sample or by channel. \end{DoxyCompactList}\item 
virtual int \mbox{\hyperlink{classBds_1_1DataFile_a3ec43698267866785d212e4d962e8d82}{get\+Features}} ()
\begin{DoxyCompactList}\small\item\em Get bitmask of supported features. \end{DoxyCompactList}\item 
virtual \textbf{ BString} \mbox{\hyperlink{classBds_1_1DataFile_af53a17d0570a25b0b75f5fb3b13279c5}{get\+Fixes\+Info}} ()
\begin{DoxyCompactList}\small\item\em Get readable list of fixes that can be applied to faulty data files. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classBds_1_1DataFile_aaa613d86a308db8dc42917bd016e6833}{get\+Notices}} (\textbf{ BString\+List} \&notices)
\begin{DoxyCompactList}\small\item\em Get a list of any notices. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a8fbb4e7ed82855bbcb0bde4afdc61e51}{set\+Info}} (const \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info, const \mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos, \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153}{Write\+Options\+List}} options=\mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a8f2ee64a0b135b2b02c046f087e54b52}{Write\+Option\+None}})
\begin{DoxyCompactList}\small\item\em Set information on data for write. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a9d3bf9eecf58dcfe276fcb6ceeec00b2}{start}} (\textbf{ BUInt} channel, \textbf{ BUInt} segment)
\begin{DoxyCompactList}\small\item\em Start writing next segment of data. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a161e7f9481b0a75c886049facff60aaf}{write\+Data}} (const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&\textbf{ data})
\begin{DoxyCompactList}\small\item\em Write a block of data. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_af854a685f63f43f1d45f52e40f6a7b1f}{end}} ()
\begin{DoxyCompactList}\small\item\em End write segment. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a96dc50c6852eaee8416c48bafa2c9780}{flush}} ()
\begin{DoxyCompactList}\small\item\em Flush data to disk. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a9a269d6ea626a0524c658f507271131e}{file\+Name\+Process}} ()
\begin{DoxyCompactList}\small\item\em Parse the file name for a date/time. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a06ee8e7a8b5446c4c333e112f61cead5}{get\+Format}} (\textbf{ BString} \&\textbf{ format})
\begin{DoxyCompactList}\small\item\em Get sub-\/format. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a041d380065710c74fd509a28d63bf667}{get\+Info}} (\mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info, \mbox{\hyperlink{classBds_1_1DataFileOptions}{Data\+File\+Options}} options, \textbf{ BList}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&errors)
\begin{DoxyCompactList}\small\item\em Get info on data. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a58cb4c088df2d8d0349a3ffbd7523a02}{seek\+Block}} (\textbf{ BUInt32} channel, \textbf{ BUInt} segment, \textbf{ BTime\+Stamp} time, \textbf{ BUInt32} \&block\+Number, \textbf{ BUInt64} \&sample\+Number, \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&\textbf{ data})
\begin{DoxyCompactList}\small\item\em Find requested block on given channel given a time. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_ac01f30408cfdfc4f14a36ca1f5cf2e4c}{read\+Data}} (\textbf{ BUInt32} channel, \textbf{ BUInt} segment, \textbf{ BUInt32} block\+Number, \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&data\+Block)
\begin{DoxyCompactList}\small\item\em Read a block. \end{DoxyCompactList}\item 
virtual \textbf{ BError} \mbox{\hyperlink{classBds_1_1DataFile_a817b26d6176374820f2e88e92986a0f0}{get\+Meta\+Data}} (\mbox{\hyperlink{classBds_1_1ChannelInfos}{Channel\+Infos}} \&channel\+Infos, \textbf{ BUInt32} options, \textbf{ BList}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&errors)
\begin{DoxyCompactList}\small\item\em Return all known Meta\+Data in the file. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classBds_1_1DataFile_a4001451e1254eb344f032eb284d189d9}{data\+Error\+Fixup}} (const \mbox{\hyperlink{classBds_1_1DataInfo}{Data\+Info}} \&data\+Info, \textbf{ BList}$<$ \mbox{\hyperlink{classBds_1_1DataError}{Data\+Error}} $>$ \&errors)
\begin{DoxyCompactList}\small\item\em Fixup data errors, mainly start/end times to be within data. \end{DoxyCompactList}\item 
\textbf{ BInt64} \mbox{\hyperlink{classBds_1_1DataFile_a224df8deb335c2c12bd122a8969d2bc6}{time\+Compare}} (\textbf{ BTime\+Stamp} t1, \textbf{ BTime\+Stamp} t2, \textbf{ BUInt} diff)
\begin{DoxyCompactList}\small\item\em Compare timestamps with a margin. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classBds_1_1DataFile_a0417d087d2711f28a6de45ac258ddbca}{duplicate\+Check}} (const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&data1, const \mbox{\hyperlink{classBds_1_1DataBlock}{Data\+Block}} \&data2, \textbf{ BUInt} channel=0)
\begin{DoxyCompactList}\small\item\em Check if blocks are duplicates. \end{DoxyCompactList}\item 
\textbf{ BUInt64} \mbox{\hyperlink{classBds_1_1DataFile_ad89a5ba6ff64e2dee34b5b92d3880f5f}{get\+File\+Position}} ()
\end{DoxyCompactItemize}
\doxysubsubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespaceBds_abc3599496fa901d0481742571a256def}{Data\+Formats}} \mbox{\hyperlink{classBds_1_1DataFileBds_a1f73d944af795059680543b95dd5fe05}{get\+Formats}} ()
\begin{DoxyCompactList}\small\item\em Get the names of the supported formats. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions inherited from \mbox{\hyperlink{classBds_1_1DataFile}{Bds\+::\+Data\+File}}}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespaceBds_abc3599496fa901d0481742571a256def}{Data\+Formats}} \mbox{\hyperlink{classBds_1_1DataFile_ad6060378dfb479ac02167e61f032d7d0}{get\+Formats}} ()
\begin{DoxyCompactList}\small\item\em Get list of supported formats. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classBds_1_1DataFile}{Bds\+::\+Data\+File}}}
\begin{DoxyCompactItemize}
\item 
\textbf{ BString} \mbox{\hyperlink{classBds_1_1DataFile_a13ed47a010d5767ce5479588810f49d2}{ofile\+Name}}
\item 
\textbf{ BString} \mbox{\hyperlink{classBds_1_1DataFile_ac77be042e2ff851beec76d754a591969}{omode}}
\item 
\textbf{ BTime\+Stamp} \mbox{\hyperlink{classBds_1_1DataFile_ad7514c27012dba2e4fc709f06ebd67ac}{ofile\+Name\+Time}}
\item 
\textbf{ BFile} \mbox{\hyperlink{classBds_1_1DataFile_aba43ea13af8152dfc3a63fb08037ff00}{ofile}}
\item 
\textbf{ BString} \mbox{\hyperlink{classBds_1_1DataFile_a9cc54891edde3cd7e84b036407739611}{oformat}}
\item 
\textbf{ BString\+List} \mbox{\hyperlink{classBds_1_1DataFile_ab72b77d23100386222909c0568b6c9a2}{onotices}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This class implements the BDS Data File/\+Stream access system. 

\doxysubsection{Member Enumeration Documentation}
\Hypertarget{classBds_1_1DataFileBds_a3f6d5c994068dfcc983a765dd2d5b69f}\label{classBds_1_1DataFileBds_a3f6d5c994068dfcc983a765dd2d5b69f} 
\doxysubsubsection{\texorpdfstring{anonymous enum}{anonymous enum}}
{\footnotesize\ttfamily anonymous enum}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{StreamsMax@{StreamsMax}!Bds::DataFileBds@{Bds::DataFileBds}}\index{Bds::DataFileBds@{Bds::DataFileBds}!StreamsMax@{StreamsMax}}}\Hypertarget{classBds_1_1DataFileBds_a3f6d5c994068dfcc983a765dd2d5b69fa84e0ec59def1907592919289f541acb2}\label{classBds_1_1DataFileBds_a3f6d5c994068dfcc983a765dd2d5b69fa84e0ec59def1907592919289f541acb2} 
Streams\+Max&\\
\hline

\end{DoxyEnumFields}
\Hypertarget{classBds_1_1DataFileBds_af8cc5c9f70eee7c47b08cb1ea6ec69c2}\label{classBds_1_1DataFileBds_af8cc5c9f70eee7c47b08cb1ea6ec69c2} 
\doxysubsubsection{\texorpdfstring{anonymous enum}{anonymous enum}}
{\footnotesize\ttfamily anonymous enum}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{DefaultBlockSize@{DefaultBlockSize}!Bds::DataFileBds@{Bds::DataFileBds}}\index{Bds::DataFileBds@{Bds::DataFileBds}!DefaultBlockSize@{DefaultBlockSize}}}\Hypertarget{classBds_1_1DataFileBds_af8cc5c9f70eee7c47b08cb1ea6ec69c2aad90a9b0ba567ca5764cfcece2954dd3}\label{classBds_1_1DataFileBds_af8cc5c9f70eee7c47b08cb1ea6ec69c2aad90a9b0ba567ca5764cfcece2954dd3} 
Default\+Block\+Size&\\
\hline

\end{DoxyEnumFields}
\Hypertarget{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bf}\label{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bf} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!PackFormat@{PackFormat}}
\index{PackFormat@{PackFormat}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{PackFormat}{PackFormat}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bf}{Bds\+::\+Data\+File\+Bds\+::\+Pack\+Format}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{PackFormat\_Unknown@{PackFormat\_Unknown}!Bds::DataFileBds@{Bds::DataFileBds}}\index{Bds::DataFileBds@{Bds::DataFileBds}!PackFormat\_Unknown@{PackFormat\_Unknown}}}\Hypertarget{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfabd5c70b0442ca2b5efe09407b45fbdd9}\label{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfabd5c70b0442ca2b5efe09407b45fbdd9} 
Pack\+Format\+\_\+\+Unknown&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PackFormat\_SM@{PackFormat\_SM}!Bds::DataFileBds@{Bds::DataFileBds}}\index{Bds::DataFileBds@{Bds::DataFileBds}!PackFormat\_SM@{PackFormat\_SM}}}\Hypertarget{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfa2422758b8b9589a0d75d9cc0ea67af7c}\label{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfa2422758b8b9589a0d75d9cc0ea67af7c} 
Pack\+Format\+\_\+\+SM&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PackFormat\_CM@{PackFormat\_CM}!Bds::DataFileBds@{Bds::DataFileBds}}\index{Bds::DataFileBds@{Bds::DataFileBds}!PackFormat\_CM@{PackFormat\_CM}}}\Hypertarget{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfabad929616c0df8919740b55b9c8e85b7}\label{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfabad929616c0df8919740b55b9c8e85b7} 
Pack\+Format\+\_\+\+CM&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PackFormat\_SM\_CC@{PackFormat\_SM\_CC}!Bds::DataFileBds@{Bds::DataFileBds}}\index{Bds::DataFileBds@{Bds::DataFileBds}!PackFormat\_SM\_CC@{PackFormat\_SM\_CC}}}\Hypertarget{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfac23d5618ab038610a14a775497f271c6}\label{classBds_1_1DataFileBds_aa12960211455af383997db90456b32bfac23d5618ab038610a14a775497f271c6} 
Pack\+Format\+\_\+\+SM\+\_\+\+CC&\\
\hline

\end{DoxyEnumFields}


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

\Hypertarget{classBds_1_1DataFileBds_a84246a2f27f02d788fb3f28b8592c5c5}\label{classBds_1_1DataFileBds_a84246a2f27f02d788fb3f28b8592c5c5} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!````~DataFileBds@{\texorpdfstring{$\sim$}{\string~}DataFileBds}}
\index{````~DataFileBds@{\texorpdfstring{$\sim$}{\string~}DataFileBds}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}DataFileBds()}{\string~DataFileBds()}}
{\footnotesize\ttfamily Bds\+::\+Data\+File\+Bds\+::\texorpdfstring{$\sim$}{\string~}\+Data\+File\+Bds (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



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



Open the file for reading or writing. 



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

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



Flush any data to disk even if blocks are not full. 



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

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



Close file. 



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

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



Sets the sub-\/format. 



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

\Hypertarget{classBds_1_1DataFileBds_a07a4348e56ccd58b5a4dab74a39645a7}\label{classBds_1_1DataFileBds_a07a4348e56ccd58b5a4dab74a39645a7} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!setInfo@{setInfo}}
\index{setInfo@{setInfo}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{setInfo()}{setInfo()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Bds\+::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_a470ee46f21caaaf26365b9503b428153a420fa6e5eaacb8e210c3ade68bbe64e6}{Write\+Option\+Sensor\+Data}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Sets the information. 



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

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



Writes a data block to the file. 



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

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



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



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

\Hypertarget{classBds_1_1DataFileBds_a6d4fb7826206a6127695430439bbf119}\label{classBds_1_1DataFileBds_a6d4fb7826206a6127695430439bbf119} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!getInfo@{getInfo}}
\index{getInfo@{getInfo}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{getInfo()}{getInfo()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Bds\+::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 information on open file. 



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

\Hypertarget{classBds_1_1DataFileBds_abc475489eb35d6045ef83ba95bede4e2}\label{classBds_1_1DataFileBds_abc475489eb35d6045ef83ba95bede4e2} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!seekBlock@{seekBlock}}
\index{seekBlock@{seekBlock}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{seekBlock()}{seekBlock()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Bds\+::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\+Block }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Find the block that contains the samples for the time requested. 



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

\Hypertarget{classBds_1_1DataFileBds_a159884e047e0912b4478ac83c24ce211}\label{classBds_1_1DataFileBds_a159884e047e0912b4478ac83c24ce211} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!readData@{readData}}
\index{readData@{readData}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{readData()}{readData()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Bds\+::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 the data block for the given channel or all channels if block\+Number is 0. 



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

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



Get the names of the supported formats. 

\Hypertarget{classBds_1_1DataFileBds_a02c62c55b30fb06a8bfc091510125cd8}\label{classBds_1_1DataFileBds_a02c62c55b30fb06a8bfc091510125cd8} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!setDiskBlockSize@{setDiskBlockSize}}
\index{setDiskBlockSize@{setDiskBlockSize}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{setDiskBlockSize()}{setDiskBlockSize()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Bds\+::set\+Disk\+Block\+Size (\begin{DoxyParamCaption}\item[{\textbf{ BUInt32}}]{block\+Size }\end{DoxyParamCaption})}



Sets up file/stream block size. 

\Hypertarget{classBds_1_1DataFileBds_acce12a05907cdf62bdc344c0c8860eb6}\label{classBds_1_1DataFileBds_acce12a05907cdf62bdc344c0c8860eb6} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!getDiskBlockSize@{getDiskBlockSize}}
\index{getDiskBlockSize@{getDiskBlockSize}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{getDiskBlockSize()}{getDiskBlockSize()}}
{\footnotesize\ttfamily uint32\+\_\+t Bds\+::\+Data\+File\+Bds\+::get\+Disk\+Block\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Returns the data block size in bytes. 

\Hypertarget{classBds_1_1DataFileBds_ad0ea23d5c1fdc32ab90ef3a5af3268e4}\label{classBds_1_1DataFileBds_ad0ea23d5c1fdc32ab90ef3a5af3268e4} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!streamletToChannel@{streamletToChannel}}
\index{streamletToChannel@{streamletToChannel}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{streamletToChannel()}{streamletToChannel()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Bds\+::streamlet\+To\+Channel (\begin{DoxyParamCaption}\item[{\textbf{ BUInt}}]{streamlet,  }\item[{\textbf{ BUInt} \&}]{channel }\end{DoxyParamCaption})}



Find streamlet given channel. 

\Hypertarget{classBds_1_1DataFileBds_a1d5681774df07d372a81b4bcba1fb2e6}\label{classBds_1_1DataFileBds_a1d5681774df07d372a81b4bcba1fb2e6} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!setWritePositionForAppend@{setWritePositionForAppend}}
\index{setWritePositionForAppend@{setWritePositionForAppend}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{setWritePositionForAppend()}{setWritePositionForAppend()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Bds\+::set\+Write\+Position\+For\+Append (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Sets the next packet write position. 

\Hypertarget{classBds_1_1DataFileBds_a9b5d0b63c677d5747b3fa0fd28268c87}\label{classBds_1_1DataFileBds_a9b5d0b63c677d5747b3fa0fd28268c87} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!setReadPositionToStart@{setReadPositionToStart}}
\index{setReadPositionToStart@{setReadPositionToStart}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{setReadPositionToStart()}{setReadPositionToStart()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Bds\+::set\+Read\+Position\+To\+Start (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\Hypertarget{classBds_1_1DataFileBds_a470787e84a8b48ec45ebc97feb532fd5}\label{classBds_1_1DataFileBds_a470787e84a8b48ec45ebc97feb532fd5} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!packetRead@{packetRead}}
\index{packetRead@{packetRead}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{packetRead()}{packetRead()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Bds\+::packet\+Read (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classBds_1_1BdsDataPacket}{Bds\+Data\+Packet}} \&}]{packet }\end{DoxyParamCaption})}



Reads a packet from the file. 

\Hypertarget{classBds_1_1DataFileBds_ae96ca2d4ceaacf42cea410ebaec6f7a6}\label{classBds_1_1DataFileBds_ae96ca2d4ceaacf42cea410ebaec6f7a6} 
\index{Bds::DataFileBds@{Bds::DataFileBds}!packetWrite@{packetWrite}}
\index{packetWrite@{packetWrite}!Bds::DataFileBds@{Bds::DataFileBds}}
\doxysubsubsection{\texorpdfstring{packetWrite()}{packetWrite()}}
{\footnotesize\ttfamily \textbf{ BError} Bds\+::\+Data\+File\+Bds\+::packet\+Write (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classBds_1_1BdsDataPacket}{Bds\+Data\+Packet}} \&}]{packet }\end{DoxyParamCaption})}



Writes a packet to the file. 



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