QtFit  0.1
Native Qt library for Garmin FIT format
All Classes Files Functions Variables Typedefs Enumerations Enumerator 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 
31 QTFIT_BEGIN_NAMESPACE
32 
33 struct DataDefinition;
34 class AbstractDataMessagePrivate;
35 
36 class QTFIT_EXPORT AbstractDataMessage {
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.
48  explicit AbstractDataMessage(AbstractDataMessagePrivate * const d);
49  /// \endcond
50 
51 private:
52  Q_DECLARE_PRIVATE(AbstractDataMessage)
53  Q_DISABLE_COPY(AbstractDataMessage)
54 
55 };
56 
57 QTFIT_END_NAMESPACE
58 
59 #endif // QTFIT_ABSTRACTDATAMESSAGE_H
Global QtFit library macros.
The AbstractDataMessage class is the polymorphic base class for all FIT Data Message classes.
Definition: abstractdatamessage.h:36
Types defined by the ANT+ FIT SDK.
MesgNum
Garmin FIT MesgNum type.
Definition: types.h:91