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

Public Member Functions

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

Public Attributes

quint32 partIndex
 The MemoGlobMessage FIT message's partIndex field. More...
 
quint8 memo
 The MemoGlobMessage FIT message's memo field. More...
 
quint16 messageNumber
 The MemoGlobMessage FIT message's messageNumber field. More...
 
MessageIndex messageIndex
 The MemoGlobMessage FIT message's messageIndex 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 MemoGlobMessagePrivate class provides private implementation for the MemoGlobMessage.

See also
MemoGlobMessage

Definition at line 38 of file memoglobmessage_p.h.

Constructor & Destructor Documentation

◆ MemoGlobMessagePrivate()

MemoGlobMessagePrivate::MemoGlobMessagePrivate ( MemoGlobMessage *const  q)
explicit

Constructs a MemoGlobMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 181 of file memoglobmessage.cpp.

183  , partIndex(0xFFFFFFFF)
184  , memo(0xFF)
185  , messageNumber(0xFFFF)
186  , messageIndex(static_cast<MessageIndex>(-1))
187 {
188  globalMessageNumber = MesgNum::MemoGlob;
189 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
MessageIndex messageIndex
The MemoGlobMessage FIT message's messageIndex field.
quint16 messageNumber
The MemoGlobMessage FIT message's messageNumber field.
quint8 memo
The MemoGlobMessage FIT message's memo field.
quint32 partIndex
The MemoGlobMessage FIT message's partIndex field.
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~MemoGlobMessagePrivate()

MemoGlobMessagePrivate::~MemoGlobMessagePrivate ( )
virtual

Destroys the MemoGlobMessagePrivate object.

Definition at line 196 of file memoglobmessage.cpp.

197 {
198 
199 }

Member Function Documentation

◆ setField()

bool MemoGlobMessagePrivate::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 201 of file memoglobmessage.cpp.

203 {
204  switch (fieldId) {
205  case 250: // See Profile.xlsx::Messages:memo_glob.partIndex
206  if (!verify(data, baseType, 4, FitBaseType::Uint32, "memo_glob.partIndex")) return false;
207  this->partIndex = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
208  break;
209  case 0: // See Profile.xlsx::Messages:memo_glob.memo
210  if (!verify(data, baseType, 1, FitBaseType::Byte, "memo_glob.memo")) return false;
211  this->memo = static_cast<quint8>(data.at(0));
212  break;
213  case 1: // See Profile.xlsx::Messages:memo_glob.messageNumber
214  if (!verify(data, baseType, 2, FitBaseType::Uint16, "memo_glob.messageNumber")) return false;
215  this->messageNumber = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
216  break;
217  case 2: // See Profile.xlsx::Messages:memo_glob.messageIndex
218  if (!verify(data, baseType, 2, FitBaseType::Uint16, "memo_glob.messageIndex")) return false;
219  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
220  break;
221  default:
222  qWarning() << "ignoring unknown memo_glob message field number" << fieldId << bigEndian;
223  // Fall through to return true, as its still 'safe' to continue parsing data messages.
224  }
225  return true;
226 }
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

◆ memo

quint8 MemoGlobMessagePrivate::memo

The MemoGlobMessage FIT message's memo field.

Block of utf8 bytes

Definition at line 53 of file memoglobmessage_p.h.

◆ messageIndex

MessageIndex MemoGlobMessagePrivate::messageIndex

The MemoGlobMessage FIT message's messageIndex field.

Index of external mesg

Definition at line 67 of file memoglobmessage_p.h.

◆ messageNumber

quint16 MemoGlobMessagePrivate::messageNumber

The MemoGlobMessage FIT message's messageNumber field.

Allows relating glob to another mesg If used only required for first part of each memo_glob

Definition at line 60 of file memoglobmessage_p.h.

◆ partIndex

quint32 MemoGlobMessagePrivate::partIndex

The MemoGlobMessage FIT message's partIndex field.

Sequence number of memo blocks

Definition at line 46 of file memoglobmessage_p.h.


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