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

Public Member Functions

 VideoDescriptionMessagePrivate (VideoDescriptionMessage *const q)
 
virtual ~VideoDescriptionMessagePrivate ()
 
- 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 VideoDescriptionMessage FIT message's messageIndex field. More...
 
quint16 messageCount
 The VideoDescriptionMessage FIT message's messageCount field. More...
 
QString text
 The VideoDescriptionMessage FIT message's text 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 VideoDescriptionMessagePrivate class provides private implementation for the VideoDescriptionMessage.

See also
VideoDescriptionMessage

Definition at line 38 of file videodescriptionmessage_p.h.

Constructor & Destructor Documentation

◆ VideoDescriptionMessagePrivate()

VideoDescriptionMessagePrivate::VideoDescriptionMessagePrivate ( VideoDescriptionMessage *const  q)
explicit

Constructs a VideoDescriptionMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 156 of file videodescriptionmessage.cpp.

158  , messageIndex(static_cast<MessageIndex>(-1))
159  , messageCount(0xFFFF)
160 {
161  globalMessageNumber = MesgNum::VideoDescription;
162 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
quint16 messageCount
The VideoDescriptionMessage FIT message's messageCount field.
MessageIndex messageIndex
The VideoDescriptionMessage FIT message's messageIndex field.
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~VideoDescriptionMessagePrivate()

VideoDescriptionMessagePrivate::~VideoDescriptionMessagePrivate ( )
virtual

Destroys the VideoDescriptionMessagePrivate object.

Definition at line 169 of file videodescriptionmessage.cpp.

170 {
171 
172 }

Member Function Documentation

◆ setField()

bool VideoDescriptionMessagePrivate::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 174 of file videodescriptionmessage.cpp.

176 {
177  switch (fieldId) {
178  case 254: // See Profile.xlsx::Messages:video_description.messageIndex
179  if (!verify(data, baseType, 2, FitBaseType::Uint16, "video_description.messageIndex")) return false;
180  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
181  break;
182  case 0: // See Profile.xlsx::Messages:video_description.messageCount
183  if (!verify(data, baseType, 2, FitBaseType::Uint16, "video_description.messageCount")) return false;
184  this->messageCount = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
185  break;
186  case 1: // See Profile.xlsx::Messages:video_description.text
187  if (!verify(data, baseType, 1, FitBaseType::String, "video_description.text")) return false;
188  this->text = QString::fromUtf8(data);
189  break;
190  default:
191  qWarning() << "ignoring unknown video_description message field number" << fieldId << bigEndian;
192  // Fall through to return true, as its still 'safe' to continue parsing data messages.
193  }
194  return true;
195 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
QString text
The VideoDescriptionMessage FIT message's text field.

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

Member Data Documentation

◆ messageCount

quint16 VideoDescriptionMessagePrivate::messageCount

The VideoDescriptionMessage FIT message's messageCount field.

Total number of description parts

Definition at line 53 of file videodescriptionmessage_p.h.

◆ messageIndex

MessageIndex VideoDescriptionMessagePrivate::messageIndex

The VideoDescriptionMessage FIT message's messageIndex field.

Long descriptions will be split into multiple parts

Definition at line 46 of file videodescriptionmessage_p.h.


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