File indexing completed on 2024-04-21 14:46:28

0001 /*
0002     SPDX-FileCopyrightText: 2009 Prakash Mohan <prakash.mohan@kdemail.net>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 #pragma once
0007 
0008 #include "oal/oal.h"
0009 
0010 #include <QString>
0011 
0012 #include "geolocation.h"
0013 
0014 /**
0015  * @class OAL::Site
0016  *
0017  * Information on site of observation.
0018  */
0019 class OAL::Site
0020 {
0021     public:
0022         Site(const QString &id, const QString &name, double lat, const QString &latUnit, double lon, const QString &lonUnit)
0023         {
0024             setSite(id, name, lat, latUnit, lon, lonUnit);
0025         }
0026         Site(GeoLocation *geo, const QString &id)
0027         {
0028             setSite(geo, id);
0029         }
0030         QString id() const
0031         {
0032             return m_Id;
0033         }
0034         QString name() const
0035         {
0036             return m_Name;
0037         }
0038         double latitude() const
0039         {
0040             return m_Lat;
0041         }
0042         QString latUnit() const
0043         {
0044             return m_LatUnit;
0045         }
0046         double longitude() const
0047         {
0048             return m_Lon;
0049         }
0050         QString lonUnit() const
0051         {
0052             return m_LonUnit;
0053         }
0054         void setSite(const QString &_id, const QString &_name, double _lat, const QString &_latUnit, double _lon,
0055                      const QString &_lonUnit);
0056         void setSite(GeoLocation *geo, const QString &id);
0057 
0058     private:
0059         QString m_Name, m_LatUnit, m_LonUnit, m_Id;
0060         double m_Lat, m_Lon;
0061 };