X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Ftiming%2Ftimezone.h;h=f5779fd374aca1f50c5aa5116f28840c90841e91;hb=6a7c2000027cd22eea603e936ddbad1a5bfc8b04;hp=cac4acadd28d5017bb2e852c88e7660e55a7dd89;hpb=1b07b25ad2eb26be45f7df744efa332a230d2baf;p=simgear.git diff --git a/simgear/timing/timezone.h b/simgear/timing/timezone.h index cac4acad..f5779fd3 100644 --- a/simgear/timing/timezone.h +++ b/simgear/timing/timezone.h @@ -2,69 +2,106 @@ * timezone.h * Written by Durk Talsma. Started July 1999. * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. + * Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * **************************************************************************/ -/************************************************************************* +/** \file timezone.h * - * Timezone is derived from geocoord, and stores the timezone centerpoint, - * as well as the countrycode and the timezone descriptor. The latter is - * used in order to get the local time. + * Provides SGTimeZone and SGTimeZoneContainer * - ************************************************************************/ + */ #ifndef _TIMEZONE_H_ #define _TIMEZONE_H_ -#include "geocoord.h" #include +#include + +#include + +/** + * SGTimeZone is derived from geocoord, and stores the timezone centerpoint, + * as well as the countrycode and the timezone descriptor. The latter is + * used in order to get the local time. + * + */ -class Timezone : public GeoCoord +class SGTimeZone : public SGGeoCoord { + private: - char* countryCode; - char* descriptor; + + std::string countryCode; + std::string descriptor; public: - Timezone() : - GeoCoord() - { - countryCode = 0; - descriptor = 0; + + /** + * Default constructor. + */ + SGTimeZone() : SGGeoCoord() + { + countryCode.erase(); + descriptor.erase(); }; - Timezone(float la, float lo, char* cc, char* desc); - Timezone(const char *infoString); - Timezone(const Timezone &other); - virtual ~Timezone() { delete [] countryCode; delete [] descriptor; }; - - virtual void print() { printf("%s", descriptor);}; - virtual char * getDescription() { return descriptor; }; + /** + * Build a timezone object with a specifed latitude, longitude, country + * code, and descriptor + * @param la latitude + * @param lo longitude + * @param cc country code + * @param desc descriptor + */ + SGTimeZone(float la, float lo, char* cc, char* desc); + + /** + * Build a timezone object from a textline in zone.tab + * @param infoString the textline from zone.tab + */ + SGTimeZone(const char *infoString); + + /** + * The copy constructor + * @param other the source object + */ + SGTimeZone(const SGTimeZone &other); + + /** + * Virutal destructor + */ + virtual ~SGTimeZone() { }; + + /** + * Return the descriptor string + * @return descriptor string (char array) + */ + virtual const char * getDescription() { return descriptor.c_str(); }; }; -/************************************************************************ - * Timezone container is derived from GeoCoordContainer, and has some +/** + * SGTimeZoneContainer is derived from SGGeoCoordContainer, and has some * added functionality. - ************************************************************************/ + */ -class TimezoneContainer : public GeoCoordContainer +class SGTimeZoneContainer : public SGGeoCoordContainer { public: - TimezoneContainer(const char *filename); - virtual ~TimezoneContainer(); + SGTimeZoneContainer(const char *filename); + virtual ~SGTimeZoneContainer(); };