File indexing completed on 2024-04-14 03:40:58

0001 /*
0002     SPDX-FileCopyrightText: 2016 Jasem Mutlaq <mutlaqja@ikarustech.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "profileinfo.h"
0008 
0009 ProfileInfo::ProfileInfo(int id, const QString &name)
0010 {
0011     this->name = name;
0012     this->id   = id;
0013     port = INDIWebManagerPort = guiderport = -1;
0014 }
0015 
0016 QString ProfileInfo::mount() const
0017 {
0018     if (drivers.contains("Mount"))
0019         return drivers["Mount"];
0020     else
0021         return QString();
0022 }
0023 
0024 QString ProfileInfo::ccd() const
0025 {
0026     if (drivers.contains("CCD"))
0027         return drivers["CCD"];
0028     else
0029         return QString();
0030 }
0031 
0032 QString ProfileInfo::guider() const
0033 {
0034     if (drivers.contains("Guider"))
0035         return drivers["Guider"];
0036     else
0037         return QString();
0038 }
0039 
0040 QString ProfileInfo::focuser() const
0041 {
0042     if (drivers.contains("Focuser"))
0043         return drivers["Focuser"];
0044     else
0045         return QString();
0046 }
0047 
0048 QString ProfileInfo::filter() const
0049 {
0050     if (drivers.contains("Filter"))
0051         return drivers["Filter"];
0052     else
0053         return QString();
0054 }
0055 
0056 QString ProfileInfo::dome() const
0057 {
0058     if (drivers.contains("Dome"))
0059         return drivers["Dome"];
0060     else
0061         return QString();
0062 }
0063 
0064 QString ProfileInfo::weather() const
0065 {
0066     if (drivers.contains("Weather"))
0067         return drivers["Weather"];
0068     else
0069         return QString();
0070 }
0071 
0072 QString ProfileInfo::ao() const
0073 {
0074     if (drivers.contains("AO"))
0075         return drivers["AO"];
0076     else
0077         return QString();
0078 }
0079 
0080 QString ProfileInfo::aux1() const
0081 {
0082     if (drivers.contains("Aux1"))
0083         return drivers["Aux1"];
0084     else
0085         return QString();
0086 }
0087 
0088 QString ProfileInfo::aux2() const
0089 {
0090     if (drivers.contains("Aux2"))
0091         return drivers["Aux2"];
0092     else
0093         return QString();
0094 }
0095 
0096 QString ProfileInfo::aux3() const
0097 {
0098     if (drivers.contains("Aux3"))
0099         return drivers["Aux3"];
0100     else
0101         return QString();
0102 }
0103 
0104 QString ProfileInfo::aux4() const
0105 {
0106     if (drivers.contains("Aux4"))
0107         return drivers["Aux4"];
0108     else
0109         return QString();
0110 }
0111 
0112 QJsonObject ProfileInfo::toJson() const
0113 {
0114     return
0115     {
0116         {"name", name},
0117         {"auto_connect", autoConnect},
0118         {"port_selector", portSelector},
0119         {"mode", host.isEmpty() ? "local" : "remote"},
0120         {"remote_host", host},
0121         {"remote_port", port},
0122         {"indihub", indihub},
0123         {"guiding", guidertype},
0124         {"remote_guiding_host", guiderhost},
0125         {"remote_guiding_port", guiderport},
0126         {"use_web_manager", INDIWebManagerPort != -1},
0127         {"mount", mount()},
0128         {"ccd", ccd()},
0129         {"guider", guider()},
0130         {"focuser", focuser()},
0131         {"filter", filter()},
0132         {"ao", ao()},
0133         {"dome", dome()},
0134         {"weather", weather()},
0135         {"aux1", aux1()},
0136         {"aux2", aux2()},
0137         {"aux3", aux3()},
0138         {"aux4", aux4()},
0139         {"remote", remotedrivers},
0140     };
0141 }