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

Public Member Functions

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

Public Attributes

QString name
 The SegmentIdMessage FIT message's name field. More...
 
QString uuid
 The SegmentIdMessage FIT message's uuid field. More...
 
Sport sport
 The SegmentIdMessage FIT message's sport field. More...
 
bool enabled
 The SegmentIdMessage FIT message's enabled field. More...
 
quint32 userProfilePrimaryKey
 The SegmentIdMessage FIT message's userProfilePrimaryKey field. More...
 
quint32 deviceId
 The SegmentIdMessage FIT message's deviceId field. More...
 
quint8 defaultRaceLeader
 The SegmentIdMessage FIT message's defaultRaceLeader field. More...
 
SegmentDeleteStatus deleteStatus
 The SegmentIdMessage FIT message's deleteStatus field. More...
 
SegmentSelectionType selectionType
 The SegmentIdMessage FIT message's selectionType 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 SegmentIdMessagePrivate class provides private implementation for the SegmentIdMessage.

See also
SegmentIdMessage

Definition at line 38 of file segmentidmessage_p.h.

Constructor & Destructor Documentation

◆ SegmentIdMessagePrivate()

SegmentIdMessagePrivate::SegmentIdMessagePrivate ( SegmentIdMessage *const  q)
explicit

Constructs a SegmentIdMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 296 of file segmentidmessage.cpp.

298  , sport(static_cast<Sport>(-1))
299  , enabled(static_cast<bool>(-1))
300  , userProfilePrimaryKey(0xFFFFFFFF)
301  , deviceId(0xFFFFFFFF)
302  , defaultRaceLeader(0xFF)
303  , deleteStatus(static_cast<SegmentDeleteStatus>(-1))
304  , selectionType(static_cast<SegmentSelectionType>(-1))
305 {
306  globalMessageNumber = MesgNum::SegmentId;
307 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
SegmentSelectionType selectionType
The SegmentIdMessage FIT message's selectionType field.
quint32 userProfilePrimaryKey
The SegmentIdMessage FIT message's userProfilePrimaryKey field.
quint8 defaultRaceLeader
The SegmentIdMessage FIT message's defaultRaceLeader field.
quint32 deviceId
The SegmentIdMessage FIT message's deviceId field.
Sport sport
The SegmentIdMessage FIT message's sport field.
bool enabled
The SegmentIdMessage FIT message's enabled field.
SegmentDeleteStatus deleteStatus
The SegmentIdMessage FIT message's deleteStatus field.
SegmentDeleteStatus
Garmin FIT SegmentDeleteStatus type.
Definition: types.h:2760
Sport
Garmin FIT Sport type.
Definition: types.h:685
SegmentSelectionType
Garmin FIT SegmentSelectionType type.
Definition: types.h:2775

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~SegmentIdMessagePrivate()

SegmentIdMessagePrivate::~SegmentIdMessagePrivate ( )
virtual

Destroys the SegmentIdMessagePrivate object.

Definition at line 314 of file segmentidmessage.cpp.

315 {
316 
317 }

Member Function Documentation

◆ setField()

bool SegmentIdMessagePrivate::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 319 of file segmentidmessage.cpp.

321 {
322  switch (fieldId) {
323  case 0: // See Profile.xlsx::Messages:segment_id.name
324  if (!verify(data, baseType, 1, FitBaseType::String, "segment_id.name")) return false;
325  this->name = QString::fromUtf8(data);
326  break;
327  case 1: // See Profile.xlsx::Messages:segment_id.uuid
328  if (!verify(data, baseType, 1, FitBaseType::String, "segment_id.uuid")) return false;
329  this->uuid = QString::fromUtf8(data);
330  break;
331  case 2: // See Profile.xlsx::Messages:segment_id.sport
332  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_id.sport")) return false;
333  this->sport = static_cast<Sport>(data.at(0));
334  break;
335  case 3: // See Profile.xlsx::Messages:segment_id.enabled
336  if (!verify(data, baseType, 0, FitBaseType::Byte, "segment_id.enabled")) return false;
337  this->enabled = static_cast<bool>(data.at(0));
338  break;
339  case 4: // See Profile.xlsx::Messages:segment_id.userProfilePrimaryKey
340  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_id.userProfilePrimaryKey")) return false;
341  this->userProfilePrimaryKey = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
342  break;
343  case 5: // See Profile.xlsx::Messages:segment_id.deviceId
344  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_id.deviceId")) return false;
345  this->deviceId = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
346  break;
347  case 6: // See Profile.xlsx::Messages:segment_id.defaultRaceLeader
348  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_id.defaultRaceLeader")) return false;
349  this->defaultRaceLeader = static_cast<quint8>(data.at(0));
350  break;
351  case 7: // See Profile.xlsx::Messages:segment_id.deleteStatus
352  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_id.deleteStatus")) return false;
353  this->deleteStatus = static_cast<SegmentDeleteStatus>(data.at(0));
354  break;
355  case 8: // See Profile.xlsx::Messages:segment_id.selectionType
356  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_id.selectionType")) return false;
357  this->selectionType = static_cast<SegmentSelectionType>(data.at(0));
358  break;
359  default:
360  qWarning() << "ignoring unknown segment_id message field number" << fieldId << bigEndian;
361  // Fall through to return true, as its still 'safe' to continue parsing data messages.
362  }
363  return true;
364 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
QString uuid
The SegmentIdMessage FIT message's uuid field.
QString name
The SegmentIdMessage FIT message's name field.

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

Member Data Documentation

◆ defaultRaceLeader

quint8 SegmentIdMessagePrivate::defaultRaceLeader

The SegmentIdMessage FIT message's defaultRaceLeader field.

Index for the Leader Board entry selected as the default race participant

Definition at line 88 of file segmentidmessage_p.h.

◆ deleteStatus

SegmentDeleteStatus SegmentIdMessagePrivate::deleteStatus

The SegmentIdMessage FIT message's deleteStatus field.

Indicates if any segments should be deleted

Definition at line 95 of file segmentidmessage_p.h.

◆ deviceId

quint32 SegmentIdMessagePrivate::deviceId

The SegmentIdMessage FIT message's deviceId field.

ID of the device that created the segment

Definition at line 81 of file segmentidmessage_p.h.

◆ enabled

bool SegmentIdMessagePrivate::enabled

The SegmentIdMessage FIT message's enabled field.

Segment enabled for evaluation

Definition at line 67 of file segmentidmessage_p.h.

◆ name

QString SegmentIdMessagePrivate::name

The SegmentIdMessage FIT message's name field.

Friendly name assigned to segment

Definition at line 46 of file segmentidmessage_p.h.

◆ selectionType

SegmentSelectionType SegmentIdMessagePrivate::selectionType

The SegmentIdMessage FIT message's selectionType field.

Indicates how the segment was selected to be sent to the device

Definition at line 102 of file segmentidmessage_p.h.

◆ sport

Sport SegmentIdMessagePrivate::sport

The SegmentIdMessage FIT message's sport field.

Sport associated with the segment

Definition at line 60 of file segmentidmessage_p.h.

◆ userProfilePrimaryKey

quint32 SegmentIdMessagePrivate::userProfilePrimaryKey

The SegmentIdMessage FIT message's userProfilePrimaryKey field.

Primary key of the user that created the segment

Definition at line 74 of file segmentidmessage_p.h.

◆ uuid

QString SegmentIdMessagePrivate::uuid

The SegmentIdMessage FIT message's uuid field.

UUID of the segment

Definition at line 53 of file segmentidmessage_p.h.


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