/** ****************************************************************************** * * @file geodecoderstatus.h * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012. * @brief * @see The GNU Public License (GPL) Version 3 * @defgroup OPMapWidget * @{ * *****************************************************************************/ /* * 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 3 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 MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 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., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef GEODECODERSTATUS_H #define GEODECODERSTATUS_H #include #include #include #include namespace core { #ifdef QtOpmapCore #include class OPMAPCORESHARED_EXPORT GeoCoderStatusCode : public QObject { #else class GeoCoderStatusCode : public QObject { #endif Q_OBJECT Q_ENUMS(Types) public: enum Types { /// /// unknow response /// Unknow = -1, /// /// No errors occurred; the address was successfully parsed and its geocode has been returned. /// G_GEO_SUCCESS = 200, /// /// A directions request could not be successfully parsed. /// For example, the request may have been rejected if it contained more than the maximum number of waypoints allowed. /// G_GEO_BAD_REQUEST = 400, /// /// A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known. /// G_GEO_SERVER_ERROR = 500, /// /// The HTTP q parameter was either missing or had no value. /// For geocoding requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input. /// G_GEO_MISSING_QUERY = 601, /// /// Synonym for G_GEO_MISSING_QUERY. /// G_GEO_MISSING_ADDRESS = 601, /// /// No corresponding geographic location could be found for the specified address. /// This may be due to the fact that the address is relatively new, or it may be incorrect. /// G_GEO_UNKNOWN_ADDRESS = 602, /// /// The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons. /// G_GEO_UNAVAILABLE_ADDRESS = 603, /// /// The GDirections object could not compute directions between the points mentioned in the query. /// This is usually because there is no route available between the two points, or because we do not have data for routing in that region. /// G_GEO_UNKNOWN_DIRECTIONS = 604, /// /// The given key is either invalid or does not match the domain for which it was given. /// G_GEO_BAD_KEY = 610, /// /// The given key has gone over the requests limit in the 24 hour period or has submitted too many requests in too short a period of time. /// If you're sending multiple requests in parallel or in a tight loop, use a timer or pause in your code to make sure you don't send the requests too quickly. /// G_GEO_TOO_MANY_QUERIES = 620 }; static QString StrByType(Types const & value) { QMetaObject metaObject = GeoCoderStatusCode().staticMetaObject; QMetaEnum metaEnum = metaObject.enumerator(metaObject.indexOfEnumerator("Types")); QString s = metaEnum.valueToKey(value); return s; } static Types TypeByStr(QString const & value) { QMetaObject metaObject = GeoCoderStatusCode().staticMetaObject; QMetaEnum metaEnum = metaObject.enumerator(metaObject.indexOfEnumerator("Types")); Types s = (Types)metaEnum.keyToValue(value.toLatin1()); return s; } static QStringList TypesList() { QStringList ret; QMetaObject metaObject = GeoCoderStatusCode().staticMetaObject; QMetaEnum metaEnum = metaObject.enumerator(metaObject.indexOfEnumerator("Types")); for (int x = 0; x < metaEnum.keyCount(); ++x) { ret.append(metaEnum.key(x)); } return ret; } }; } #endif // GEODECODERSTATUS_H