Home | History | Annotate | Download | only in geolocation
      1 /*
      2  * Copyright (C) 2008 Apple Inc. All Rights Reserved.
      3  *
      4  * Redistribution and use in source and binary forms, with or without
      5  * modification, are permitted provided that the following conditions
      6  * are met:
      7  * 1. Redistributions of source code must retain the above copyright
      8  *    notice, this list of conditions and the following disclaimer.
      9  * 2. Redistributions in binary form must reproduce the above copyright
     10  *    notice, this list of conditions and the following disclaimer in the
     11  *    documentation and/or other materials provided with the distribution.
     12  *
     13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
     14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
     17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     24  */
     25 
     26 #ifndef PositionOptions_h
     27 #define PositionOptions_h
     28 
     29 #include "platform/heap/Handle.h"
     30 #include <limits.h>
     31 
     32 namespace WebCore {
     33 
     34 class PositionOptions : public GarbageCollected<PositionOptions> {
     35 public:
     36     static PositionOptions* create() { return new PositionOptions(); }
     37     void trace(Visitor*) { }
     38 
     39     bool enableHighAccuracy() const { return m_highAccuracy; }
     40     void setEnableHighAccuracy(bool enable) { m_highAccuracy = enable; }
     41     unsigned timeout() const
     42     {
     43         return m_timeout;
     44     }
     45     void setTimeout(unsigned timeout)
     46     {
     47         m_timeout = timeout;
     48     }
     49     unsigned maximumAge() const
     50     {
     51         return m_maximumAge;
     52     }
     53     void setMaximumAge(unsigned age)
     54     {
     55         m_maximumAge = age;
     56     }
     57 
     58 private:
     59     PositionOptions()
     60         : m_highAccuracy(false)
     61         , m_maximumAge(0)
     62         , m_timeout(std::numeric_limits<unsigned>::max())
     63 
     64     {
     65         setMaximumAge(0);
     66     }
     67 
     68     bool m_highAccuracy;
     69     unsigned m_maximumAge;
     70     unsigned m_timeout;
     71 };
     72 
     73 } // namespace WebCore
     74 
     75 #endif // PositionOptions_h
     76