1 /*
2     SPDX-FileCopyrightText: 2012 Jasem Mutlaq <mutlaqja@ikarustech.com>
3 
4     SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include <QMap>
10 #include <QString>
11 #include <QJsonObject>
12 
13 class ProfileInfo
14 {
15     public:
16         ProfileInfo(int id, const QString &name);
17         ~ProfileInfo() = default;
18 
19         // Is connection local or remote
isLocal()20         bool isLocal()
21         {
22             return host.isEmpty();
23         }
24         QJsonObject toJson() const;
25 
26         QString mount() const;
27         QString ccd() const;
28         QString guider() const;
29         QString focuser() const;
30         QString filter() const;
31         QString dome() const;
32         QString ao() const;
33         QString weather() const;
34         QString aux1() const;
35         QString aux2() const;
36         QString aux3() const;
37         QString aux4() const;
38         QString remoteDrivers() const;
39 
40         QString name;
41         QString host;
42         QString city;
43         QString province;
44         QString country;
45         int guidertype { 0 };
46         int guiderport { 0 };
47         int primaryscope { 0 };
48         int guidescope { 0 };
49         int indihub { 0 };
50         QString remotedrivers;
51         QString guiderhost;
52         int id { 0 };
53         int port { -1 };
54         bool autoConnect { false };
55         bool portSelector {false};
56         bool isStellarMate { false };
57         int INDIWebManagerPort { -1 };
58         // driver[role] = label
59         QMap<QString, QString> drivers;
60 };
61