dRonin  adbada4
dRonin GCS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Groups Pages
uavsettingsimportexportmanager.h
Go to the documentation of this file.
1 
13 /*
14  * This program is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation; either version 3 of the License, or
17  * (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful, but
20  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  * for more details.
23  *
24  * You should have received a copy of the GNU General Public License along
25  * with this program; if not, see <http://www.gnu.org/licenses/>
26  *
27  * Additional note on redistribution: The copyright and license notices above
28  * must be maintained in each individual source file that is a derivative work
29  * of this source file; otherwise redistribution is prohibited.
30  */
31 #ifndef UAVSETTINGSIMPORTEXPORTFACTORY_H
32 #define UAVSETTINGSIMPORTEXPORTFACTORY_H
34 #include <QObject>
35 
36 class QDomNode;
37 class UAVObject;
38 
39 class UAVSETTINGSIMPORTEXPORT_EXPORT UAVSettingsImportExportManager : public QObject
40 {
41  Q_OBJECT
42 
43 public:
44  UAVSettingsImportExportManager(QObject *parent = nullptr);
46 
47  static bool updateObject(UAVObject *obj, QDomNode *node);
48  bool importUAVSettings(const QByteArray &settings, bool quiet = false);
49  void extensionsInitialized();
50 
51 public slots:
52  void importUAVSettings();
53  void exportUAVSettings();
54  void exportUAVData();
55 
56 private Q_SLOTS:
57  void setCommandsEnabled(bool enabled);
58 
59 private:
60  enum storedData { Settings, Data, Both };
61  QString createXMLDocument(const enum storedData, const bool fullExport);
62 
63 signals:
64  void importAboutToBegin();
65  void importEnded();
66 };
67 
68 #endif // UAVSETTINGSIMPORTEXPORTFACTORY_H