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

Public Member Functions

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

Public Attributes

quint8 screenIndex
 The ExdScreenConfigurationMessage FIT message's screenIndex field.
 
quint8 fieldCount
 The ExdScreenConfigurationMessage FIT message's fieldCount field. More...
 
ExdLayout layout
 The ExdScreenConfigurationMessage FIT message's layout field.
 
bool screenEnabled
 The ExdScreenConfigurationMessage FIT message's screenEnabled 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 ExdScreenConfigurationMessagePrivate class provides private implementation for the ExdScreenConfigurationMessage.

See also
ExdScreenConfigurationMessage

Definition at line 38 of file exdscreenconfigurationmessage_p.h.

Constructor & Destructor Documentation

◆ ExdScreenConfigurationMessagePrivate()

ExdScreenConfigurationMessagePrivate::ExdScreenConfigurationMessagePrivate ( ExdScreenConfigurationMessage *const  q)
explicit

Constructs a ExdScreenConfigurationMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 175 of file exdscreenconfigurationmessage.cpp.

177  , screenIndex(0xFF)
178  , fieldCount(0xFF)
179  , layout(static_cast<ExdLayout>(-1))
180  , screenEnabled(static_cast<bool>(-1))
181 {
182  globalMessageNumber = MesgNum::ExdScreenConfiguration;
183 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
quint8 fieldCount
The ExdScreenConfigurationMessage FIT message's fieldCount field.
quint8 screenIndex
The ExdScreenConfigurationMessage FIT message's screenIndex field.
bool screenEnabled
The ExdScreenConfigurationMessage FIT message's screenEnabled field.
ExdLayout layout
The ExdScreenConfigurationMessage FIT message's layout field.
ExdLayout
Garmin FIT ExdLayout type.
Definition: types.h:3078

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~ExdScreenConfigurationMessagePrivate()

ExdScreenConfigurationMessagePrivate::~ExdScreenConfigurationMessagePrivate ( )
virtual

Destroys the ExdScreenConfigurationMessagePrivate object.

Definition at line 190 of file exdscreenconfigurationmessage.cpp.

191 {
192 
193 }

Member Function Documentation

◆ setField()

bool ExdScreenConfigurationMessagePrivate::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 195 of file exdscreenconfigurationmessage.cpp.

197 {
198  switch (fieldId) {
199  case 0: // See Profile.xlsx::Messages:exd_screen_configuration.screenIndex
200  if (!verify(data, baseType, 1, FitBaseType::Uint8, "exd_screen_configuration.screenIndex")) return false;
201  this->screenIndex = static_cast<quint8>(data.at(0));
202  break;
203  case 1: // See Profile.xlsx::Messages:exd_screen_configuration.fieldCount
204  if (!verify(data, baseType, 1, FitBaseType::Uint8, "exd_screen_configuration.fieldCount")) return false;
205  this->fieldCount = static_cast<quint8>(data.at(0));
206  break;
207  case 2: // See Profile.xlsx::Messages:exd_screen_configuration.layout
208  if (!verify(data, baseType, 1, FitBaseType::Enum, "exd_screen_configuration.layout")) return false;
209  this->layout = static_cast<ExdLayout>(data.at(0));
210  break;
211  case 3: // See Profile.xlsx::Messages:exd_screen_configuration.screenEnabled
212  if (!verify(data, baseType, 0, FitBaseType::Byte, "exd_screen_configuration.screenEnabled")) return false;
213  this->screenEnabled = static_cast<bool>(data.at(0));
214  break;
215  default:
216  qWarning() << "ignoring unknown exd_screen_configuration message field number" << fieldId << bigEndian;
217  // Fall through to return true, as its still 'safe' to continue parsing data messages.
218  }
219  return true;
220 }
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

◆ fieldCount

quint8 ExdScreenConfigurationMessagePrivate::fieldCount

The ExdScreenConfigurationMessage FIT message's fieldCount field.

number of fields in screen

Definition at line 51 of file exdscreenconfigurationmessage_p.h.


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