\doxysection{Bds\+Data\+File\+Seed.\+h}
\hypertarget{BdsDataFileSeed_8h_source}{}\label{BdsDataFileSeed_8h_source}\index{/src/blacknest/bds/bds/bdsDataLib/BdsSeed/BdsDataFileSeed.h@{/src/blacknest/bds/bds/bdsDataLib/BdsSeed/BdsDataFileSeed.h}}
\mbox{\hyperlink{BdsDataFileSeed_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*******************************************************************************}}
\DoxyCodeLine{00002\ \textcolor{comment}{\ *\ \ BdsDataFileSeed.h\ \ \ SEED\ Data\ File\ Access}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ *\ \ T.Barnaby,\ \ BEAM\ Ltd,\ \ \ 2009-\/12-\/18}}
\DoxyCodeLine{00004\ \textcolor{comment}{\ *******************************************************************************}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#ifndef\ BdsDataFileSeed\_H}}
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#define\ BdsDataFileSeed\_H}}
\DoxyCodeLine{00008\ }
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ <\mbox{\hyperlink{BdsDataFile_8h}{BdsDataFile.h}}>}}
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#include\ <BdsSeedTypes.h>}}
\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#include\ <BMutex.h>}}
\DoxyCodeLine{00012\ }
\DoxyCodeLine{00013\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }MSRecord\_s\ \mbox{\hyperlink{BdsDataFileSeed_8h_aff04c0031066ecc48066b06b9293ba55}{MSRecord}};\ \textcolor{comment}{//\ Forward-\/declaration\ for\ libmseed\ type.}}
\DoxyCodeLine{00014\ }
\DoxyCodeLine{00015\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespaceBds}{Bds}}\ \{}
\DoxyCodeLine{00016\ }
\DoxyCodeLine{00018\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classBds_1_1DataFileSeed}{DataFileSeed}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classBds_1_1DataFile}{DataFile}}\{}
\DoxyCodeLine{00019\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00020\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_ad2e9353a69bf7ae04debe821245bd554}{DataFileSeed}}();}
\DoxyCodeLine{00021\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_ae49982e8007a927088f10731059060b1}{\string~DataFileSeed}}();}
\DoxyCodeLine{00022\ \ \ \ \ }
\DoxyCodeLine{00023\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_a249d90b8e1e4744d8823a1eda11d829d}{close}}();}
\DoxyCodeLine{00024\ }
\DoxyCodeLine{00025\ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFile_a3db096f327de3b65ced78b32aef07f07}{DataOrder}}\ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_aff7e606aa391030ffe68c34da1808b4b}{getDataOrder}}();}
\DoxyCodeLine{00026\ \ \ \ \ \textcolor{keywordtype}{int}\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_af3d8556bc7198366808df1e2d4084188}{getFeatures}}();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00027\ \ \ \ \ BString\ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_ad89d31fbcd763bd07e64ed2f38335df5}{getFixesInfo}}();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00028\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_a7731da0068b2f9dbfe3c1c5396f47dd5}{setFormat}}(BString\ format);}
\DoxyCodeLine{00029\ }
\DoxyCodeLine{00030\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Read\ routines}}
\DoxyCodeLine{00031\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_a772df8615e635dd0b6c9d2259eb321b1}{getInfo}}(\mbox{\hyperlink{classBds_1_1DataInfo}{DataInfo}}\&\ dataInfo,\ \mbox{\hyperlink{classBds_1_1DataFileOptions}{DataFileOptions}}\ options,\ BList<DataError>\&\ errors);}
\DoxyCodeLine{00032\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_ab1e7d8fd67635af4dde4f3d4076dc739}{readData}}(BUInt32\ channel,\ BUInt\ segment,\ BUInt32\ blockNumber,\ \mbox{\hyperlink{classBds_1_1DataBlock}{DataBlock}}\&\ data);}
\DoxyCodeLine{00033\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_ac272a22cb48aa766854f93ef38327998}{getMetaData}}(\mbox{\hyperlink{classBds_1_1ChannelInfos}{ChannelInfos}}\&\ channelInfos,\ BUInt32\ options,\ BList<DataError>\&\ errors);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00034\ }
\DoxyCodeLine{00035\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ Write\ routines}}
\DoxyCodeLine{00036\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_a8a0b5a4fcd8a09804d47e202b0c433e9}{setInfo}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classBds_1_1DataInfo}{DataInfo}}\&\ dataInfo,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{classBds_1_1ChannelInfos}{ChannelInfos}}\&\ channelInfos,\ \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153}{WriteOptionsList}}\ options\ =\ \mbox{\hyperlink{classBds_1_1DataFile_a470ee46f21caaaf26365b9503b428153a420fa6e5eaacb8e210c3ade68bbe64e6}{WriteOptionSensorData}});}
\DoxyCodeLine{00037\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_aa7cd40a08173a03eaac7fba3434c1c88}{start}}(BUInt\ channel,\ BUInt\ segment);}
\DoxyCodeLine{00038\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_a3a9c38892114e04567442db4aca166ce}{writeData}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classBds_1_1DataBlock}{DataBlock}}\&\ data);}
\DoxyCodeLine{00039\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_a604f445bf72b40eba7f7ddc72bb011b4}{end}}();\ \ \ }
\DoxyCodeLine{00040\ }
\DoxyCodeLine{00041\ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_a44a107609ea5ab0e97c1f5c030e3f7da}{msrFileWrite}}(\textcolor{keywordtype}{void}*\ data,\ \textcolor{keywordtype}{int}\ len);}
\DoxyCodeLine{00042\ }
\DoxyCodeLine{00043\ \ \ \ \ \textcolor{keyword}{static}\ DataFormats\ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_ad514c0fdd716c0eafb2c44958b2e2a1e}{getFormats}}();}
\DoxyCodeLine{00044\ \ \ \ \ \textcolor{keyword}{static}\ BError\ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_a3a06ab6539db8865886385290d63e207}{omsrErr}};\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00045\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ \ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileSeed_afdff0d8d2b2aafeaed0baf52abbc78e2}{onoLock}};\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00046\ }
\DoxyCodeLine{00047\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00048\ \ \ \ \ \textcolor{keyword}{class\ }NameDesc\ \{}
\DoxyCodeLine{00049\ \ \ \ \ \textcolor{keyword}{public}:}
\DoxyCodeLine{00050\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ NameDesc(BString\ name\ =\ \textcolor{stringliteral}{"{}"{}},\ BString\ desc\ =\ \textcolor{stringliteral}{"{}"{}})\ :\ name(name),\ desc(desc)\{\}}
\DoxyCodeLine{00051\ \ \ \ \ \ \ \ \ BString\ \ \ \ \ \ name;}
\DoxyCodeLine{00052\ \ \ \ \ \ \ \ \ BString\ \ \ \ \ \ desc;}
\DoxyCodeLine{00053\ \ \ \ \ \};}
\DoxyCodeLine{00054\ \ \ \ \ }
\DoxyCodeLine{00055\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ processControl();}
\DoxyCodeLine{00056\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ processBlockette();}
\DoxyCodeLine{00057\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ processData(\mbox{\hyperlink{classBds_1_1DataBlock}{DataBlock}}\&\ data,\ \textcolor{keywordtype}{int}\ addInfo);}
\DoxyCodeLine{00058\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ setBlockSize(BUInt\ blockSize);}
\DoxyCodeLine{00059\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ readBlockData(\textcolor{keywordtype}{char}*\ buf,\ BUInt\ numBytes);}
\DoxyCodeLine{00060\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ readBlock(BUInt64\ blockPosition,\ \textcolor{keywordtype}{char}\&\ type,\ \textcolor{keywordtype}{char}\&\ cont,\ BUInt\&\ seq);}
\DoxyCodeLine{00061\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ writeVolumeHeader(\textcolor{keywordtype}{int}\ rl);}
\DoxyCodeLine{00062\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ writeTimeSpans();}
\DoxyCodeLine{00063\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ writeBlockData(\textcolor{keywordtype}{char}\ type,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*\ buf,\ BUInt\ numBytes);}
\DoxyCodeLine{00064\ \ \ \ \ BError\ \ \ \ \ \ \ \ \ \ \ \ writeFlush();}
\DoxyCodeLine{00065\ \ \ \ \ \textcolor{keywordtype}{int}\ \ \ \ \ \ \ \ \ getChannel(BString\ name);}
\DoxyCodeLine{00066\ \ \ \ \ \textcolor{keywordtype}{void}\ \ \ \ \ \ \ \ \ \ \ \ sortChannels();\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00067\ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataError}{DataError}}\ \ \ \ \ \ getBlockReorderInfo();}
\DoxyCodeLine{00068\ \ \ \ \ }
\DoxyCodeLine{00069\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ addCode(BString\ str);}
\DoxyCodeLine{00070\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ addUnitCode(BString\ name,\ BString\ desc);}
\DoxyCodeLine{00071\ \ \ \ \ \mbox{\hyperlink{classBds_1_1Response}{Response}}*\ \ \ \ \ \ \ getResponse(BUInt\ stage);}
\DoxyCodeLine{00072\ }
\DoxyCodeLine{00073\ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataFileOptions}{DataFileOptions}}\ \ \ \ \ \ oreadOptions;}
\DoxyCodeLine{00074\ \ \ \ \ \mbox{\hyperlink{classBds_1_1DataInfo}{DataInfo}}\ \ \ \ \ \ \ \ odataInfo;}
\DoxyCodeLine{00075\ \ \ \ \ BString\ \ \ \ \ \ \ \ \ \ onetwork;}
\DoxyCodeLine{00076\ \ \ \ \ \mbox{\hyperlink{classBds_1_1ChannelInfos}{ChannelInfos}}\ \ \ \ \ \ \ \ ochannelInfos;}
\DoxyCodeLine{00077\ \ \ \ \ BArray<ChannelInfo>\ \ ochannelInfoSegments;}
\DoxyCodeLine{00078\ \ \ \ \ \mbox{\hyperlink{classBds_1_1ChannelInfo}{ChannelInfo}}\ \ \ \ \ \ ochannelInfo;}
\DoxyCodeLine{00079\ \ \ \ \ \textcolor{keywordtype}{double}\ \ \ \ \ \ \ \ \ \ osampleRate;}
\DoxyCodeLine{00080\ \ \ \ \ BArray<BArray<DataBlockPos>\ >\ \ \ \ oblockPositions;}
\DoxyCodeLine{00081\ }
\DoxyCodeLine{00082\ \ \ \ \ BUInt32\ \ \ \ \ \ \ \ \ \ oblockSize;\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00083\ \ \ \ \ \textcolor{keywordtype}{char}*\ \ \ \ \ \ \ \ \ \ \ oblock;\ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00084\ \ \ \ \ BUInt64\ \ \ \ \ \ \ \ \ \ oblockPosition;\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00085\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ opos;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00086\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ oblockNumberRead;\ \ \ \ \ \ \ }
\DoxyCodeLine{00087\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ oblockNumberWrite;\ \ \ \ \ \ }
\DoxyCodeLine{00088\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ oblocketteNumber;\ \ \ \ \ \ \ }
\DoxyCodeLine{00089\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ ologNumber;}
\DoxyCodeLine{00090\ }
\DoxyCodeLine{00091\ \ \ \ \ \textcolor{comment}{//\ SEED\ information}}
\DoxyCodeLine{00092\ \ \ \ \ BDictString\ \ \ \ \ \ ocodes;\ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00093\ \ \ \ \ BDict<NameDesc>\ \ \ \ \ \ ounitCodes;\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00094\ }
\DoxyCodeLine{00095\ \ \ \ \ \textcolor{comment}{//\ SEED\ import\ information}}
\DoxyCodeLine{00096\ \ \ \ \ BdsSeedType10\ \ \ \ \ \ \ otype10;\ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00097\ \ \ \ \ BdsSeedType11\ \ \ \ \ \ \ otype11;}
\DoxyCodeLine{00098\ \ \ \ \ BdsSeedType30\ \ \ \ \ \ \ otype30;}
\DoxyCodeLine{00099\ \ \ \ \ BdsSeedType52\ \ \ \ \ \ \ otype52;}
\DoxyCodeLine{00100\ \ \ \ \ BArray<BdsSeedType30>\ \ oseedDataFormats;\ \ \ \ \ \ \ }
\DoxyCodeLine{00101\ \ \ \ \ BArray<BdsSeedStation>\ \ \ \ oseedStations;\ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00102\ \ \ \ \ BArray<BdsSeedType52>\ \ oseedChannels;\ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00103\ \ \ \ \ }
\DoxyCodeLine{00104\ \ \ \ \ BArray<BString>\ \ \ \ \ \ odataChannels;\ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00105\ \ \ \ \ BArray<int>\ \ \ \ \ \ odataChannelFormats;\ \ \ \ \ \ \ \ }
\DoxyCodeLine{00106\ }
\DoxyCodeLine{00107\ \ \ \ \ \textcolor{comment}{//\ SEED\ export\ information}}
\DoxyCodeLine{00108\ \ \ \ \ BArray<BInt32>\ \ \ \ \ \ \ \ odataInt32;\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00109\ \ \ \ \ BArray<BFloat32>\ \ \ \ odataFloat32;\ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00110\ \ \ \ \ }
\DoxyCodeLine{00111\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ odataChannel;\ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00112\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ odataSegment;\ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00113\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ odataTimeSpanBlock;\ \ \ \ \ }
\DoxyCodeLine{00114\ \ \ \ \ BDict<int>\ \ \ \ \ \ \ \ ostationBlockNumbers;\ \ \ \ \ \ \ }
\DoxyCodeLine{00115\ \ \ \ \ BArray<BArray<BUInt32>\ >\ \ odataStartBlocks;\ \ \ }
\DoxyCodeLine{00116\ \ \ \ \ BArray<BArray<BUInt32>\ >\ \ odataEndBlocks;\ \ \ \ \ }
\DoxyCodeLine{00117\ }
\DoxyCodeLine{00118\ \ \ \ \ \textcolor{keyword}{static}\ BMutex\ \ \ \ \ olock;\ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00119\ \ \ \ \ \mbox{\hyperlink{BdsDataFileSeed_8h_aff04c0031066ecc48066b06b9293ba55}{MSRecord}}*\ \ \ \ \ \ \ omsr;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00120\ \ \ \ \ }
\DoxyCodeLine{00121\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ oabbrevCode;\ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00122\ \ \ \ \ BUInt\ \ \ \ \ \ \ \ \ \ oabbrevUnitsCode;\ \ \ \ \ \ \ }
\DoxyCodeLine{00123\ \};}
\DoxyCodeLine{00124\ }
\DoxyCodeLine{00125\ \}}
\DoxyCodeLine{00126\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
