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

Public Member Functions

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

Public Attributes

MessageIndex messageIndex
 The TotalsMessage FIT message's messageIndex field.
 
DateTime timestamp
 The TotalsMessage FIT message's timestamp field.
 
quint32 timerTime
 The TotalsMessage FIT message's timerTime field. More...
 
quint32 distance
 The TotalsMessage FIT message's distance field.
 
quint32 calories
 The TotalsMessage FIT message's calories field.
 
Sport sport
 The TotalsMessage FIT message's sport field.
 
quint32 elapsedTime
 The TotalsMessage FIT message's elapsedTime field. More...
 
quint16 sessions
 The TotalsMessage FIT message's sessions field.
 
quint32 activeTime
 The TotalsMessage FIT message's activeTime field.
 
quint8 sportIndex
 The TotalsMessage FIT message's sportIndex field.
 
- 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 TotalsMessagePrivate class provides private implementation for the TotalsMessage.

See also
TotalsMessage

Definition at line 38 of file totalsmessage_p.h.

Constructor & Destructor Documentation

◆ TotalsMessagePrivate()

TotalsMessagePrivate::TotalsMessagePrivate ( TotalsMessage *const  q)
explicit

Constructs a TotalsMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 303 of file totalsmessage.cpp.

305  , messageIndex(static_cast<MessageIndex>(-1))
306  , timestamp(static_cast<DateTime>(-1))
307  , timerTime(0xFFFFFFFF)
308  , distance(0xFFFFFFFF)
309  , calories(0xFFFFFFFF)
310  , sport(static_cast<Sport>(-1))
311  , elapsedTime(0xFFFFFFFF)
312  , sessions(0xFFFF)
313  , activeTime(0xFFFFFFFF)
314  , sportIndex(0xFF)
315 {
316  globalMessageNumber = MesgNum::Totals;
317 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
quint32 elapsedTime
The TotalsMessage FIT message's elapsedTime field.
quint32 activeTime
The TotalsMessage FIT message's activeTime field.
quint32 distance
The TotalsMessage FIT message's distance field.
DateTime timestamp
The TotalsMessage FIT message's timestamp field.
Sport sport
The TotalsMessage FIT message's sport field.
MessageIndex messageIndex
The TotalsMessage FIT message's messageIndex field.
quint8 sportIndex
The TotalsMessage FIT message's sportIndex field.
quint16 sessions
The TotalsMessage FIT message's sessions field.
quint32 calories
The TotalsMessage FIT message's calories field.
quint32 timerTime
The TotalsMessage FIT message's timerTime field.
Sport
Garmin FIT Sport type.
Definition: types.h:685
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263
DateTime
Seconds since UTC 00:00 Dec 31 1989.
Definition: types.h:237

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~TotalsMessagePrivate()

TotalsMessagePrivate::~TotalsMessagePrivate ( )
virtual

Destroys the TotalsMessagePrivate object.

Definition at line 324 of file totalsmessage.cpp.

325 {
326 
327 }

Member Function Documentation

◆ setField()

bool TotalsMessagePrivate::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 329 of file totalsmessage.cpp.

331 {
332  switch (fieldId) {
333  case 254: // See Profile.xlsx::Messages:totals.messageIndex
334  if (!verify(data, baseType, 2, FitBaseType::Uint16, "totals.messageIndex")) return false;
335  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
336  break;
337  case 253: // See Profile.xlsx::Messages:totals.timestamp
338  if (!verify(data, baseType, 4, FitBaseType::Uint32, "totals.timestamp")) return false;
339  this->timestamp = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
340  break;
341  case 0: // See Profile.xlsx::Messages:totals.timerTime
342  if (!verify(data, baseType, 4, FitBaseType::Uint32, "totals.timerTime")) return false;
343  this->timerTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
344  break;
345  case 1: // See Profile.xlsx::Messages:totals.distance
346  if (!verify(data, baseType, 4, FitBaseType::Uint32, "totals.distance")) return false;
347  this->distance = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
348  break;
349  case 2: // See Profile.xlsx::Messages:totals.calories
350  if (!verify(data, baseType, 4, FitBaseType::Uint32, "totals.calories")) return false;
351  this->calories = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
352  break;
353  case 3: // See Profile.xlsx::Messages:totals.sport
354  if (!verify(data, baseType, 1, FitBaseType::Enum, "totals.sport")) return false;
355  this->sport = static_cast<Sport>(data.at(0));
356  break;
357  case 4: // See Profile.xlsx::Messages:totals.elapsedTime
358  if (!verify(data, baseType, 4, FitBaseType::Uint32, "totals.elapsedTime")) return false;
359  this->elapsedTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
360  break;
361  case 5: // See Profile.xlsx::Messages:totals.sessions
362  if (!verify(data, baseType, 2, FitBaseType::Uint16, "totals.sessions")) return false;
363  this->sessions = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
364  break;
365  case 6: // See Profile.xlsx::Messages:totals.activeTime
366  if (!verify(data, baseType, 4, FitBaseType::Uint32, "totals.activeTime")) return false;
367  this->activeTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
368  break;
369  case 9: // See Profile.xlsx::Messages:totals.sportIndex
370  if (!verify(data, baseType, 1, FitBaseType::Uint8, "totals.sportIndex")) return false;
371  this->sportIndex = static_cast<quint8>(data.at(0));
372  break;
373  default:
374  qWarning() << "ignoring unknown totals message field number" << fieldId << bigEndian;
375  // Fall through to return true, as its still 'safe' to continue parsing data messages.
376  }
377  return true;
378 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

Member Data Documentation

◆ elapsedTime

quint32 TotalsMessagePrivate::elapsedTime

The TotalsMessage FIT message's elapsedTime field.

Includes pauses

Definition at line 78 of file totalsmessage_p.h.

◆ timerTime

quint32 TotalsMessagePrivate::timerTime

The TotalsMessage FIT message's timerTime field.

Excludes pauses

Definition at line 56 of file totalsmessage_p.h.


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