bing_source.h
Go to the documentation of this file.
1 // *****************************************************************************
2 //
3 // Copyright (c) 2015, Southwest Research Institute® (SwRI®)
4 // All rights reserved.
5 //
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are met:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of Southwest Research Institute® (SwRI®) nor the
14 // names of its contributors may be used to endorse or promote products
15 // derived from this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 // ARE DISCLAIMED. IN NO EVENT SHALL Southwest Research Institute® BE LIABLE
21 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
24 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
27 // DAMAGE.
28 //
29 // *****************************************************************************
30 
31 #ifndef TILE_MAP_BING_SOURCE_H
32 #define TILE_MAP_BING_SOURCE_H
33 
34 #include "tile_source.h"
35 
36 #include <boost/functional/hash.hpp>
37 #include <boost/random.hpp>
38 
39 #include <vector>
40 
41 #include <QNetworkAccessManager>
42 #include <QNetworkReply>
43 #include <QString>
44 
45 namespace tile_map
46 {
47  class BingSource : public TileSource
48  {
49  Q_OBJECT
50  public:
60  explicit BingSource(const QString& name);
61 
75  virtual size_t GenerateTileHash(int32_t level, int64_t x, int64_t y);
76 
89  virtual QString GenerateTileUrl(int32_t level, int64_t x, int64_t y);
90 
91  virtual QString GetType() const;
92 
93  QString GetApiKey() const;
94 
105  void SetApiKey(const QString& api_key);
106 
107  static const QString BING_TYPE;
108 
109  protected Q_SLOTS:
110  void ReplyFinished(QNetworkReply* reply);
111 
112  protected:
124  QString GenerateQuadKey(int32_t level, int64_t x, int64_t y) const;
125 
126  QString api_key_;
127  boost::hash<std::string> hash_;
128  QNetworkAccessManager network_manager_;
129  boost::random::mt19937 rng_;
130  std::vector<QString> subdomains_;
131  QString tile_url_;
132 
133  static const std::string BING_IMAGE_URL_KEY;
134  static const std::string BING_IMAGE_URL_SUBDOMAIN_KEY;
135  static const std::string BING_RESOURCE_SET_KEY;
136  static const std::string BING_RESOURCE_KEY;
137  static const std::string BING_STATUS_CODE_KEY;
138  };
139 }
140 
141 #endif //TILE_MAP_BING_SOURCE_H
string name
boost::random::mt19937 rng_
Definition: bing_source.h:129
QString GenerateQuadKey(int32_t level, int64_t x, int64_t y) const
static const std::string BING_IMAGE_URL_KEY
Definition: bing_source.h:133
static const QString BING_TYPE
Definition: bing_source.h:107
QString GetApiKey() const
Definition: bing_source.cpp:86
boost::hash< std::string > hash_
Definition: bing_source.h:127
TFSIMD_FORCE_INLINE const tfScalar & y() const
static const std::string BING_STATUS_CODE_KEY
Definition: bing_source.h:137
BingSource(const QString &name)
Definition: bing_source.cpp:49
static const std::string BING_IMAGE_URL_SUBDOMAIN_KEY
Definition: bing_source.h:134
static const std::string BING_RESOURCE_KEY
Definition: bing_source.h:136
virtual QString GetType() const
Definition: bing_source.cpp:81
static const std::string BING_RESOURCE_SET_KEY
Definition: bing_source.h:135
TFSIMD_FORCE_INLINE const tfScalar & x() const
void SetApiKey(const QString &api_key)
Definition: bing_source.cpp:91
std::vector< QString > subdomains_
Definition: bing_source.h:130
QNetworkAccessManager network_manager_
Definition: bing_source.h:128
virtual QString GenerateTileUrl(int32_t level, int64_t x, int64_t y)
Definition: bing_source.cpp:69
virtual size_t GenerateTileHash(int32_t level, int64_t x, int64_t y)
Definition: bing_source.cpp:63
void ReplyFinished(QNetworkReply *reply)


tile_map
Author(s): Marc Alban
autogenerated on Thu Jun 6 2019 19:25:35