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

Public Member Functions

 WorkoutStepMessagePrivate (WorkoutStepMessage *const q)
 
virtual ~WorkoutStepMessagePrivate ()
 
- 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 WorkoutStepMessage FIT message's messageIndex field.
 
QString wktStepName
 The WorkoutStepMessage FIT message's wktStepName field.
 
WktStepDuration durationType
 The WorkoutStepMessage FIT message's durationType field.
 
quint32 durationValue
 The WorkoutStepMessage FIT message's durationValue field.
 
WktStepTarget targetType
 The WorkoutStepMessage FIT message's targetType field.
 
quint32 targetValue
 The WorkoutStepMessage FIT message's targetValue field.
 
quint32 customTargetValueLow
 The WorkoutStepMessage FIT message's customTargetValueLow field.
 
quint32 customTargetValueHigh
 The WorkoutStepMessage FIT message's customTargetValueHigh field.
 
Intensity intensity
 The WorkoutStepMessage FIT message's intensity field.
 
QString notes
 The WorkoutStepMessage FIT message's notes field.
 
WorkoutEquipment equipment
 The WorkoutStepMessage FIT message's equipment field.
 
ExerciseCategory exerciseCategory
 The WorkoutStepMessage FIT message's exerciseCategory field.
 
quint16 exerciseName
 The WorkoutStepMessage FIT message's exerciseName field.
 
quint16 exerciseWeight
 The WorkoutStepMessage FIT message's exerciseWeight field.
 
FitBaseUnit weightDisplayUnit
 The WorkoutStepMessage FIT message's weightDisplayUnit 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 WorkoutStepMessagePrivate class provides private implementation for the WorkoutStepMessage.

See also
WorkoutStepMessage

Definition at line 38 of file workoutstepmessage_p.h.

Constructor & Destructor Documentation

◆ WorkoutStepMessagePrivate()

WorkoutStepMessagePrivate::WorkoutStepMessagePrivate ( WorkoutStepMessage *const  q)
explicit

Constructs a WorkoutStepMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 404 of file workoutstepmessage.cpp.

406  , messageIndex(static_cast<MessageIndex>(-1))
407  , durationType(static_cast<WktStepDuration>(-1))
408  , durationValue(0xFFFFFFFF)
409  , targetType(static_cast<WktStepTarget>(-1))
410  , targetValue(0xFFFFFFFF)
411  , customTargetValueLow(0xFFFFFFFF)
412  , customTargetValueHigh(0xFFFFFFFF)
413  , intensity(static_cast<Intensity>(-1))
414  , equipment(static_cast<WorkoutEquipment>(-1))
415  , exerciseCategory(static_cast<ExerciseCategory>(-1))
416  , exerciseName(0xFFFF)
417  , exerciseWeight(0xFFFF)
418  , weightDisplayUnit(static_cast<FitBaseUnit>(-1))
419 {
420  globalMessageNumber = MesgNum::WorkoutStep;
421 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
quint16 exerciseName
The WorkoutStepMessage FIT message's exerciseName field.
quint32 customTargetValueLow
The WorkoutStepMessage FIT message's customTargetValueLow field.
ExerciseCategory exerciseCategory
The WorkoutStepMessage FIT message's exerciseCategory field.
MessageIndex messageIndex
The WorkoutStepMessage FIT message's messageIndex field.
quint16 exerciseWeight
The WorkoutStepMessage FIT message's exerciseWeight field.
quint32 targetValue
The WorkoutStepMessage FIT message's targetValue field.
Intensity intensity
The WorkoutStepMessage FIT message's intensity field.
WorkoutEquipment equipment
The WorkoutStepMessage FIT message's equipment field.
FitBaseUnit weightDisplayUnit
The WorkoutStepMessage FIT message's weightDisplayUnit field.
quint32 durationValue
The WorkoutStepMessage FIT message's durationValue field.
WktStepTarget targetType
The WorkoutStepMessage FIT message's targetType field.
quint32 customTargetValueHigh
The WorkoutStepMessage FIT message's customTargetValueHigh field.
WktStepDuration durationType
The WorkoutStepMessage FIT message's durationType field.
Intensity
Garmin FIT Intensity type.
Definition: types.h:994
WorkoutEquipment
Garmin FIT WorkoutEquipment type.
Definition: types.h:2835
ExerciseCategory
Garmin FIT ExerciseCategory type.
Definition: types.h:3510
FitBaseUnit
Garmin FIT FitBaseUnit type.
Definition: types.h:3481
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263
WktStepTarget
Garmin FIT WktStepTarget type.
Definition: types.h:1354
WktStepDuration
Garmin FIT WktStepDuration type.
Definition: types.h:1311

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~WorkoutStepMessagePrivate()

WorkoutStepMessagePrivate::~WorkoutStepMessagePrivate ( )
virtual

Destroys the WorkoutStepMessagePrivate object.

Definition at line 428 of file workoutstepmessage.cpp.

429 {
430 
431 }

Member Function Documentation

◆ setField()

bool WorkoutStepMessagePrivate::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 433 of file workoutstepmessage.cpp.

435 {
436  switch (fieldId) {
437  case 254: // See Profile.xlsx::Messages:workout_step.messageIndex
438  if (!verify(data, baseType, 2, FitBaseType::Uint16, "workout_step.messageIndex")) return false;
439  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
440  break;
441  case 0: // See Profile.xlsx::Messages:workout_step.wktStepName
442  if (!verify(data, baseType, 1, FitBaseType::String, "workout_step.wktStepName")) return false;
443  this->wktStepName = QString::fromUtf8(data);
444  break;
445  case 1: // See Profile.xlsx::Messages:workout_step.durationType
446  if (!verify(data, baseType, 1, FitBaseType::Enum, "workout_step.durationType")) return false;
447  this->durationType = static_cast<WktStepDuration>(data.at(0));
448  break;
449  case 2: // See Profile.xlsx::Messages:workout_step.durationValue
450  if (!verify(data, baseType, 4, FitBaseType::Uint32, "workout_step.durationValue")) return false;
451  this->durationValue = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
452  break;
453  case 3: // See Profile.xlsx::Messages:workout_step.targetType
454  if (!verify(data, baseType, 1, FitBaseType::Enum, "workout_step.targetType")) return false;
455  this->targetType = static_cast<WktStepTarget>(data.at(0));
456  break;
457  case 4: // See Profile.xlsx::Messages:workout_step.targetValue
458  if (!verify(data, baseType, 4, FitBaseType::Uint32, "workout_step.targetValue")) return false;
459  this->targetValue = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
460  break;
461  case 5: // See Profile.xlsx::Messages:workout_step.customTargetValueLow
462  if (!verify(data, baseType, 4, FitBaseType::Uint32, "workout_step.customTargetValueLow")) return false;
463  this->customTargetValueLow = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
464  break;
465  case 6: // See Profile.xlsx::Messages:workout_step.customTargetValueHigh
466  if (!verify(data, baseType, 4, FitBaseType::Uint32, "workout_step.customTargetValueHigh")) return false;
467  this->customTargetValueHigh = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
468  break;
469  case 7: // See Profile.xlsx::Messages:workout_step.intensity
470  if (!verify(data, baseType, 1, FitBaseType::Enum, "workout_step.intensity")) return false;
471  this->intensity = static_cast<Intensity>(data.at(0));
472  break;
473  case 8: // See Profile.xlsx::Messages:workout_step.notes
474  if (!verify(data, baseType, 1, FitBaseType::String, "workout_step.notes")) return false;
475  this->notes = QString::fromUtf8(data);
476  break;
477  case 9: // See Profile.xlsx::Messages:workout_step.equipment
478  if (!verify(data, baseType, 1, FitBaseType::Enum, "workout_step.equipment")) return false;
479  this->equipment = static_cast<WorkoutEquipment>(data.at(0));
480  break;
481  case 10: // See Profile.xlsx::Messages:workout_step.exerciseCategory
482  if (!verify(data, baseType, 2, FitBaseType::Uint16, "workout_step.exerciseCategory")) return false;
483  this->exerciseCategory = static_cast<ExerciseCategory>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
484  break;
485  case 11: // See Profile.xlsx::Messages:workout_step.exerciseName
486  if (!verify(data, baseType, 2, FitBaseType::Uint16, "workout_step.exerciseName")) return false;
487  this->exerciseName = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
488  break;
489  case 12: // See Profile.xlsx::Messages:workout_step.exerciseWeight
490  if (!verify(data, baseType, 2, FitBaseType::Uint16, "workout_step.exerciseWeight")) return false;
491  this->exerciseWeight = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
492  break;
493  case 13: // See Profile.xlsx::Messages:workout_step.weightDisplayUnit
494  if (!verify(data, baseType, 2, FitBaseType::Uint16, "workout_step.weightDisplayUnit")) return false;
495  this->weightDisplayUnit = static_cast<FitBaseUnit>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
496  break;
497  default:
498  qWarning() << "ignoring unknown workout_step message field number" << fieldId << bigEndian;
499  // Fall through to return true, as its still 'safe' to continue parsing data messages.
500  }
501  return true;
502 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
QString wktStepName
The WorkoutStepMessage FIT message's wktStepName field.
QString notes
The WorkoutStepMessage FIT message's notes field.

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

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