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

Public Member Functions

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

Public Attributes

DateTime timestamp
 The ActivityMessage FIT message's timestamp field.
 
quint32 totalTimerTime
 The ActivityMessage FIT message's totalTimerTime field. More...
 
quint16 numSessions
 The ActivityMessage FIT message's numSessions field.
 
Activity type
 The ActivityMessage FIT message's type field.
 
Event event
 The ActivityMessage FIT message's event field.
 
EventType eventType
 The ActivityMessage FIT message's eventType field.
 
LocalDateTime localTimestamp
 The ActivityMessage FIT message's localTimestamp field. More...
 
quint8 eventGroup
 The ActivityMessage FIT message's eventGroup 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 ActivityMessagePrivate class provides private implementation for the ActivityMessage.

See also
ActivityMessage

Definition at line 38 of file activitymessage_p.h.

Constructor & Destructor Documentation

◆ ActivityMessagePrivate()

ActivityMessagePrivate::ActivityMessagePrivate ( ActivityMessage *const  q)
explicit

Constructs a ActivityMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 261 of file activitymessage.cpp.

263  , timestamp(static_cast<DateTime>(-1))
264  , totalTimerTime(0xFFFFFFFF)
265  , numSessions(0xFFFF)
266  , type(static_cast<Activity>(-1))
267  , event(static_cast<Event>(-1))
268  , eventType(static_cast<EventType>(-1))
269  , localTimestamp(static_cast<LocalDateTime>(-1))
270  , eventGroup(0xFF)
271 {
272  globalMessageNumber = MesgNum::Activity;
273 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
Activity type
The ActivityMessage FIT message's type field.
Event event
The ActivityMessage FIT message's event field.
quint8 eventGroup
The ActivityMessage FIT message's eventGroup field.
DateTime timestamp
The ActivityMessage FIT message's timestamp field.
quint32 totalTimerTime
The ActivityMessage FIT message's totalTimerTime field.
quint16 numSessions
The ActivityMessage FIT message's numSessions field.
EventType eventType
The ActivityMessage FIT message's eventType field.
LocalDateTime localTimestamp
The ActivityMessage FIT message's localTimestamp field.
LocalDateTime
Seconds since 00:00 Dec 31 1989 in local time zone.
Definition: types.h:250
EventType
Garmin FIT EventType type.
Definition: types.h:1182
Event
Garmin FIT Event type.
Definition: types.h:1133
Activity
Garmin FIT Activity type.
Definition: types.h:980
DateTime
Seconds since UTC 00:00 Dec 31 1989.
Definition: types.h:237

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~ActivityMessagePrivate()

ActivityMessagePrivate::~ActivityMessagePrivate ( )
virtual

Destroys the ActivityMessagePrivate object.

Definition at line 280 of file activitymessage.cpp.

281 {
282 
283 }

Member Function Documentation

◆ setField()

bool ActivityMessagePrivate::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 285 of file activitymessage.cpp.

287 {
288  switch (fieldId) {
289  case 253: // See Profile.xlsx::Messages:activity.timestamp
290  if (!verify(data, baseType, 4, FitBaseType::Uint32, "activity.timestamp")) return false;
291  this->timestamp = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
292  break;
293  case 0: // See Profile.xlsx::Messages:activity.totalTimerTime
294  if (!verify(data, baseType, 4, FitBaseType::Uint32, "activity.totalTimerTime")) return false;
295  this->totalTimerTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
296  break;
297  case 1: // See Profile.xlsx::Messages:activity.numSessions
298  if (!verify(data, baseType, 2, FitBaseType::Uint16, "activity.numSessions")) return false;
299  this->numSessions = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
300  break;
301  case 2: // See Profile.xlsx::Messages:activity.type
302  if (!verify(data, baseType, 1, FitBaseType::Enum, "activity.type")) return false;
303  this->type = static_cast<Activity>(data.at(0));
304  break;
305  case 3: // See Profile.xlsx::Messages:activity.event
306  if (!verify(data, baseType, 1, FitBaseType::Enum, "activity.event")) return false;
307  this->event = static_cast<Event>(data.at(0));
308  break;
309  case 4: // See Profile.xlsx::Messages:activity.eventType
310  if (!verify(data, baseType, 1, FitBaseType::Enum, "activity.eventType")) return false;
311  this->eventType = static_cast<EventType>(data.at(0));
312  break;
313  case 5: // See Profile.xlsx::Messages:activity.localTimestamp
314  if (!verify(data, baseType, 4, FitBaseType::Uint32, "activity.localTimestamp")) return false;
315  this->localTimestamp = static_cast<LocalDateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
316  break;
317  case 6: // See Profile.xlsx::Messages:activity.eventGroup
318  if (!verify(data, baseType, 1, FitBaseType::Uint8, "activity.eventGroup")) return false;
319  this->eventGroup = static_cast<quint8>(data.at(0));
320  break;
321  default:
322  qWarning() << "ignoring unknown activity message field number" << fieldId << bigEndian;
323  // Fall through to return true, as its still 'safe' to continue parsing data messages.
324  }
325  return true;
326 }
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

◆ localTimestamp

LocalDateTime ActivityMessagePrivate::localTimestamp

The ActivityMessage FIT message's localTimestamp field.

timestamp epoch expressed in local time, used to convert activity timestamps to local time

Definition at line 78 of file activitymessage_p.h.

◆ totalTimerTime

quint32 ActivityMessagePrivate::totalTimerTime

The ActivityMessage FIT message's totalTimerTime field.

Exclude pauses

Definition at line 51 of file activitymessage_p.h.


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