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

Public Member Functions

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

Public Attributes

DateTime timestamp
 The TrainingFileMessage FIT message's timestamp field.
 
File type
 The TrainingFileMessage FIT message's type field.
 
Manufacturer manufacturer
 The TrainingFileMessage FIT message's manufacturer field.
 
quint16 product
 The TrainingFileMessage FIT message's product field.
 
quint32z serialNumber
 The TrainingFileMessage FIT message's serialNumber field.
 
DateTime timeCreated
 The TrainingFileMessage FIT message's timeCreated 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 TrainingFileMessagePrivate class provides private implementation for the TrainingFileMessage.

See also
TrainingFileMessage

Definition at line 38 of file trainingfilemessage_p.h.

Constructor & Destructor Documentation

◆ TrainingFileMessagePrivate()

TrainingFileMessagePrivate::TrainingFileMessagePrivate ( TrainingFileMessage *const  q)
explicit

Constructs a TrainingFileMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 215 of file trainingfilemessage.cpp.

217  , timestamp(static_cast<DateTime>(-1))
218  , type(static_cast<File>(-1))
219  , manufacturer(static_cast<Manufacturer>(-1))
220  , product(0xFFFF)
221  , serialNumber(0)
222  , timeCreated(static_cast<DateTime>(-1))
223 {
224  globalMessageNumber = MesgNum::TrainingFile;
225 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
File type
The TrainingFileMessage FIT message's type field.
quint16 product
The TrainingFileMessage FIT message's product field.
DateTime timeCreated
The TrainingFileMessage FIT message's timeCreated field.
DateTime timestamp
The TrainingFileMessage FIT message's timestamp field.
Manufacturer manufacturer
The TrainingFileMessage FIT message's manufacturer field.
quint32z serialNumber
The TrainingFileMessage FIT message's serialNumber field.
Manufacturer
Garmin FIT Manufacturer type.
Definition: types.h:1484
File
Garmin FIT File type.
Definition: types.h:59
DateTime
Seconds since UTC 00:00 Dec 31 1989.
Definition: types.h:237

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~TrainingFileMessagePrivate()

TrainingFileMessagePrivate::~TrainingFileMessagePrivate ( )
virtual

Destroys the TrainingFileMessagePrivate object.

Definition at line 232 of file trainingfilemessage.cpp.

233 {
234 
235 }

Member Function Documentation

◆ setField()

bool TrainingFileMessagePrivate::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 237 of file trainingfilemessage.cpp.

239 {
240  switch (fieldId) {
241  case 253: // See Profile.xlsx::Messages:training_file.timestamp
242  if (!verify(data, baseType, 4, FitBaseType::Uint32, "training_file.timestamp")) return false;
243  this->timestamp = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
244  break;
245  case 0: // See Profile.xlsx::Messages:training_file.type
246  if (!verify(data, baseType, 1, FitBaseType::Enum, "training_file.type")) return false;
247  this->type = static_cast<File>(data.at(0));
248  break;
249  case 1: // See Profile.xlsx::Messages:training_file.manufacturer
250  if (!verify(data, baseType, 2, FitBaseType::Uint16, "training_file.manufacturer")) return false;
251  this->manufacturer = static_cast<Manufacturer>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
252  break;
253  case 2: // See Profile.xlsx::Messages:training_file.product
254  if (!verify(data, baseType, 2, FitBaseType::Uint16, "training_file.product")) return false;
255  this->product = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
256  break;
257  case 3: // See Profile.xlsx::Messages:training_file.serialNumber
258  if (!verify(data, baseType, 4, FitBaseType::Uint32z, "training_file.serialNumber")) return false;
259  this->serialNumber = static_cast<quint32z>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
260  break;
261  case 4: // See Profile.xlsx::Messages:training_file.timeCreated
262  if (!verify(data, baseType, 4, FitBaseType::Uint32, "training_file.timeCreated")) return false;
263  this->timeCreated = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
264  break;
265  default:
266  qWarning() << "ignoring unknown training_file message field number" << fieldId << bigEndian;
267  // Fall through to return true, as its still 'safe' to continue parsing data messages.
268  }
269  return true;
270 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
quint32 quint32z
32-bit unsigned integer, with 0-is-invalid semantics.
Definition: types.h:47

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

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