22#ifndef BdsDataFileBds_H
23#define BdsDataFileBds_H 1
171 BError addInfoExtraPacket();
178 BError diskBlockWrite(
void* data,
BUInt32 numBytes,
int header = 0);
179 BError diskBlockWriteFlush();
180 BError diskBlockRead(
void* data,
BUInt32 numBytes,
int header = 0);
BdsDataFileBds: internal file storage data block position.
Definition: BdsDataFileBds.h:76
BTimeStamp startTime
Definition: BdsDataFileBds.h:82
BdsDataBlockPos(BTimeStamp startTime=0, BTimeStamp endTime=0, BUInt32 channel=0, BUInt32 numChannels=0, BUInt32 segment=0, BUInt64 position=0, BUInt64 numSamples=0)
Definition: BdsDataFileBds.h:78
BTimeStamp endTime
Definition: BdsDataFileBds.h:83
BUInt32 segment
Definition: BdsDataFileBds.h:86
BUInt32 channel
Definition: BdsDataFileBds.h:84
BUInt64 numSamples
Definition: BdsDataFileBds.h:88
BUInt32 numChannels
Definition: BdsDataFileBds.h:85
int operator<(const BdsDataBlockPos &b) const
Definition: BdsDataFileBds.h:80
BUInt64 position
Definition: BdsDataFileBds.h:87
BdsDataFileBds: internal file storage packet.
Definition: BdsDataFileBds.h:58
BdsDataPacket()
Definition: BdsDataFileBds.cpp:71
~BdsDataPacket()
Definition: BdsDataFileBds.cpp:75
void setChecksumAndLength()
Definition: BdsDataFileBds.cpp:88
void reset()
Definition: BdsDataFileBds.cpp:83
void clear()
Definition: BdsDataFileBds.cpp:78
BError validateChecksum()
Definition: BdsDataFileBds.cpp:106
BError setHeader(const BdsDataPacketHeader &header)
Definition: BdsDataFileBds.cpp:131
void dump()
Definition: BdsDataFileBds.cpp:155
BError getHeader(BdsDataPacketHeader &header)
Definition: BdsDataFileBds.cpp:143
BdsDataFileBds: internal file storage data segment.
Definition: BdsDataFileBds.h:92
BUInt32 numSamples
Definition: BdsDataFileBds.h:100
BTimeStamp endTime
Definition: BdsDataFileBds.h:98
BArray< BdsDataBlockPos > blocks
Definition: BdsDataFileBds.h:102
BdsDataSegment()
Definition: BdsDataFileBds.h:94
int operator<(const BdsDataSegment &b) const
Definition: BdsDataFileBds.h:95
BUInt32 numBlocks
Definition: BdsDataFileBds.h:99
double sampleRate
Definition: BdsDataFileBds.h:101
BTimeStamp startTime
Definition: BdsDataFileBds.h:97
BdsDataFileBds: internal file storage data streamlet.
Definition: BdsDataFileBds.h:106
BArray< BdsDataSegment > segments
Definition: BdsDataFileBds.h:115
BUInt64 position
Definition: BdsDataFileBds.h:111
BdsDataStreamlet()
Definition: BdsDataFileBds.h:108
BArray< BdsDataBlockPos > blocks
Definition: BdsDataFileBds.h:114
BUInt32 channel
Definition: BdsDataFileBds.h:112
BUInt32 packetNumber
Definition: BdsDataFileBds.h:110
BUInt32 numChannels
Definition: BdsDataFileBds.h:113
This class provides Metadata information on a set of channels.
Definition: BdsD.h:564
This class provides the actual Sensor data values contained within a single data block.
Definition: BdsD.h:707
This class implements the BDS Data File/Stream access system.
Definition: BdsDataFileBds.h:120
BError setDiskBlockSize(BUInt32 blockSize)
Sets up file/stream block size.
Definition: BdsDataFileBds.cpp:989
BError setInfo(const DataInfo &dataInfo, const ChannelInfos &channelInfos, WriteOptionsList options=WriteOptionSensorData)
Sets the information.
Definition: BdsDataFileBds.cpp:369
BError flush()
Flush any data to disk even if blocks are not full.
Definition: BdsDataFileBds.cpp:203
BError readData(BUInt32 channel, BUInt segment, BUInt32 blockNumber, DataBlock &dataBlock)
Read the data block for the given channel or all channels if blockNumber is 0.
Definition: BdsDataFileBds.cpp:877
BError setWritePositionForAppend()
Sets the next packet write position.
Definition: BdsDataFileBds.cpp:228
static DataFormats getFormats()
Get the names of the supported formats.
Definition: BdsDataFileBds.cpp:53
BError open(BString fileName, BString mode)
Open the file for reading or writing.
Definition: BdsDataFileBds.cpp:275
@ StreamsMax
Definition: BdsDataFileBds.h:122
BError packetRead(BdsDataPacket &packet)
Reads a packet from the file.
Definition: BdsDataFileBds.cpp:932
BError setFormat(BString format)
Sets the sub-format.
Definition: BdsDataFileBds.cpp:348
DataFileBds()
Definition: BdsDataFileBds.cpp:178
BError getInfo(DataInfo &dataInfo, DataFileOptions options, BList< DataError > &errors)
Get information on open file.
Definition: BdsDataFileBds.cpp:531
~DataFileBds()
Definition: BdsDataFileBds.cpp:184
BError setReadPositionToStart()
Definition: BdsDataFileBds.cpp:923
PackFormat
Definition: BdsDataFileBds.h:124
@ PackFormat_SM
Definition: BdsDataFileBds.h:124
@ PackFormat_CM
Definition: BdsDataFileBds.h:124
@ PackFormat_Unknown
Definition: BdsDataFileBds.h:124
@ PackFormat_SM_CC
Definition: BdsDataFileBds.h:124
BError close()
Close file.
Definition: BdsDataFileBds.cpp:194
BError seekBlock(BUInt32 channel, BUInt segment, BTimeStamp time, BUInt32 &blockNumber, BUInt64 &sampleNumber, DataBlock &dataBlock)
Find the block that contains the samples for the time requested.
Definition: BdsDataFileBds.cpp:829
BUInt32 getDiskBlockSize()
Returns the data block size in bytes.
Definition: BdsDataFileBds.cpp:985
BError streamletToChannel(BUInt streamlet, BUInt &channel)
Find streamlet given channel.
Definition: BdsDataFileBds.cpp:818
DataOrder getDataOrder()
Get the expected order of writing data, by sample or by channel.
Definition: BdsDataFileBds.cpp:475
BError writeData(const DataBlock &data)
Writes a data block to the file.
Definition: BdsDataFileBds.cpp:460
BError packetWrite(BdsDataPacket &packet)
Writes a packet to the file.
Definition: BdsDataFileBds.cpp:919
@ DefaultBlockSize
Definition: BdsDataFileBds.h:123
This defines a list of BDS data converter options.
Definition: BdsDataFile.h:30
This class defines the interface for generic data file access that all of the BDS data converters sha...
Definition: BdsDataFile.h:41
DataOrder
Definition: BdsDataFile.h:43
WriteOptionsList
Definition: BdsDataFile.h:45
@ WriteOptionSensorData
Definition: BdsDataFile.h:45
This class defines information on a set of data.
Definition: BdsD.h:640
BdsDataType
BdsDataFileBds: internal file block type field.
Definition: BdsDataFileBds.h:31
@ BdsDataTypeInfo
Definition: BdsDataFileBds.h:31
@ BdsDataTypeData
Definition: BdsDataFileBds.h:31
@ BdsDataTypeInfoExtra
Definition: BdsDataFileBds.h:31
@ BdsDataTypeBlock
Definition: BdsDataFileBds.h:31
BdsDataFileBds: internal fixed size BDS Data Block.
Definition: BdsDataFileBds.h:41
char data[4]
The packet data.
Definition: BdsDataFileBds.h:43
BdsDataBlockHeader header
Definition: BdsDataFileBds.h:42