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

Public Member Functions

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

Public Attributes

Sport sport
 The WorkoutMessage FIT message's sport field.
 
WorkoutCapabilities capabilities
 The WorkoutMessage FIT message's capabilities field.
 
quint16 numValidSteps
 The WorkoutMessage FIT message's numValidSteps field. More...
 
QString wktName
 The WorkoutMessage FIT message's wktName field.
 
SubSport subSport
 The WorkoutMessage FIT message's subSport field.
 
quint16 poolLength
 The WorkoutMessage FIT message's poolLength field.
 
DisplayMeasure poolLengthUnit
 The WorkoutMessage FIT message's poolLengthUnit 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 WorkoutMessagePrivate class provides private implementation for the WorkoutMessage.

See also
WorkoutMessage

Definition at line 38 of file workoutmessage_p.h.

Constructor & Destructor Documentation

◆ WorkoutMessagePrivate()

WorkoutMessagePrivate::WorkoutMessagePrivate ( WorkoutMessage *const  q)
explicit

Constructs a WorkoutMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 238 of file workoutmessage.cpp.

240  , sport(static_cast<Sport>(-1))
241  , capabilities(static_cast<WorkoutCapabilities>(-1))
242  , numValidSteps(0xFFFF)
243  , subSport(static_cast<SubSport>(-1))
244  , poolLength(0xFFFF)
245  , poolLengthUnit(static_cast<DisplayMeasure>(-1))
246 {
247  globalMessageNumber = MesgNum::Workout;
248 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
WorkoutCapabilities capabilities
The WorkoutMessage FIT message's capabilities field.
quint16 poolLength
The WorkoutMessage FIT message's poolLength field.
DisplayMeasure poolLengthUnit
The WorkoutMessage FIT message's poolLengthUnit field.
Sport sport
The WorkoutMessage FIT message's sport field.
SubSport subSport
The WorkoutMessage FIT message's subSport field.
quint16 numValidSteps
The WorkoutMessage FIT message's numValidSteps field.
Sport
Garmin FIT Sport type.
Definition: types.h:685
DisplayMeasure
Garmin FIT DisplayMeasure type.
Definition: types.h:572
WorkoutCapabilities
Garmin FIT WorkoutCapabilities type.
Definition: types.h:2106
SubSport
Garmin FIT SubSport type.
Definition: types.h:881

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~WorkoutMessagePrivate()

WorkoutMessagePrivate::~WorkoutMessagePrivate ( )
virtual

Destroys the WorkoutMessagePrivate object.

Definition at line 255 of file workoutmessage.cpp.

256 {
257 
258 }

Member Function Documentation

◆ setField()

bool WorkoutMessagePrivate::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 260 of file workoutmessage.cpp.

262 {
263  switch (fieldId) {
264  case 4: // See Profile.xlsx::Messages:workout.sport
265  if (!verify(data, baseType, 1, FitBaseType::Enum, "workout.sport")) return false;
266  this->sport = static_cast<Sport>(data.at(0));
267  break;
268  case 5: // See Profile.xlsx::Messages:workout.capabilities
269  if (!verify(data, baseType, 4, FitBaseType::Uint32z, "workout.capabilities")) return false;
270  this->capabilities = static_cast<WorkoutCapabilities>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
271  break;
272  case 6: // See Profile.xlsx::Messages:workout.numValidSteps
273  if (!verify(data, baseType, 2, FitBaseType::Uint16, "workout.numValidSteps")) return false;
274  this->numValidSteps = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
275  break;
276  case 8: // See Profile.xlsx::Messages:workout.wktName
277  if (!verify(data, baseType, 1, FitBaseType::String, "workout.wktName")) return false;
278  this->wktName = QString::fromUtf8(data);
279  break;
280  case 11: // See Profile.xlsx::Messages:workout.subSport
281  if (!verify(data, baseType, 1, FitBaseType::Enum, "workout.subSport")) return false;
282  this->subSport = static_cast<SubSport>(data.at(0));
283  break;
284  case 14: // See Profile.xlsx::Messages:workout.poolLength
285  if (!verify(data, baseType, 2, FitBaseType::Uint16, "workout.poolLength")) return false;
286  this->poolLength = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
287  break;
288  case 15: // See Profile.xlsx::Messages:workout.poolLengthUnit
289  if (!verify(data, baseType, 1, FitBaseType::Enum, "workout.poolLengthUnit")) return false;
290  this->poolLengthUnit = static_cast<DisplayMeasure>(data.at(0));
291  break;
292  default:
293  qWarning() << "ignoring unknown workout message field number" << fieldId << bigEndian;
294  // Fall through to return true, as its still 'safe' to continue parsing data messages.
295  }
296  return true;
297 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
QString wktName
The WorkoutMessage FIT message's wktName field.

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

Member Data Documentation

◆ numValidSteps

quint16 WorkoutMessagePrivate::numValidSteps

The WorkoutMessage FIT message's numValidSteps field.

number of valid steps

Definition at line 56 of file workoutmessage_p.h.


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