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

Public Member Functions

 ExerciseTitleMessagePrivate (ExerciseTitleMessage *const q)
 
virtual ~ExerciseTitleMessagePrivate ()
 
- 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 ExerciseTitleMessage FIT message's messageIndex field.
 
ExerciseCategory exerciseCategory
 The ExerciseTitleMessage FIT message's exerciseCategory field.
 
quint16 exerciseName
 The ExerciseTitleMessage FIT message's exerciseName field.
 
QString wktStepName
 The ExerciseTitleMessage FIT message's wktStepName 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 ExerciseTitleMessagePrivate class provides private implementation for the ExerciseTitleMessage.

See also
ExerciseTitleMessage

Definition at line 38 of file exercisetitlemessage_p.h.

Constructor & Destructor Documentation

◆ ExerciseTitleMessagePrivate()

ExerciseTitleMessagePrivate::ExerciseTitleMessagePrivate ( ExerciseTitleMessage *const  q)
explicit

Constructs a ExerciseTitleMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 173 of file exercisetitlemessage.cpp.

175  , messageIndex(static_cast<MessageIndex>(-1))
176  , exerciseCategory(static_cast<ExerciseCategory>(-1))
177  , exerciseName(0xFFFF)
178 {
179  globalMessageNumber = MesgNum::ExerciseTitle;
180 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
MessageIndex messageIndex
The ExerciseTitleMessage FIT message's messageIndex field.
ExerciseCategory exerciseCategory
The ExerciseTitleMessage FIT message's exerciseCategory field.
quint16 exerciseName
The ExerciseTitleMessage FIT message's exerciseName field.
ExerciseCategory
Garmin FIT ExerciseCategory type.
Definition: types.h:3510
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~ExerciseTitleMessagePrivate()

ExerciseTitleMessagePrivate::~ExerciseTitleMessagePrivate ( )
virtual

Destroys the ExerciseTitleMessagePrivate object.

Definition at line 187 of file exercisetitlemessage.cpp.

188 {
189 
190 }

Member Function Documentation

◆ setField()

bool ExerciseTitleMessagePrivate::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 192 of file exercisetitlemessage.cpp.

194 {
195  switch (fieldId) {
196  case 254: // See Profile.xlsx::Messages:exercise_title.messageIndex
197  if (!verify(data, baseType, 2, FitBaseType::Uint16, "exercise_title.messageIndex")) return false;
198  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
199  break;
200  case 0: // See Profile.xlsx::Messages:exercise_title.exerciseCategory
201  if (!verify(data, baseType, 2, FitBaseType::Uint16, "exercise_title.exerciseCategory")) return false;
202  this->exerciseCategory = static_cast<ExerciseCategory>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
203  break;
204  case 1: // See Profile.xlsx::Messages:exercise_title.exerciseName
205  if (!verify(data, baseType, 2, FitBaseType::Uint16, "exercise_title.exerciseName")) return false;
206  this->exerciseName = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
207  break;
208  case 2: // See Profile.xlsx::Messages:exercise_title.wktStepName
209  if (!verify(data, baseType, 1, FitBaseType::String, "exercise_title.wktStepName")) return false;
210  this->wktStepName = QString::fromUtf8(data);
211  break;
212  default:
213  qWarning() << "ignoring unknown exercise_title message field number" << fieldId << bigEndian;
214  // Fall through to return true, as its still 'safe' to continue parsing data messages.
215  }
216  return true;
217 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
QString wktStepName
The ExerciseTitleMessage FIT message's wktStepName field.

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

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