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

Public Member Functions

 GoalMessagePrivate (GoalMessage *const q)
 
virtual ~GoalMessagePrivate ()
 
- 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 GoalMessage FIT message's messageIndex field.
 
Sport sport
 The GoalMessage FIT message's sport field.
 
SubSport subSport
 The GoalMessage FIT message's subSport field.
 
DateTime startDate
 The GoalMessage FIT message's startDate field.
 
DateTime endDate
 The GoalMessage FIT message's endDate field.
 
Goal type
 The GoalMessage FIT message's type field.
 
quint32 value
 The GoalMessage FIT message's value field.
 
bool repeat
 The GoalMessage FIT message's repeat field.
 
quint32 targetValue
 The GoalMessage FIT message's targetValue field.
 
GoalRecurrence recurrence
 The GoalMessage FIT message's recurrence field.
 
quint16 recurrenceValue
 The GoalMessage FIT message's recurrenceValue field.
 
bool enabled
 The GoalMessage FIT message's enabled field.
 
GoalSource source
 The GoalMessage FIT message's source 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 GoalMessagePrivate class provides private implementation for the GoalMessage.

See also
GoalMessage

Definition at line 38 of file goalmessage_p.h.

Constructor & Destructor Documentation

◆ GoalMessagePrivate()

GoalMessagePrivate::GoalMessagePrivate ( GoalMessage *const  q)
explicit

Constructs a GoalMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 362 of file goalmessage.cpp.

364  , messageIndex(static_cast<MessageIndex>(-1))
365  , sport(static_cast<Sport>(-1))
366  , subSport(static_cast<SubSport>(-1))
367  , startDate(static_cast<DateTime>(-1))
368  , endDate(static_cast<DateTime>(-1))
369  , type(static_cast<Goal>(-1))
370  , value(0xFFFFFFFF)
371  , repeat(static_cast<bool>(-1))
372  , targetValue(0xFFFFFFFF)
373  , recurrence(static_cast<GoalRecurrence>(-1))
374  , recurrenceValue(0xFFFF)
375  , enabled(static_cast<bool>(-1))
376  , source(static_cast<GoalSource>(-1))
377 {
378  globalMessageNumber = MesgNum::Goal;
379 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
quint32 targetValue
The GoalMessage FIT message's targetValue field.
Definition: goalmessage_p.h:84
SubSport subSport
The GoalMessage FIT message's subSport field.
Definition: goalmessage_p.h:54
DateTime startDate
The GoalMessage FIT message's startDate field.
Definition: goalmessage_p.h:59
MessageIndex messageIndex
The GoalMessage FIT message's messageIndex field.
Definition: goalmessage_p.h:44
quint32 value
The GoalMessage FIT message's value field.
Definition: goalmessage_p.h:74
GoalSource source
The GoalMessage FIT message's source field.
GoalRecurrence recurrence
The GoalMessage FIT message's recurrence field.
Definition: goalmessage_p.h:89
Sport sport
The GoalMessage FIT message's sport field.
Definition: goalmessage_p.h:49
DateTime endDate
The GoalMessage FIT message's endDate field.
Definition: goalmessage_p.h:64
quint16 recurrenceValue
The GoalMessage FIT message's recurrenceValue field.
Definition: goalmessage_p.h:94
Goal type
The GoalMessage FIT message's type field.
Definition: goalmessage_p.h:69
bool enabled
The GoalMessage FIT message's enabled field.
Definition: goalmessage_p.h:99
bool repeat
The GoalMessage FIT message's repeat field.
Definition: goalmessage_p.h:79
Goal
Garmin FIT Goal type.
Definition: types.h:1380
GoalRecurrence
Garmin FIT GoalRecurrence type.
Definition: types.h:1399
Sport
Garmin FIT Sport type.
Definition: types.h:685
GoalSource
Garmin FIT GoalSource type.
Definition: types.h:1417
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263
SubSport
Garmin FIT SubSport type.
Definition: types.h:881
DateTime
Seconds since UTC 00:00 Dec 31 1989.
Definition: types.h:237

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~GoalMessagePrivate()

GoalMessagePrivate::~GoalMessagePrivate ( )
virtual

Destroys the GoalMessagePrivate object.

Definition at line 386 of file goalmessage.cpp.

387 {
388 
389 }

Member Function Documentation

◆ setField()

bool GoalMessagePrivate::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 391 of file goalmessage.cpp.

393 {
394  switch (fieldId) {
395  case 254: // See Profile.xlsx::Messages:goal.messageIndex
396  if (!verify(data, baseType, 2, FitBaseType::Uint16, "goal.messageIndex")) return false;
397  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
398  break;
399  case 0: // See Profile.xlsx::Messages:goal.sport
400  if (!verify(data, baseType, 1, FitBaseType::Enum, "goal.sport")) return false;
401  this->sport = static_cast<Sport>(data.at(0));
402  break;
403  case 1: // See Profile.xlsx::Messages:goal.subSport
404  if (!verify(data, baseType, 1, FitBaseType::Enum, "goal.subSport")) return false;
405  this->subSport = static_cast<SubSport>(data.at(0));
406  break;
407  case 2: // See Profile.xlsx::Messages:goal.startDate
408  if (!verify(data, baseType, 4, FitBaseType::Uint32, "goal.startDate")) return false;
409  this->startDate = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
410  break;
411  case 3: // See Profile.xlsx::Messages:goal.endDate
412  if (!verify(data, baseType, 4, FitBaseType::Uint32, "goal.endDate")) return false;
413  this->endDate = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
414  break;
415  case 4: // See Profile.xlsx::Messages:goal.type
416  if (!verify(data, baseType, 1, FitBaseType::Enum, "goal.type")) return false;
417  this->type = static_cast<Goal>(data.at(0));
418  break;
419  case 5: // See Profile.xlsx::Messages:goal.value
420  if (!verify(data, baseType, 4, FitBaseType::Uint32, "goal.value")) return false;
421  this->value = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
422  break;
423  case 6: // See Profile.xlsx::Messages:goal.repeat
424  if (!verify(data, baseType, 0, FitBaseType::Byte, "goal.repeat")) return false;
425  this->repeat = static_cast<bool>(data.at(0));
426  break;
427  case 7: // See Profile.xlsx::Messages:goal.targetValue
428  if (!verify(data, baseType, 4, FitBaseType::Uint32, "goal.targetValue")) return false;
429  this->targetValue = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
430  break;
431  case 8: // See Profile.xlsx::Messages:goal.recurrence
432  if (!verify(data, baseType, 1, FitBaseType::Enum, "goal.recurrence")) return false;
433  this->recurrence = static_cast<GoalRecurrence>(data.at(0));
434  break;
435  case 9: // See Profile.xlsx::Messages:goal.recurrenceValue
436  if (!verify(data, baseType, 2, FitBaseType::Uint16, "goal.recurrenceValue")) return false;
437  this->recurrenceValue = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
438  break;
439  case 10: // See Profile.xlsx::Messages:goal.enabled
440  if (!verify(data, baseType, 0, FitBaseType::Byte, "goal.enabled")) return false;
441  this->enabled = static_cast<bool>(data.at(0));
442  break;
443  case 11: // See Profile.xlsx::Messages:goal.source
444  if (!verify(data, baseType, 1, FitBaseType::Enum, "goal.source")) return false;
445  this->source = static_cast<GoalSource>(data.at(0));
446  break;
447  default:
448  qWarning() << "ignoring unknown goal message field number" << fieldId << bigEndian;
449  // Fall through to return true, as its still 'safe' to continue parsing data messages.
450  }
451  return true;
452 }
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:

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