QtFit  0.1
Internal library development documentation
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
watchfacesettingsmessage.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 WatchfaceSettingsMessage, and WatchfaceSettingsMessagePrivate classes.
28  */
29 
32 
33 #include <QDebug>
34 #include <QtEndian>
35 
37 
38 /*!
39  * \class WatchfaceSettingsMessage
40  *
41  * The WatchfaceSettingsMessage class represents a FIT WatchfaceSettingsMessage data message.
42  *
43  * \sa DataMessage
44  */
45 
46 /*!
47  * Constructs a WatchfaceSettingsMessage 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 WatchfaceSettingsMessage object with private implementation \a d.
61  *
62  * \param d Pointer to private implementation.
63  */
65 {
66 
67 }
68 
69 /*!
70  * Returns the WatchfaceSettingsMessage data message's \c messageIndex field's current value.
71  *
72  * \return the \c messageIndex field value.
73  */
75 {
76  Q_D(const WatchfaceSettingsMessage);
77  return d->messageIndex;
78 }
79 
80 /*!
81  * Returns the WatchfaceSettingsMessage data message's \c mode field's current value.
82  *
83  * \return the \c mode field value.
84  */
86 {
87  Q_D(const WatchfaceSettingsMessage);
88  return d->mode;
89 }
90 
91 /*!
92  * Returns the WatchfaceSettingsMessage data message's \c layout field's current value.
93  *
94  * \return the \c layout field value.
95  */
97 {
98  Q_D(const WatchfaceSettingsMessage);
99  return d->layout;
100 }
101 
102 /*!
103  * Sets the \c messageIndex field to \a messageIndex.
104  *
105  * \param messageIndex The field value to set.
106  */
108 {
110  d->messageIndex = messageIndex;
111 }
112 /*!
113  * Sets the \c mode field to \a mode.
114  *
115  * \param mode The field value to set.
116  */
118 {
120  d->mode = mode;
121 }
122 /*!
123  * Sets the \c layout field to \a layout.
124  *
125  * \param layout The field value to set.
126  */
127 void WatchfaceSettingsMessage::setLayout(const quint8 layout)
128 {
130  d->layout = layout;
131 }
132 
133 /// \cond internal
134 
135 /*!
136  * \internal
137  *
138  * \class WatchfaceSettingsMessagePrivate
139  *
140  * The WatchfaceSettingsMessagePrivate class provides private implementation for the WatchfaceSettingsMessage.
141  *
142  * \sa WatchfaceSettingsMessage
143  */
144 
145 /*!
146  * \internal
147  *
148  * Constructs a WatchfaceSettingsMessagePrivate object with public implementation \a q.
149  *
150  * \param q Pointer to public implementaton.
151  */
152 WatchfaceSettingsMessagePrivate::WatchfaceSettingsMessagePrivate(WatchfaceSettingsMessage * const q)
154  , messageIndex(static_cast<MessageIndex>(-1))
155  , mode(static_cast<WatchfaceMode>(-1))
156  , layout(0xFF)
157 {
158  globalMessageNumber = MesgNum::WatchfaceSettings;
159 }
160 
161 /*!
162  * \internal
163  *
164  * Destroys the WatchfaceSettingsMessagePrivate object.
165  */
167 {
168 
169 }
170 
172  const int fieldId, const QByteArray &data, const FitBaseType baseType, const bool bigEndian)
173 {
174  switch (fieldId) {
175  case 254: // See Profile.xlsx::Messages:watchface_settings.messageIndex
176  if (!verify(data, baseType, 2, FitBaseType::Uint16, "watchface_settings.messageIndex")) return false;
177  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
178  break;
179  case 0: // See Profile.xlsx::Messages:watchface_settings.mode
180  if (!verify(data, baseType, 1, FitBaseType::Enum, "watchface_settings.mode")) return false;
181  this->mode = static_cast<WatchfaceMode>(data.at(0));
182  break;
183  case 1: // See Profile.xlsx::Messages:watchface_settings.layout
184  if (!verify(data, baseType, 1, FitBaseType::Byte, "watchface_settings.layout")) return false;
185  this->layout = static_cast<quint8>(data.at(0));
186  break;
187  default:
188  qWarning() << "ignoring unknown watchface_settings message field number" << fieldId << bigEndian;
189  // Fall through to return true, as its still 'safe' to continue parsing data messages.
190  }
191  return true;
192 }
193 
194 /// \endcond
195 
#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.
MessageIndex messageIndex
The WatchfaceSettingsMessage FIT message's messageIndex field.
bool setField(const int fieldId, const QByteArray &data, const FitBaseType baseType, const bool bigEndian) override
quint8 layout
The WatchfaceSettingsMessage FIT message's layout field.
WatchfaceMode mode
The WatchfaceSettingsMessage FIT message's mode field.
The WatchfaceSettingsMessage class represents a FIT WatchfaceSettingsMessage data message.
void setMode(const WatchfaceMode mode)
Sets the mode field to mode.
void setLayout(const quint8 layout)
Sets the layout field to layout.
WatchfaceMode mode() const
Returns the WatchfaceSettingsMessage data message's mode field's current value.
WatchfaceSettingsMessage()
Constructs a WatchfaceSettingsMessage object.
quint8 layout() const
Returns the WatchfaceSettingsMessage data message's layout field's current value.
MessageIndex messageIndex() const
Returns the WatchfaceSettingsMessage data message's messageIndex field's current value.
void setMessageIndex(const MessageIndex messageIndex)
Sets the messageIndex field to messageIndex.
WatchfaceMode
Garmin FIT WatchfaceMode type.
Definition: types.h:2853
FitBaseType
Garmin FIT FitBaseType type.
Definition: types.h:3388
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263
Declares the WatchfaceSettingsMessage class.
Declares the WatchfaceSettingsMessagePrivate class.