nidas  v1.2-1520
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
nidas::dynld::isff::PacketParser Class Reference

#include <Packets.h>

Public Types

enum  packet_type { NESDIS_PT, UNKNOWN_PT }
 
enum  info_type { NESDIS_IT, SUTRON_IT, UNKNOWN_IT }
 

Public Member Functions

 PacketParser () throw (nidas::util::ParseException)
 
 ~PacketParser ()
 
enum packet_type parse (const char *) throw (nidas::util::ParseException)
 
const nidas::util::UTimegetPacketTime () const
 
const PacketInfogetPacketInfo () const
 
int getStationId () const
 
int getConfigId () const
 
int getSampleId () const
 
void parseData (float *, int nvars)
 

Private Member Functions

 PacketParser (const PacketParser &)
 No copying. More...
 
PacketParseroperator= (const PacketParser &)
 No assignment. More...
 

Private Attributes

int _nPacketTypes
 
int _nInfoTypes
 
const size_t _nmatch
 Max number of parenthesized expressions in any regular expression. More...
 
::regmatch_t * _pmatch
 Array for returning pointer to beginning of the match to each parenthesized expression. More...
 
PacketInfo_packetInfo
 
int _infoType
 
nidas::util::UTime _packetTime
 
int _stationId
 
const char * _packetPtr
 Pointer into the current packet. More...
 
const char * _endOfPacket
 One past the end of the current packet. More...
 
int _configId
 
int _sampleId
 

Static Private Attributes

::regex_t ** _packetPreg = 0
 
::regex_t ** _infoPreg = 0
 
static nidas::util::Mutex _pregMutex
 

Member Enumeration Documentation

Enumerator
NESDIS_IT 
SUTRON_IT 
UNKNOWN_IT 
Enumerator
NESDIS_PT 
UNKNOWN_PT 

Constructor & Destructor Documentation

PacketParser::PacketParser ( )
throw (nidas::util::ParseException
)
PacketParser::~PacketParser ( )
nidas::dynld::isff::PacketParser::PacketParser ( const PacketParser )
private

No copying.

Member Function Documentation

int nidas::dynld::isff::PacketParser::getConfigId ( ) const
inline

References _configId.

const PacketInfo* nidas::dynld::isff::PacketParser::getPacketInfo ( ) const
inline

References _packetInfo.

const nidas::util::UTime& nidas::dynld::isff::PacketParser::getPacketTime ( ) const
inline

References _packetTime.

int nidas::dynld::isff::PacketParser::getSampleId ( ) const
inline

References _sampleId.

int nidas::dynld::isff::PacketParser::getStationId ( ) const
inline

References _stationId.

PacketParser& nidas::dynld::isff::PacketParser::operator= ( const PacketParser )
private

No assignment.

PacketParser::packet_type PacketParser::parse ( const char *  packet)
throw (nidas::util::ParseException
)
void PacketParser::parseData ( float *  fptr,
int  nvars 
)

Member Data Documentation

int nidas::dynld::isff::PacketParser::_configId
private

Referenced by getConfigId().

const char* nidas::dynld::isff::PacketParser::_endOfPacket
private

One past the end of the current packet.

regex_t ** PacketParser::_infoPreg = 0
staticprivate
int nidas::dynld::isff::PacketParser::_infoType
private
int nidas::dynld::isff::PacketParser::_nInfoTypes
private
const size_t nidas::dynld::isff::PacketParser::_nmatch
private

Max number of parenthesized expressions in any regular expression.

int nidas::dynld::isff::PacketParser::_nPacketTypes
private
PacketInfo* nidas::dynld::isff::PacketParser::_packetInfo
private

Referenced by getPacketInfo().

regex_t ** PacketParser::_packetPreg = 0
staticprivate
const char* nidas::dynld::isff::PacketParser::_packetPtr
private

Pointer into the current packet.

nidas::util::UTime nidas::dynld::isff::PacketParser::_packetTime
private

Referenced by getPacketTime().

::regmatch_t* nidas::dynld::isff::PacketParser::_pmatch
private

Array for returning pointer to beginning of the match to each parenthesized expression.

nidas::util::Mutex PacketParser::_pregMutex
staticprivate
int nidas::dynld::isff::PacketParser::_sampleId
private

Referenced by getSampleId().

int nidas::dynld::isff::PacketParser::_stationId
private

Referenced by getStationId().


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