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

Public Member Functions

 FileCapabilitiesMessagePrivate (FileCapabilitiesMessage *const q)
 
virtual ~FileCapabilitiesMessagePrivate ()
 
- 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 FileCapabilitiesMessage FIT message's messageIndex field.
 
File type
 The FileCapabilitiesMessage FIT message's type field.
 
FileFlags flags
 The FileCapabilitiesMessage FIT message's flags field.
 
QString directory
 The FileCapabilitiesMessage FIT message's directory field.
 
quint16 maxCount
 The FileCapabilitiesMessage FIT message's maxCount field.
 
quint32 maxSize
 The FileCapabilitiesMessage FIT message's maxSize 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 FileCapabilitiesMessagePrivate class provides private implementation for the FileCapabilitiesMessage.

See also
FileCapabilitiesMessage

Definition at line 38 of file filecapabilitiesmessage_p.h.

Constructor & Destructor Documentation

◆ FileCapabilitiesMessagePrivate()

FileCapabilitiesMessagePrivate::FileCapabilitiesMessagePrivate ( FileCapabilitiesMessage *const  q)
explicit

Constructs a FileCapabilitiesMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 215 of file filecapabilitiesmessage.cpp.

217  , messageIndex(static_cast<MessageIndex>(-1))
218  , type(static_cast<File>(-1))
219  , flags(static_cast<FileFlags>(-1))
220  , maxCount(0xFFFF)
221  , maxSize(0xFFFFFFFF)
222 {
223  globalMessageNumber = MesgNum::FileCapabilities;
224 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
quint16 maxCount
The FileCapabilitiesMessage FIT message's maxCount field.
FileFlags flags
The FileCapabilitiesMessage FIT message's flags field.
MessageIndex messageIndex
The FileCapabilitiesMessage FIT message's messageIndex field.
File type
The FileCapabilitiesMessage FIT message's type field.
quint32 maxSize
The FileCapabilitiesMessage FIT message's maxSize field.
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263
FileFlags
Garmin FIT FileFlags type.
Definition: types.h:207
File
Garmin FIT File type.
Definition: types.h:59

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~FileCapabilitiesMessagePrivate()

FileCapabilitiesMessagePrivate::~FileCapabilitiesMessagePrivate ( )
virtual

Destroys the FileCapabilitiesMessagePrivate object.

Definition at line 231 of file filecapabilitiesmessage.cpp.

232 {
233 
234 }

Member Function Documentation

◆ setField()

bool FileCapabilitiesMessagePrivate::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 236 of file filecapabilitiesmessage.cpp.

238 {
239  switch (fieldId) {
240  case 254: // See Profile.xlsx::Messages:file_capabilities.messageIndex
241  if (!verify(data, baseType, 2, FitBaseType::Uint16, "file_capabilities.messageIndex")) return false;
242  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
243  break;
244  case 0: // See Profile.xlsx::Messages:file_capabilities.type
245  if (!verify(data, baseType, 1, FitBaseType::Enum, "file_capabilities.type")) return false;
246  this->type = static_cast<File>(data.at(0));
247  break;
248  case 1: // See Profile.xlsx::Messages:file_capabilities.flags
249  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "file_capabilities.flags")) return false;
250  this->flags = static_cast<FileFlags>(data.at(0));
251  break;
252  case 2: // See Profile.xlsx::Messages:file_capabilities.directory
253  if (!verify(data, baseType, 1, FitBaseType::String, "file_capabilities.directory")) return false;
254  this->directory = QString::fromUtf8(data);
255  break;
256  case 3: // See Profile.xlsx::Messages:file_capabilities.maxCount
257  if (!verify(data, baseType, 2, FitBaseType::Uint16, "file_capabilities.maxCount")) return false;
258  this->maxCount = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
259  break;
260  case 4: // See Profile.xlsx::Messages:file_capabilities.maxSize
261  if (!verify(data, baseType, 4, FitBaseType::Uint32, "file_capabilities.maxSize")) return false;
262  this->maxSize = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
263  break;
264  default:
265  qWarning() << "ignoring unknown file_capabilities message field number" << fieldId << bigEndian;
266  // Fall through to return true, as its still 'safe' to continue parsing data messages.
267  }
268  return true;
269 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
QString directory
The FileCapabilitiesMessage FIT message's directory field.

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

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