QtFit  0.1
Internal library development documentation
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
NmeaSentenceMessagePrivate Class Reference
Inheritance diagram for NmeaSentenceMessagePrivate:
[legend]
Collaboration diagram for NmeaSentenceMessagePrivate:
[legend]

Public Member Functions

 NmeaSentenceMessagePrivate (NmeaSentenceMessage *const q)
 
virtual ~NmeaSentenceMessagePrivate ()
 
- Public Member Functions inherited from AbstractDataMessagePrivate
 AbstractDataMessagePrivate (AbstractDataMessage *const q)
 
virtual ~AbstractDataMessagePrivate ()
 
bool setFields (const DataDefinition *const defn, const QByteArray &record)
 

Public Attributes

DateTime timestamp
 The NmeaSentenceMessage FIT message's timestamp field. More...
 
quint16 timestampMs
 The NmeaSentenceMessage FIT message's timestampMs field. More...
 
QString sentence
 The NmeaSentenceMessage FIT message's sentence field. More...
 
- Public Attributes inherited from AbstractDataMessagePrivate
MesgNum globalMessageNumber
 FIT Globla Message Number for this FIT Data Message.
 

Protected Member Functions

bool setField (const int fieldId, const QByteArray &data, const FitBaseType baseType, const bool bigEndian) override
 
- Protected Member Functions inherited from AbstractDataMessagePrivate
bool verify (const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
 

Additional Inherited Members

- Protected Attributes inherited from AbstractDataMessagePrivate
AbstractDataMessage *const q_ptr
 Internal q-pointer.
 

Detailed Description

The NmeaSentenceMessagePrivate class provides private implementation for the NmeaSentenceMessage.

See also
NmeaSentenceMessage

Definition at line 38 of file nmeasentencemessage_p.h.

Constructor & Destructor Documentation

◆ NmeaSentenceMessagePrivate()

NmeaSentenceMessagePrivate::NmeaSentenceMessagePrivate ( NmeaSentenceMessage *const  q)
explicit

Constructs a NmeaSentenceMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 158 of file nmeasentencemessage.cpp.

160  , timestamp(static_cast<DateTime>(-1))
161  , timestampMs(0xFFFF)
162 {
163  globalMessageNumber = MesgNum::NmeaSentence;
164 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
DateTime timestamp
The NmeaSentenceMessage FIT message's timestamp field.
quint16 timestampMs
The NmeaSentenceMessage FIT message's timestampMs field.
DateTime
Seconds since UTC 00:00 Dec 31 1989.
Definition: types.h:237

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~NmeaSentenceMessagePrivate()

NmeaSentenceMessagePrivate::~NmeaSentenceMessagePrivate ( )
virtual

Destroys the NmeaSentenceMessagePrivate object.

Definition at line 171 of file nmeasentencemessage.cpp.

172 {
173 
174 }

Member Function Documentation

◆ setField()

bool NmeaSentenceMessagePrivate::setField ( const int  fieldId,
const QByteArray &  data,
const FitBaseType  baseType,
const bool  bigEndian 
)
overrideprotectedvirtual

Sets the value of the fieldId field.

Derived classes must implement this method to extract the baseType value from data, and assign the extracted value the fieldId field.

Parameters
fieldIdThe field number within the given FIT data message.
dataThe raw data to extract the field value from.
baseTypeThe FIT base type for the field.
bigEndianWhether or not multibyte values in record are big-endian.
Returns
true if the field was set, or safely ignored; false otherwise.

Implements AbstractDataMessagePrivate.

Definition at line 176 of file nmeasentencemessage.cpp.

178 {
179  switch (fieldId) {
180  case 253: // See Profile.xlsx::Messages:nmea_sentence.timestamp
181  if (!verify(data, baseType, 4, FitBaseType::Uint32, "nmea_sentence.timestamp")) return false;
182  this->timestamp = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
183  break;
184  case 0: // See Profile.xlsx::Messages:nmea_sentence.timestampMs
185  if (!verify(data, baseType, 2, FitBaseType::Uint16, "nmea_sentence.timestampMs")) return false;
186  this->timestampMs = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
187  break;
188  case 1: // See Profile.xlsx::Messages:nmea_sentence.sentence
189  if (!verify(data, baseType, 1, FitBaseType::String, "nmea_sentence.sentence")) return false;
190  this->sentence = QString::fromUtf8(data);
191  break;
192  default:
193  qWarning() << "ignoring unknown nmea_sentence message field number" << fieldId << bigEndian;
194  // Fall through to return true, as its still 'safe' to continue parsing data messages.
195  }
196  return true;
197 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
QString sentence
The NmeaSentenceMessage FIT message's sentence field.

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

Member Data Documentation

◆ sentence

QString NmeaSentenceMessagePrivate::sentence

The NmeaSentenceMessage FIT message's sentence field.

NMEA sentence

Definition at line 60 of file nmeasentencemessage_p.h.

◆ timestamp

DateTime NmeaSentenceMessagePrivate::timestamp

The NmeaSentenceMessage FIT message's timestamp field.

Timestamp message was output

Definition at line 46 of file nmeasentencemessage_p.h.

◆ timestampMs

quint16 NmeaSentenceMessagePrivate::timestampMs

The NmeaSentenceMessage FIT message's timestampMs field.

Fractional part of timestamp, added to timestamp

Definition at line 53 of file nmeasentencemessage_p.h.


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