1 /******************************************************************************* 2 Copyright(c) 2015 Jasem Mutlaq. All rights reserved. 3 4 INDI Weather Underground (TM) Weather Driver 5 6 This program is free software; you can redistribute it and/or modify it 7 under the terms of the GNU General Public License as published by the Free 8 Software Foundation; either version 2 of the License, or (at your option) 9 any later version. 10 11 This program is distributed in the hope that it will be useful, but WITHOUT 12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 14 more details. 15 16 You should have received a copy of the GNU Library General Public License 17 along with this library; see the file COPYING.LIB. If not, write to 18 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 19 Boston, MA 02110-1301, USA. 20 21 The full GNU General Public License is included in this distribution in the 22 file called LICENSE. 23 *******************************************************************************/ 24 25 #pragma once 26 27 #include "indiweather.h" 28 29 class WunderGround : public INDI::Weather 30 { 31 public: 32 WunderGround(); 33 virtual ~WunderGround(); 34 35 // Generic indi device entries 36 bool Connect(); 37 bool Disconnect(); 38 const char *getDefaultName(); 39 40 virtual bool initProperties() override; 41 virtual void ISGetProperties(const char *dev) override; 42 virtual bool ISNewText(const char *dev, const char *name, char *texts[], char *names[], int n) override; 43 44 protected: 45 virtual IPState updateWeather(); 46 47 virtual bool saveConfigItems(FILE *fp); 48 virtual bool updateLocation(double latitude, double longitude, double elevation); 49 50 private: 51 IText wunderAPIKeyT[1] {}; 52 ITextVectorProperty wunderAPIKeyTP; 53 54 double wunderLat, wunderLong; 55 }; 56