Bds::DataFile Class Reference

This class defines the interface for generic data file access. More...

#include <BdsDataFile.h>

Inheritance diagram for Bds::DataFile:
Bds::DataFileAd22 Bds::DataFileAscii Bds::DataFileBdrs Bds::DataFileBds Bds::DataFileBknas Bds::DataFileCd Bds::DataFileGcf Bds::DataFileGcf Bds::DataFileIms Bds::DataFileLac Bds::DataFileLog Bds::DataFileResponse Bds::DataFileSac Bds::DataFileTapeDigitiser Bds::DataFileWra Bds::DataFileWraAgso

List of all members.

Public Types

enum  DataOrder { DataOrderUnknown, DataOrderAll, DataOrderSample, DataOrderChannel }
enum  Features { FeatureNone = 0x00, FeatureCanWrite = 0x01, FeatureCanRead = 0x02 }
enum  WriteOptionsList { WriteOptionNone = 0x00, WriteOptionSensorData = 0x01, WriteOptionNoMetadata = 0x02 }
enum  ReadOptionsList {
  ReadOptionNone = 0x00, ReadOptionValidate = 0x01, ReadOptionFileNameProcess = 0x02, ReadOptionValidateCorruptions = 0x04,
  ReadOptionReorder = 0x08, ReadOptionDeleteDuplicates = 0x10, ReadOptionInfoExtra = 0x20, ReadOptionIgnoreSamplerate = 0x40,
  ReadOptionPrintBlocks = 0x80
}

Public Member Functions

 DataFile ()
virtual ~DataFile ()
virtual void init ()
 Initialise.
virtual BError open (BString fileName, BString mode)
 Open the file for read or write.
virtual BError close ()
 Close the file.
virtual BError setFormat (BString format)
 Set the sub-format.
virtual BString getFileName ()
 Return the file name.
virtual DataOrder getDataOrder ()
 Get the expected order of writing data, by sample or by channel.
virtual int getFeatures ()
 Get bitmask of supported features.
virtual BError setInfo (DataInfo &dataInfo, ChannelInfos &channelInfos, WriteOptionsList options=WriteOptionNone)
 Set information on data for write.
virtual BError start (BUInt channel, BUInt segment)
 Start next segment of data.
virtual BError writeData (DataBlock &data)
 Write a block of data.
virtual BError end ()
 End segment.
virtual BError fileNameProcess ()
 Parse the file name for a date/time.
virtual BError getFormat (BString &format)
 Get sub-format.
virtual BError getInfo (DataInfo &dataInfo, DataFileOptions options, BList< DataError > &errors)
 Get info on data.
virtual BError seekBlock (BUInt32 channel, BUInt segment, BTimeStamp time, BUInt32 &blockNumber, BUInt64 &sampleNumber, DataBlock &data)
 Find requested block on given channel given a time.
virtual BError readData (BUInt32 channel, BUInt segment, BUInt32 blockNumber, DataBlock &dataBlock)
 Read a block.
virtual BError getMetaData (ChannelInfos &channelInfos)
 Return all known MetaData in the file.
void dataErrorFixup (DataInfo &dataInfo, BList< DataError > &errors)
 Fixup data errors, mainly start/end times to be within data.
BInt64 timeCompare (BTimeStamp t1, BTimeStamp t2, BUInt diff)
 Compare timestamps with a margin.
int duplicateCheck (DataBlock &data1, DataBlock &data2, BUInt channel=0)
 Check if blocks are duplicates.
BUInt64 getFilePosition ()

Static Public Member Functions

static DataFormat getFormats ()
 Get list of supported formats.

Protected Attributes

BString ofileName
BString omode
BTimeStamp ofileNameTime
BFile ofile
BString oformat

Detailed Description

This class defines the interface for generic data file access.


Member Enumeration Documentation

Enumerator:
DataOrderUnknown 
DataOrderAll 
DataOrderSample 
DataOrderChannel 
Enumerator:
FeatureNone 
FeatureCanWrite 
FeatureCanRead 
Enumerator:
ReadOptionNone 
ReadOptionValidate 
ReadOptionFileNameProcess 
ReadOptionValidateCorruptions 
ReadOptionReorder 
ReadOptionDeleteDuplicates 
ReadOptionInfoExtra 
ReadOptionIgnoreSamplerate 
ReadOptionPrintBlocks 
Enumerator:
WriteOptionNone 
WriteOptionSensorData 
WriteOptionNoMetadata 

Constructor & Destructor Documentation

Bds::DataFile::DataFile (  ) 
Bds::DataFile::~DataFile (  )  [virtual]

Member Function Documentation

BError Bds::DataFile::close (  )  [virtual]

Close the file.

Reimplemented in Bds::DataFileBds, and Bds::DataFileIms.

void Bds::DataFile::dataErrorFixup ( DataInfo dataInfo,
BList< DataError > &  errors 
)

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

int Bds::DataFile::duplicateCheck ( DataBlock data1,
DataBlock data2,
BUInt  channel = 0 
)

Check if blocks are duplicates.

BError Bds::DataFile::end (  )  [virtual]

End segment.

Reimplemented in Bds::DataFileAscii, Bds::DataFileIms, and Bds::DataFileLog.

BError Bds::DataFile::fileNameProcess (  )  [virtual]

Parse the file name for a date/time.

DataFile::DataOrder Bds::DataFile::getDataOrder (  )  [virtual]
int Bds::DataFile::getFeatures (  )  [virtual]
BString Bds::DataFile::getFileName (  )  [virtual]

Return the file name.

BUInt64 Bds::DataFile::getFilePosition (  ) 
BError Bds::DataFile::getFormat ( BString &  format  )  [virtual]

Get sub-format.

DataFormat Bds::DataFile::getFormats (  )  [static]
BError Bds::DataFile::getInfo ( DataInfo dataInfo,
DataFileOptions  options,
BList< DataError > &  errors 
) [virtual]
BError Bds::DataFile::getMetaData ( ChannelInfos channelInfos  )  [virtual]

Return all known MetaData in the file.

Reimplemented in Bds::DataFileIms, and Bds::DataFileResponse.

void Bds::DataFile::init (  )  [virtual]

Initialise.

BError Bds::DataFile::open ( BString  fileName,
BString  mode 
) [virtual]
BError Bds::DataFile::readData ( BUInt32  channel,
BUInt  segment,
BUInt32  blockNumber,
DataBlock dataBlock 
) [virtual]
BError Bds::DataFile::seekBlock ( BUInt32  channel,
BUInt  segment,
BTimeStamp  time,
BUInt32 &  blockNumber,
BUInt64 &  sampleNumber,
DataBlock data 
) [virtual]

Find requested block on given channel given a time.

Reimplemented in Bds::DataFileBds.

BError Bds::DataFile::setFormat ( BString  format  )  [virtual]

Set the sub-format.

Reimplemented in Bds::DataFileAscii, Bds::DataFileBds, Bds::DataFileLog, and Bds::DataFileWra.

BError Bds::DataFile::setInfo ( DataInfo dataInfo,
ChannelInfos channelInfos,
WriteOptionsList  options = WriteOptionNone 
) [virtual]
BError Bds::DataFile::start ( BUInt  channel,
BUInt  segment 
) [virtual]

Start next segment of data.

Reimplemented in Bds::DataFileAscii, Bds::DataFileIms, and Bds::DataFileLog.

BInt64 Bds::DataFile::timeCompare ( BTimeStamp  t1,
BTimeStamp  t2,
BUInt  diff 
)

Compare timestamps with a margin.

BError Bds::DataFile::writeData ( DataBlock data  )  [virtual]

Member Data Documentation

BFile Bds::DataFile::ofile [protected]
BString Bds::DataFile::ofileName [protected]
BTimeStamp Bds::DataFile::ofileNameTime [protected]
BString Bds::DataFile::oformat [protected]
BString Bds::DataFile::omode [protected]

The documentation for this class was generated from the following files:

Generated on 29 Jan 2015 for BdsApi by  doxygen 1.6.1