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

Public Member Functions

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

Public Attributes

quint8z languages
 The CapabilitiesMessage FIT message's languages field. More...
 
SportBits0 sports
 The CapabilitiesMessage FIT message's sports field. More...
 
WorkoutCapabilities workoutsSupported
 The CapabilitiesMessage FIT message's workoutsSupported field.
 
ConnectivityCapabilities connectivitySupported
 The CapabilitiesMessage FIT message's connectivitySupported 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 CapabilitiesMessagePrivate class provides private implementation for the CapabilitiesMessage.

See also
CapabilitiesMessage

Definition at line 38 of file capabilitiesmessage_p.h.

Constructor & Destructor Documentation

◆ CapabilitiesMessagePrivate()

CapabilitiesMessagePrivate::CapabilitiesMessagePrivate ( CapabilitiesMessage *const  q)
explicit

Constructs a CapabilitiesMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 177 of file capabilitiesmessage.cpp.

179  , languages(static_cast<quint8z>(-1))
180  , sports(static_cast<SportBits0>(-1))
181  , workoutsSupported(static_cast<WorkoutCapabilities>(-1))
183 {
184  globalMessageNumber = MesgNum::Capabilities;
185 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
quint8z languages
The CapabilitiesMessage FIT message's languages field.
ConnectivityCapabilities connectivitySupported
The CapabilitiesMessage FIT message's connectivitySupported field.
WorkoutCapabilities workoutsSupported
The CapabilitiesMessage FIT message's workoutsSupported field.
SportBits0 sports
The CapabilitiesMessage FIT message's sports field.
ConnectivityCapabilities
Garmin FIT ConnectivityCapabilities type.
Definition: types.h:2424
SportBits0
Bit field corresponding to sport enum type (1 << sport).
Definition: types.h:748
WorkoutCapabilities
Garmin FIT WorkoutCapabilities type.
Definition: types.h:2106
QTFIT_BEGIN_NAMESPACE typedef quint8 quint8z
8-bit unsigned integer, with 0-is-invalid semantics.
Definition: types.h:45

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~CapabilitiesMessagePrivate()

CapabilitiesMessagePrivate::~CapabilitiesMessagePrivate ( )
virtual

Destroys the CapabilitiesMessagePrivate object.

Definition at line 192 of file capabilitiesmessage.cpp.

193 {
194 
195 }

Member Function Documentation

◆ setField()

bool CapabilitiesMessagePrivate::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 197 of file capabilitiesmessage.cpp.

199 {
200  switch (fieldId) {
201  case 0: // See Profile.xlsx::Messages:capabilities.languages
202  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "capabilities.languages")) return false;
203  this->languages = static_cast<quint8z>(data.at(0));
204  break;
205  case 1: // See Profile.xlsx::Messages:capabilities.sports
206  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "capabilities.sports")) return false;
207  this->sports = static_cast<SportBits0>(data.at(0));
208  break;
209  case 21: // See Profile.xlsx::Messages:capabilities.workoutsSupported
210  if (!verify(data, baseType, 4, FitBaseType::Uint32z, "capabilities.workoutsSupported")) return false;
211  this->workoutsSupported = static_cast<WorkoutCapabilities>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
212  break;
213  case 23: // See Profile.xlsx::Messages:capabilities.connectivitySupported
214  if (!verify(data, baseType, 4, FitBaseType::Uint32z, "capabilities.connectivitySupported")) return false;
215  this->connectivitySupported = static_cast<ConnectivityCapabilities>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
216  break;
217  default:
218  qWarning() << "ignoring unknown capabilities message field number" << fieldId << bigEndian;
219  // Fall through to return true, as its still 'safe' to continue parsing data messages.
220  }
221  return true;
222 }
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

◆ languages

quint8z CapabilitiesMessagePrivate::languages

The CapabilitiesMessage FIT message's languages field.

Use language_bits_x types where x is index of array.

Definition at line 46 of file capabilitiesmessage_p.h.

◆ sports

SportBits0 CapabilitiesMessagePrivate::sports

The CapabilitiesMessage FIT message's sports field.

Use sport_bits_x types where x is index of array.

Definition at line 53 of file capabilitiesmessage_p.h.


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