Bds::DataFile Class Reference

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

#include <BdsDataFile.h>

Inheritance diagram for Bds::DataFile:
Bds::DataFileAscii Bds::DataFileBdrs Bds::DataFileBds Bds::DataFileBknas Bds::DataFileCd Bds::DataFileGcf Bds::DataFileIms 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, WriteOptionMetaDataAll = 0x02 }
enum  ReadOptionsList {
  ReadOptionNone = 0x00, ReadOptionValidate = 0x01, ReadOptionFileNameProcess = 0x02, ReadOptionValidateCorruptions = 0x04,
  ReadOptionReorder = 0x08, ReadOptionDeleteDuplicates = 0x10, ReadOptionInfoExtra = 0x20
}
typedef int ReadOptions

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, ReadOptions 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.
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)
 Check if blocks are duplicates.

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 Typedef Documentation


Member Enumeration Documentation

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

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 
)

Check if blocks are duplicates.

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

End segment.

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

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

Parse the file name for a date/time.

DataFile::DataOrder Bds::DataFile::getDataOrder (  )  [virtual]

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

Reimplemented in Bds::DataFileAscii, Bds::DataFileBdrs, Bds::DataFileBds, Bds::DataFileCd, Bds::DataFileIms, Bds::DataFileWra, and Bds::DataFileWraAgso.

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

Return the file name.

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

Get sub-format.

DataFormat Bds::DataFile::getFormats (  )  [static]
BError Bds::DataFile::getInfo ( DataInfo dataInfo,
ReadOptions  options,
BList< DataError > &  errors 
) [virtual]
void Bds::DataFile::init (  )  [virtual]

Initialise.

BError Bds::DataFile::open ( BString  fileName,
BString  mode 
) [virtual]

Open the file for read or write.

Reimplemented in Bds::DataFileAscii, Bds::DataFileBds, Bds::DataFileBknas, Bds::DataFileIms, and Bds::DataFileTapeDigitiser.

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, and Bds::DataFileWra.

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

Set information on data for write.

Reimplemented in Bds::DataFileAscii, Bds::DataFileBds, Bds::DataFileBknas, Bds::DataFileIms, and Bds::DataFileSac.

BError Bds::DataFile::start ( BUInt  channel,
BUInt  segment 
) [virtual]

Start next segment of data.

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

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

Compare timestamps with a margin.

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

Write a block of data.

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


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 19 Jan 2012 for BdsApi by  doxygen 1.6.1