Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / geofencing / CircularRegion.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CircularRegion_h
6 #define CircularRegion_h
7
8 #include "modules/geofencing/GeofencingRegion.h"
9
10 namespace blink {
11
12 class Dictionary;
13
14 struct CircularRegionInit {
15     CircularRegionInit() : latitude(0), longitude(0), radius(0) { }
16     explicit CircularRegionInit(const Dictionary& init);
17
18     String id;
19     double latitude;
20     double longitude;
21     double radius;
22 };
23
24 class CircularRegion FINAL : public GeofencingRegion {
25     WTF_MAKE_NONCOPYABLE(CircularRegion);
26 public:
27     static CircularRegion* create(const Dictionary& init);
28     virtual ~CircularRegion() { }
29
30     double latitude() const { return m_latitude; }
31     double longitude() const { return m_longitude; }
32     double radius() const { return m_radius; }
33
34     virtual void trace(Visitor* visitor) OVERRIDE { GeofencingRegion::trace(visitor); }
35
36 private:
37     explicit CircularRegion(const CircularRegionInit&);
38
39     double m_latitude;
40     double m_longitude;
41     double m_radius;
42 };
43
44 } // namespace blink
45
46 #endif