QtFit
0.1
Internal library development documentation
|
Public Member Functions | |
AbstractDataMessagePrivate (AbstractDataMessage *const q) | |
virtual | ~AbstractDataMessagePrivate () |
bool | setFields (const DataDefinition *const defn, const QByteArray &record) |
Public Attributes | |
MesgNum | globalMessageNumber |
FIT Globla Message Number for this FIT Data Message. | |
Protected Member Functions | |
virtual bool | setField (const int fieldId, const QByteArray &data, const FitBaseType baseType, const bool bigEndian)=0 |
bool | verify (const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName) |
Protected Attributes | |
AbstractDataMessage *const | q_ptr |
Internal q-pointer. | |
The AbstractDataMessagePrivate class provides private implementation for AbstractDataMessage.
Definition at line 36 of file abstractdatamessage_p.h.
|
explicit |
Constructs a AbstractDataMessagePrivate object with public implementation q.
q | Pointer to public implementation. |
Definition at line 88 of file abstractdatamessage.cpp.
|
virtual |
Destroys the AbstractDataMessagePrivate object.
Definition at line 99 of file abstractdatamessage.cpp.
|
protectedpure virtual |
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.
fieldId | The field number within the given FIT data message. |
data | The raw data to extract the field value from. |
baseType | The FIT base type for the field. |
bigEndian | Whether or not multibyte values in record are big-endian. |
true
if the field was set, or safely ignored; false
otherwise. Implemented in ZonesTargetMessagePrivate, WorkoutStepMessagePrivate, WorkoutSessionMessagePrivate, WorkoutMessagePrivate, WeightScaleMessagePrivate, WeatherConditionsMessagePrivate, WeatherAlertMessagePrivate, WatchfaceSettingsMessagePrivate, VideoTitleMessagePrivate, VideoMessagePrivate, VideoFrameMessagePrivate, VideoDescriptionMessagePrivate, VideoClipMessagePrivate, UserProfileMessagePrivate, TrainingFileMessagePrivate, TotalsMessagePrivate, TimestampCorrelationMessagePrivate, ThreeDSensorCalibrationMessagePrivate, StressLevelMessagePrivate, SportMessagePrivate, SpeedZoneMessagePrivate, SoftwareMessagePrivate, SlaveDeviceMessagePrivate, SetMessagePrivate, SessionMessagePrivate, SegmentPointMessagePrivate, SegmentLeaderboardEntryMessagePrivate, SegmentLapMessagePrivate, SegmentIdMessagePrivate, SegmentFileMessagePrivate, SdmProfileMessagePrivate, ScheduleMessagePrivate, RecordMessagePrivate, PowerZoneMessagePrivate, OneDSensorCalibrationMessagePrivate, OhrSettingsMessagePrivate, ObdiiDataMessagePrivate, NmeaSentenceMessagePrivate, MonitoringMessagePrivate, MonitoringInfoMessagePrivate, MetZoneMessagePrivate, MesgCapabilitiesMessagePrivate, MemoGlobMessagePrivate, MagnetometerDataMessagePrivate, LengthMessagePrivate, LapMessagePrivate, JumpMessagePrivate, HrZoneMessagePrivate, HrvMessagePrivate, HrmProfileMessagePrivate, HrMessagePrivate, GyroscopeDataMessagePrivate, GpsMetadataMessagePrivate, GoalMessagePrivate, FileIdMessagePrivate, FileCreatorMessagePrivate, FileCapabilitiesMessagePrivate, FieldDescriptionMessagePrivate, FieldCapabilitiesMessagePrivate, ExerciseTitleMessagePrivate, ExdScreenConfigurationMessagePrivate, ExdDataFieldConfigurationMessagePrivate, ExdDataConceptConfigurationMessagePrivate, EventMessagePrivate, DiveSummaryMessagePrivate, DiveSettingsMessagePrivate, DiveGasMessagePrivate, DiveAlarmMessagePrivate, DeviceSettingsMessagePrivate, DeviceInfoMessagePrivate, DeveloperDataIdMessagePrivate, CoursePointMessagePrivate, CourseMessagePrivate, ConnectivityMessagePrivate, ClimbProMessagePrivate, CapabilitiesMessagePrivate, CameraEventMessagePrivate, CadenceZoneMessagePrivate, BloodPressureMessagePrivate, BikeProfileMessagePrivate, BarometerDataMessagePrivate, AviationAttitudeMessagePrivate, AntTxMessagePrivate, AntRxMessagePrivate, AntChannelIdMessagePrivate, ActivityMessagePrivate, and AccelerometerDataMessagePrivate.
Referenced by setFields().
bool AbstractDataMessagePrivate::setFields | ( | const DataDefinition *const | defn, |
const QByteArray & | record | ||
) |
Sets the current FIT data message's fields.
The method iterates through the record, invoking the virtual setField method to assign the extraced values to the relevant data message fields. Derived classes are expected to override setField to implement that field number to class member mapping.
defn | Data field definition describing the record layout. |
record | The FIT data record to read fields from. |
true
if all fields were parsed safely.Definition at line 120 of file abstractdatamessage.cpp.
References DataDefinition::architecture, FieldDefinition::baseType, BigEndian, DataDefinition::fieldDefinitions, DataDefinition::globalMessageNumber, FieldDefinition::number, setField(), and FieldDefinition::size.
|
protected |
Verifies the size and type of FIT Data Message fields.
data | Data to verify the size of. |
actualType | Actual base type. |
expectedSize | Expected size of data. |
expectedType | Expected base type. |
messageFieldName | Name of the field being verified. |
true
if the size and type match, false
otherwise. Definition at line 199 of file abstractdatamessage.cpp.
References verifyBaseType(), and verifyDataSize().
Referenced by AccelerometerDataMessagePrivate::setField(), ActivityMessagePrivate::setField(), AntChannelIdMessagePrivate::setField(), AntRxMessagePrivate::setField(), AntTxMessagePrivate::setField(), AviationAttitudeMessagePrivate::setField(), BarometerDataMessagePrivate::setField(), BikeProfileMessagePrivate::setField(), BloodPressureMessagePrivate::setField(), CadenceZoneMessagePrivate::setField(), CameraEventMessagePrivate::setField(), CapabilitiesMessagePrivate::setField(), ClimbProMessagePrivate::setField(), ConnectivityMessagePrivate::setField(), CourseMessagePrivate::setField(), CoursePointMessagePrivate::setField(), DeveloperDataIdMessagePrivate::setField(), DeviceInfoMessagePrivate::setField(), DeviceSettingsMessagePrivate::setField(), DiveAlarmMessagePrivate::setField(), DiveGasMessagePrivate::setField(), DiveSettingsMessagePrivate::setField(), DiveSummaryMessagePrivate::setField(), EventMessagePrivate::setField(), ExdDataConceptConfigurationMessagePrivate::setField(), ExdDataFieldConfigurationMessagePrivate::setField(), ExdScreenConfigurationMessagePrivate::setField(), ExerciseTitleMessagePrivate::setField(), FieldCapabilitiesMessagePrivate::setField(), FieldDescriptionMessagePrivate::setField(), FileCapabilitiesMessagePrivate::setField(), FileCreatorMessagePrivate::setField(), FileIdMessagePrivate::setField(), GoalMessagePrivate::setField(), GpsMetadataMessagePrivate::setField(), GyroscopeDataMessagePrivate::setField(), HrMessagePrivate::setField(), HrmProfileMessagePrivate::setField(), HrvMessagePrivate::setField(), HrZoneMessagePrivate::setField(), JumpMessagePrivate::setField(), LapMessagePrivate::setField(), LengthMessagePrivate::setField(), MagnetometerDataMessagePrivate::setField(), MemoGlobMessagePrivate::setField(), MesgCapabilitiesMessagePrivate::setField(), MetZoneMessagePrivate::setField(), MonitoringInfoMessagePrivate::setField(), MonitoringMessagePrivate::setField(), NmeaSentenceMessagePrivate::setField(), ObdiiDataMessagePrivate::setField(), OhrSettingsMessagePrivate::setField(), OneDSensorCalibrationMessagePrivate::setField(), PowerZoneMessagePrivate::setField(), RecordMessagePrivate::setField(), ScheduleMessagePrivate::setField(), SdmProfileMessagePrivate::setField(), SegmentFileMessagePrivate::setField(), SegmentIdMessagePrivate::setField(), SegmentLapMessagePrivate::setField(), SegmentLeaderboardEntryMessagePrivate::setField(), SegmentPointMessagePrivate::setField(), SessionMessagePrivate::setField(), SetMessagePrivate::setField(), SlaveDeviceMessagePrivate::setField(), SoftwareMessagePrivate::setField(), SpeedZoneMessagePrivate::setField(), SportMessagePrivate::setField(), StressLevelMessagePrivate::setField(), ThreeDSensorCalibrationMessagePrivate::setField(), TimestampCorrelationMessagePrivate::setField(), TotalsMessagePrivate::setField(), TrainingFileMessagePrivate::setField(), UserProfileMessagePrivate::setField(), VideoClipMessagePrivate::setField(), VideoDescriptionMessagePrivate::setField(), VideoFrameMessagePrivate::setField(), VideoMessagePrivate::setField(), VideoTitleMessagePrivate::setField(), WatchfaceSettingsMessagePrivate::setField(), WeatherAlertMessagePrivate::setField(), WeatherConditionsMessagePrivate::setField(), WeightScaleMessagePrivate::setField(), WorkoutMessagePrivate::setField(), WorkoutSessionMessagePrivate::setField(), WorkoutStepMessagePrivate::setField(), and ZonesTargetMessagePrivate::setField().