QtFit  0.1
Internal library development documentation
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
developerdataidmessage.cpp
Go to the documentation of this file.
1 /*
2  Copyright 2021 Paul Colby
3 
4  This file is part of QtFit.
5 
6  QtFit is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  QtFit is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with QtFit. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 /*!
21  * \file
22  * \note This file is automatcially generated. Any changes here are likely to be overwritten.
23  */
24 
25 /*!
26  * \file
27  * Defines the DeveloperDataIdMessage, and DeveloperDataIdMessagePrivate classes.
28  */
29 
30 #include "developerdataidmessage.h"
32 
33 #include <QDebug>
34 #include <QtEndian>
35 
37 
38 /*!
39  * \class DeveloperDataIdMessage
40  *
41  * The DeveloperDataIdMessage class represents a FIT DeveloperDataIdMessage data message.
42  *
43  * \sa DataMessage
44  */
45 
46 /*!
47  * Constructs a DeveloperDataIdMessage object.
48  *
49  * Typically, instances of this class will be returned by FitStreamReader::readNext, but this
50  * constructor may be used, along with the relevant setter methods, to create a valid message.
51  */
53 {
54 
55 }
56 
57 /*!
58  * \internal
59  *
60  * Constructs a DeveloperDataIdMessage object with private implementation \a d.
61  *
62  * \param d Pointer to private implementation.
63  */
65 {
66 
67 }
68 
69 /*!
70  * Returns the DeveloperDataIdMessage data message's \c developerId field's current value.
71  *
72  * \return the \c developerId field value.
73  */
75 {
76  Q_D(const DeveloperDataIdMessage);
77  return d->developerId;
78 }
79 
80 /*!
81  * Returns the DeveloperDataIdMessage data message's \c applicationId field's current value.
82  *
83  * \return the \c applicationId field value.
84  */
86 {
87  Q_D(const DeveloperDataIdMessage);
88  return d->applicationId;
89 }
90 
91 /*!
92  * Returns the DeveloperDataIdMessage data message's \c manufacturerId field's current value.
93  *
94  * \return the \c manufacturerId field value.
95  */
97 {
98  Q_D(const DeveloperDataIdMessage);
99  return d->manufacturerId;
100 }
101 
102 /*!
103  * Returns the DeveloperDataIdMessage data message's \c developerDataIndex field's current value.
104  *
105  * \return the \c developerDataIndex field value.
106  */
108 {
109  Q_D(const DeveloperDataIdMessage);
110  return d->developerDataIndex;
111 }
112 
113 /*!
114  * Returns the DeveloperDataIdMessage data message's \c applicationVersion field's current value.
115  *
116  * \return the \c applicationVersion field value.
117  */
119 {
120  Q_D(const DeveloperDataIdMessage);
121  return d->applicationVersion;
122 }
123 
124 /*!
125  * Sets the \c developerId field to \a developerId.
126  *
127  * \param developerId The field value to set.
128  */
129 void DeveloperDataIdMessage::setDeveloperId(const quint8 developerId)
130 {
132  d->developerId = developerId;
133 }
134 /*!
135  * Sets the \c applicationId field to \a applicationId.
136  *
137  * \param applicationId The field value to set.
138  */
139 void DeveloperDataIdMessage::setApplicationId(const quint8 applicationId)
140 {
142  d->applicationId = applicationId;
143 }
144 /*!
145  * Sets the \c manufacturerId field to \a manufacturerId.
146  *
147  * \param manufacturerId The field value to set.
148  */
150 {
152  d->manufacturerId = manufacturerId;
153 }
154 /*!
155  * Sets the \c developerDataIndex field to \a developerDataIndex.
156  *
157  * \param developerDataIndex The field value to set.
158  */
159 void DeveloperDataIdMessage::setDeveloperDataIndex(const quint8 developerDataIndex)
160 {
162  d->developerDataIndex = developerDataIndex;
163 }
164 /*!
165  * Sets the \c applicationVersion field to \a applicationVersion.
166  *
167  * \param applicationVersion The field value to set.
168  */
169 void DeveloperDataIdMessage::setApplicationVersion(const quint32 applicationVersion)
170 {
172  d->applicationVersion = applicationVersion;
173 }
174 
175 /// \cond internal
176 
177 /*!
178  * \internal
179  *
180  * \class DeveloperDataIdMessagePrivate
181  *
182  * The DeveloperDataIdMessagePrivate class provides private implementation for the DeveloperDataIdMessage.
183  *
184  * \sa DeveloperDataIdMessage
185  */
186 
187 /*!
188  * \internal
189  *
190  * Constructs a DeveloperDataIdMessagePrivate object with public implementation \a q.
191  *
192  * \param q Pointer to public implementaton.
193  */
194 DeveloperDataIdMessagePrivate::DeveloperDataIdMessagePrivate(DeveloperDataIdMessage * const q)
196  , developerId(0xFF)
197  , applicationId(0xFF)
198  , manufacturerId(static_cast<Manufacturer>(-1))
199  , developerDataIndex(0xFF)
200  , applicationVersion(0xFFFFFFFF)
201 {
202  globalMessageNumber = MesgNum::DeveloperDataId;
203 }
204 
205 /*!
206  * \internal
207  *
208  * Destroys the DeveloperDataIdMessagePrivate object.
209  */
211 {
212 
213 }
214 
216  const int fieldId, const QByteArray &data, const FitBaseType baseType, const bool bigEndian)
217 {
218  switch (fieldId) {
219  case 0: // See Profile.xlsx::Messages:developer_data_id.developerId
220  if (!verify(data, baseType, 1, FitBaseType::Byte, "developer_data_id.developerId")) return false;
221  this->developerId = static_cast<quint8>(data.at(0));
222  break;
223  case 1: // See Profile.xlsx::Messages:developer_data_id.applicationId
224  if (!verify(data, baseType, 1, FitBaseType::Byte, "developer_data_id.applicationId")) return false;
225  this->applicationId = static_cast<quint8>(data.at(0));
226  break;
227  case 2: // See Profile.xlsx::Messages:developer_data_id.manufacturerId
228  if (!verify(data, baseType, 2, FitBaseType::Uint16, "developer_data_id.manufacturerId")) return false;
229  this->manufacturerId = static_cast<Manufacturer>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
230  break;
231  case 3: // See Profile.xlsx::Messages:developer_data_id.developerDataIndex
232  if (!verify(data, baseType, 1, FitBaseType::Uint8, "developer_data_id.developerDataIndex")) return false;
233  this->developerDataIndex = static_cast<quint8>(data.at(0));
234  break;
235  case 4: // See Profile.xlsx::Messages:developer_data_id.applicationVersion
236  if (!verify(data, baseType, 4, FitBaseType::Uint32, "developer_data_id.applicationVersion")) return false;
237  this->applicationVersion = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
238  break;
239  default:
240  qWarning() << "ignoring unknown developer_data_id message field number" << fieldId << bigEndian;
241  // Fall through to return true, as its still 'safe' to continue parsing data messages.
242  }
243  return true;
244 }
245 
246 /// \endcond
247 
#define QTFIT_END_NAMESPACE
Macro for ending the QtFit library's top-most namespace (if one is defined).
Definition: QtFit_global.h:78
#define QTFIT_BEGIN_NAMESPACE
Macro for starting the QtFit library's top-most namespace (if one is defined).
Definition: QtFit_global.h:77
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
The AbstractDataMessage class is the polymorphic base class for all FIT Data Message classes.
quint8 applicationId
The DeveloperDataIdMessage FIT message's applicationId field.
quint32 applicationVersion
The DeveloperDataIdMessage FIT message's applicationVersion field.
quint8 developerId
The DeveloperDataIdMessage FIT message's developerId field.
bool setField(const int fieldId, const QByteArray &data, const FitBaseType baseType, const bool bigEndian) override
quint8 developerDataIndex
The DeveloperDataIdMessage FIT message's developerDataIndex field.
Manufacturer manufacturerId
The DeveloperDataIdMessage FIT message's manufacturerId field.
The DeveloperDataIdMessage class represents a FIT DeveloperDataIdMessage data message.
void setApplicationVersion(const quint32 applicationVersion)
Sets the applicationVersion field to applicationVersion.
void setDeveloperId(const quint8 developerId)
Sets the developerId field to developerId.
void setManufacturerId(const Manufacturer manufacturerId)
Sets the manufacturerId field to manufacturerId.
void setApplicationId(const quint8 applicationId)
Sets the applicationId field to applicationId.
quint8 developerDataIndex() const
Returns the DeveloperDataIdMessage data message's developerDataIndex field's current value.
Manufacturer manufacturerId() const
Returns the DeveloperDataIdMessage data message's manufacturerId field's current value.
void setDeveloperDataIndex(const quint8 developerDataIndex)
Sets the developerDataIndex field to developerDataIndex.
quint8 applicationId() const
Returns the DeveloperDataIdMessage data message's applicationId field's current value.
DeveloperDataIdMessage()
Constructs a DeveloperDataIdMessage object.
quint8 developerId() const
Returns the DeveloperDataIdMessage data message's developerId field's current value.
quint32 applicationVersion() const
Returns the DeveloperDataIdMessage data message's applicationVersion field's current value.
Declares the DeveloperDataIdMessage class.
Declares the DeveloperDataIdMessagePrivate class.
FitBaseType
Garmin FIT FitBaseType type.
Definition: types.h:3388
Manufacturer
Garmin FIT Manufacturer type.
Definition: types.h:1484