QtFit  0.1
Internal library development documentation
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
abstractdatamessage.h
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  * Declares the AbstractDataMessage class.
23  */
24 
25 #ifndef QTFIT_ABSTRACTDATAMESSAGE_H
26 #define QTFIT_ABSTRACTDATAMESSAGE_H
27 
28 #include "QtFit_global.h"
29 #include "types.h"
30 
32 
33 struct DataDefinition;
35 
37 
38 public:
39  AbstractDataMessage() = delete;
41  MesgNum globalMessageNumber() const;
42 
43  static AbstractDataMessage * fromData(const DataDefinition * const defn, const QByteArray &record);
44 
45 protected:
46  /// \cond internal
47  AbstractDataMessagePrivate * const d_ptr; ///< Internal d-pointer.
49  /// \endcond
50 
51 private:
52  Q_DECLARE_PRIVATE(AbstractDataMessage)
53  Q_DISABLE_COPY(AbstractDataMessage)
54 
55 };
56 
58 
59 #endif // QTFIT_ABSTRACTDATAMESSAGE_H
Global QtFit library macros.
#define QTFIT_EXPORT
QtFit library export/import macro.
Definition: QtFit_global.h:42
#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
The AbstractDataMessage class is the polymorphic base class for all FIT Data Message classes.
AbstractDataMessagePrivate *const d_ptr
Internal d-pointer.
Data Message definition.
Definition: types_p.h:83
Types defined by the ANT+ FIT SDK.
MesgNum
Garmin FIT MesgNum type.
Definition: types.h:91