2 ******************************************************************************
5 * @author The LibrePilot Project, http://www.librepilot.org Copyright (C) 2016.
6 * The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
7 * @see The GNU Public License (GPL) Version 3
8 * @addtogroup GCSPlugins GCS Plugins
10 * @addtogroup UAVObjectsPlugin UAVObjects Plugin
13 * @note Object definition file: $(XMLFILE).
14 * This is an automatically generated file.
15 * DO NOT modify manually.
17 * @brief The UAVUObjects GCS plugin
18 *****************************************************************************/
20 * This program is free software; you can redistribute it and/or modify
21 * it under the terms of the GNU General Public License as published by
22 * the Free Software Foundation; either version 3 of the License, or
23 * (at your option) any later version.
25 * This program is distributed in the hope that it will be useful, but
26 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
27 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
30 * You should have received a copy of the GNU General Public License along
31 * with this program; if not, write to the Free Software Foundation, Inc.,
32 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
37 #include "uavdataobject.h"
40 class UAVObjectManager;
42 class $(NAME)Constants : public QObject {
45 enum Enum { $(ENUMS_COUNT) };
46 Q_ENUMS(Enum) // TODO switch to Q_ENUM once on Qt 5.5
51 class UAVOBJECTS_EXPORT $(NAME): public UAVDataObject
56 // Deprecated properties
57 $(DEPRECATED_PROPERTIES)
63 } __attribute__((packed)) DataFields;
69 static const quint32 OBJID = $(OBJIDHEX);
70 static const QString NAME;
71 static const QString DESCRIPTION;
72 static const QString CATEGORY;
73 static const bool ISSINGLEINST = $(ISSINGLEINST);
74 static const bool ISSETTINGS = $(ISSETTINGS);
75 static const quint32 NUMBYTES = sizeof(DataFields);
81 void setData(const DataFields& data, bool emitUpdateEvents = true);
82 Metadata getDefaultMetadata();
83 UAVDataObject* clone(quint32 instID);
84 UAVDataObject* dirtyClone();
86 static $(NAME)* GetInstance(UAVObjectManager* objMngr, quint32 instID = 0);
88 static void registerQMLTypes();
96 $(PROPERTY_NOTIFICATIONS)
99 void emitNotifications();
104 void setDefaultFieldValues();
108 #endif // $(NAMEUC)_H