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

Public Member Functions

 MesgCapabilitiesMessagePrivate (MesgCapabilitiesMessage *const q)
 
virtual ~MesgCapabilitiesMessagePrivate ()
 
- 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 MesgCapabilitiesMessage FIT message's messageIndex field.
 
File file
 The MesgCapabilitiesMessage FIT message's file field.
 
MesgNum mesgNum
 The MesgCapabilitiesMessage FIT message's mesgNum field.
 
MesgCount countType
 The MesgCapabilitiesMessage FIT message's countType field.
 
quint16 count
 The MesgCapabilitiesMessage FIT message's count 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 MesgCapabilitiesMessagePrivate class provides private implementation for the MesgCapabilitiesMessage.

See also
MesgCapabilitiesMessage

Definition at line 38 of file mesgcapabilitiesmessage_p.h.

Constructor & Destructor Documentation

◆ MesgCapabilitiesMessagePrivate()

MesgCapabilitiesMessagePrivate::MesgCapabilitiesMessagePrivate ( MesgCapabilitiesMessage *const  q)
explicit

Constructs a MesgCapabilitiesMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 194 of file mesgcapabilitiesmessage.cpp.

196  , messageIndex(static_cast<MessageIndex>(-1))
197  , file(static_cast<File>(-1))
198  , mesgNum(static_cast<MesgNum>(-1))
199  , countType(static_cast<MesgCount>(-1))
200  , count(0xFFFF)
201 {
202  globalMessageNumber = MesgNum::MesgCapabilities;
203 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
File file
The MesgCapabilitiesMessage FIT message's file field.
MesgCount countType
The MesgCapabilitiesMessage FIT message's countType field.
quint16 count
The MesgCapabilitiesMessage FIT message's count field.
MessageIndex messageIndex
The MesgCapabilitiesMessage FIT message's messageIndex field.
MesgNum mesgNum
The MesgCapabilitiesMessage FIT message's mesgNum field.
MesgCount
Garmin FIT MesgCount type.
Definition: types.h:222
MesgNum
Garmin FIT MesgNum type.
Definition: types.h:91
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263
File
Garmin FIT File type.
Definition: types.h:59

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~MesgCapabilitiesMessagePrivate()

MesgCapabilitiesMessagePrivate::~MesgCapabilitiesMessagePrivate ( )
virtual

Destroys the MesgCapabilitiesMessagePrivate object.

Definition at line 210 of file mesgcapabilitiesmessage.cpp.

211 {
212 
213 }

Member Function Documentation

◆ setField()

bool MesgCapabilitiesMessagePrivate::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 215 of file mesgcapabilitiesmessage.cpp.

217 {
218  switch (fieldId) {
219  case 254: // See Profile.xlsx::Messages:mesg_capabilities.messageIndex
220  if (!verify(data, baseType, 2, FitBaseType::Uint16, "mesg_capabilities.messageIndex")) return false;
221  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
222  break;
223  case 0: // See Profile.xlsx::Messages:mesg_capabilities.file
224  if (!verify(data, baseType, 1, FitBaseType::Enum, "mesg_capabilities.file")) return false;
225  this->file = static_cast<File>(data.at(0));
226  break;
227  case 1: // See Profile.xlsx::Messages:mesg_capabilities.mesgNum
228  if (!verify(data, baseType, 2, FitBaseType::Uint16, "mesg_capabilities.mesgNum")) return false;
229  this->mesgNum = static_cast<MesgNum>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
230  break;
231  case 2: // See Profile.xlsx::Messages:mesg_capabilities.countType
232  if (!verify(data, baseType, 1, FitBaseType::Enum, "mesg_capabilities.countType")) return false;
233  this->countType = static_cast<MesgCount>(data.at(0));
234  break;
235  case 3: // See Profile.xlsx::Messages:mesg_capabilities.count
236  if (!verify(data, baseType, 2, FitBaseType::Uint16, "mesg_capabilities.count")) return false;
237  this->count = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
238  break;
239  default:
240  qWarning() << "ignoring unknown mesg_capabilities message field number" << fieldId << bigEndian;
241  // Fall through to return true, as its still 'safe' to continue parsing data messages.
242  }
243  return true;
244 }
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:

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