~sil2100/location-service/gps-arm64

« back to all changes in this revision

Viewing changes to include/location_service/com/ubuntu/location/providers/skyhook/provider.h

  • Committer: Thomas Voß
  • Date: 2013-05-28 14:20:45 UTC
  • Revision ID: thomas.voss@canonical.com-20130528142045-kq5umqdmm4o53vwk
Initial push.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef LOCATION_SERVICE_COM_UBUNTU_LOCATION_PROVIDERS_SKYHOOK_PROVIDER_H_
 
2
#define LOCATION_SERVICE_COM_UBUNTU_LOCATION_PROVIDERS_SKYHOOK_PROVIDER_H_
 
3
 
 
4
#include "com/ubuntu/location/provider.h"
 
5
 
 
6
#include <memory>
 
7
 
 
8
namespace com
 
9
{
 
10
namespace ubuntu
 
11
{
 
12
namespace location
 
13
{
 
14
namespace providers
 
15
{
 
16
namespace skyhook
 
17
{
 
18
class Provider : public com::ubuntu::location::Provider
 
19
{
 
20
  public:
 
21
    static Provider::Ptr create_instance(
 
22
        const std::map<std::string, std::string>& configuration);
 
23
    
 
24
    static const Provider::FeatureFlags& default_feature_flags();
 
25
    static const Provider::RequirementFlags& default_requirement_flags();
 
26
 
 
27
    struct Configuration
 
28
    {
 
29
        std::string user_name;
 
30
        std::string realm;
 
31
        std::chrono::milliseconds period;
 
32
    };
 
33
 
 
34
    Provider(const Configuration& config);
 
35
    Provider(const Provider&) = delete;
 
36
    Provider& operator=(const Provider&) = delete;
 
37
    ~Provider() noexcept;
 
38
 
 
39
    virtual bool matches_criteria(const Criteria&);
 
40
 
 
41
    virtual void start_position_updates();
 
42
    virtual void stop_position_updates();
 
43
 
 
44
    virtual void start_velocity_updates();
 
45
    virtual void stop_velocity_updates();
 
46
 
 
47
    virtual void start_heading_updates();
 
48
    virtual void stop_heading_updates();
 
49
 
 
50
  private:
 
51
    struct Private;
 
52
    std::unique_ptr<Private> d;
 
53
};
 
54
}
 
55
}
 
56
}
 
57
}
 
58
}
 
59
#endif // LOCATION_SERVICE_COM_UBUNTU_LOCATION_PROVIDERS_SKYHOOK_PROVIDER_H_