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

Public Member Functions

 BloodPressureMessagePrivate (BloodPressureMessage *const q)
 
virtual ~BloodPressureMessagePrivate ()
 
- 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 BloodPressureMessage FIT message's timestamp field.
 
quint16 systolicPressure
 The BloodPressureMessage FIT message's systolicPressure field.
 
quint16 diastolicPressure
 The BloodPressureMessage FIT message's diastolicPressure field.
 
quint16 meanArterialPressure
 The BloodPressureMessage FIT message's meanArterialPressure field.
 
quint16 map3SampleMean
 The BloodPressureMessage FIT message's map3SampleMean field.
 
quint16 mapMorningValues
 The BloodPressureMessage FIT message's mapMorningValues field.
 
quint16 mapEveningValues
 The BloodPressureMessage FIT message's mapEveningValues field.
 
quint8 heartRate
 The BloodPressureMessage FIT message's heartRate field.
 
HrType heartRateType
 The BloodPressureMessage FIT message's heartRateType field.
 
BpStatus status
 The BloodPressureMessage FIT message's status field.
 
MessageIndex userProfileIndex
 The BloodPressureMessage FIT message's userProfileIndex field. More...
 
- 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 BloodPressureMessagePrivate class provides private implementation for the BloodPressureMessage.

See also
BloodPressureMessage

Definition at line 38 of file bloodpressuremessage_p.h.

Constructor & Destructor Documentation

◆ BloodPressureMessagePrivate()

BloodPressureMessagePrivate::BloodPressureMessagePrivate ( BloodPressureMessage *const  q)
explicit

Constructs a BloodPressureMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 323 of file bloodpressuremessage.cpp.

325  , timestamp(static_cast<DateTime>(-1))
326  , systolicPressure(0xFFFF)
327  , diastolicPressure(0xFFFF)
328  , meanArterialPressure(0xFFFF)
329  , map3SampleMean(0xFFFF)
330  , mapMorningValues(0xFFFF)
331  , mapEveningValues(0xFFFF)
332  , heartRate(0xFF)
333  , heartRateType(static_cast<HrType>(-1))
334  , status(static_cast<BpStatus>(-1))
335  , userProfileIndex(static_cast<MessageIndex>(-1))
336 {
337  globalMessageNumber = MesgNum::BloodPressure;
338 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
DateTime timestamp
The BloodPressureMessage FIT message's timestamp field.
quint16 mapEveningValues
The BloodPressureMessage FIT message's mapEveningValues field.
quint16 meanArterialPressure
The BloodPressureMessage FIT message's meanArterialPressure field.
quint16 map3SampleMean
The BloodPressureMessage FIT message's map3SampleMean field.
MessageIndex userProfileIndex
The BloodPressureMessage FIT message's userProfileIndex field.
quint16 mapMorningValues
The BloodPressureMessage FIT message's mapMorningValues field.
quint8 heartRate
The BloodPressureMessage FIT message's heartRate field.
BpStatus status
The BloodPressureMessage FIT message's status field.
quint16 diastolicPressure
The BloodPressureMessage FIT message's diastolicPressure field.
quint16 systolicPressure
The BloodPressureMessage FIT message's systolicPressure field.
HrType heartRateType
The BloodPressureMessage FIT message's heartRateType field.
HrType
Garmin FIT HrType type.
Definition: types.h:2151
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263
BpStatus
Garmin FIT BpStatus type.
Definition: types.h:2227
DateTime
Seconds since UTC 00:00 Dec 31 1989.
Definition: types.h:237

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~BloodPressureMessagePrivate()

BloodPressureMessagePrivate::~BloodPressureMessagePrivate ( )
virtual

Destroys the BloodPressureMessagePrivate object.

Definition at line 345 of file bloodpressuremessage.cpp.

346 {
347 
348 }

Member Function Documentation

◆ setField()

bool BloodPressureMessagePrivate::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 350 of file bloodpressuremessage.cpp.

352 {
353  switch (fieldId) {
354  case 253: // See Profile.xlsx::Messages:blood_pressure.timestamp
355  if (!verify(data, baseType, 4, FitBaseType::Uint32, "blood_pressure.timestamp")) return false;
356  this->timestamp = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
357  break;
358  case 0: // See Profile.xlsx::Messages:blood_pressure.systolicPressure
359  if (!verify(data, baseType, 2, FitBaseType::Uint16, "blood_pressure.systolicPressure")) return false;
360  this->systolicPressure = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
361  break;
362  case 1: // See Profile.xlsx::Messages:blood_pressure.diastolicPressure
363  if (!verify(data, baseType, 2, FitBaseType::Uint16, "blood_pressure.diastolicPressure")) return false;
364  this->diastolicPressure = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
365  break;
366  case 2: // See Profile.xlsx::Messages:blood_pressure.meanArterialPressure
367  if (!verify(data, baseType, 2, FitBaseType::Uint16, "blood_pressure.meanArterialPressure")) return false;
368  this->meanArterialPressure = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
369  break;
370  case 3: // See Profile.xlsx::Messages:blood_pressure.map3SampleMean
371  if (!verify(data, baseType, 2, FitBaseType::Uint16, "blood_pressure.map3SampleMean")) return false;
372  this->map3SampleMean = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
373  break;
374  case 4: // See Profile.xlsx::Messages:blood_pressure.mapMorningValues
375  if (!verify(data, baseType, 2, FitBaseType::Uint16, "blood_pressure.mapMorningValues")) return false;
376  this->mapMorningValues = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
377  break;
378  case 5: // See Profile.xlsx::Messages:blood_pressure.mapEveningValues
379  if (!verify(data, baseType, 2, FitBaseType::Uint16, "blood_pressure.mapEveningValues")) return false;
380  this->mapEveningValues = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
381  break;
382  case 6: // See Profile.xlsx::Messages:blood_pressure.heartRate
383  if (!verify(data, baseType, 1, FitBaseType::Uint8, "blood_pressure.heartRate")) return false;
384  this->heartRate = static_cast<quint8>(data.at(0));
385  break;
386  case 7: // See Profile.xlsx::Messages:blood_pressure.heartRateType
387  if (!verify(data, baseType, 1, FitBaseType::Enum, "blood_pressure.heartRateType")) return false;
388  this->heartRateType = static_cast<HrType>(data.at(0));
389  break;
390  case 8: // See Profile.xlsx::Messages:blood_pressure.status
391  if (!verify(data, baseType, 1, FitBaseType::Enum, "blood_pressure.status")) return false;
392  this->status = static_cast<BpStatus>(data.at(0));
393  break;
394  case 9: // See Profile.xlsx::Messages:blood_pressure.userProfileIndex
395  if (!verify(data, baseType, 2, FitBaseType::Uint16, "blood_pressure.userProfileIndex")) return false;
396  this->userProfileIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
397  break;
398  default:
399  qWarning() << "ignoring unknown blood_pressure message field number" << fieldId << bigEndian;
400  // Fall through to return true, as its still 'safe' to continue parsing data messages.
401  }
402  return true;
403 }
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:

Member Data Documentation

◆ userProfileIndex

MessageIndex BloodPressureMessagePrivate::userProfileIndex

The BloodPressureMessage FIT message's userProfileIndex field.

Associates this blood pressure message to a user. This corresponds to the index of the user profile message in the blood pressure file.

Definition at line 97 of file bloodpressuremessage_p.h.


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