~ci-train-bot/location-service/location-service-ubuntu-yakkety-1895

« back to all changes in this revision

Viewing changes to include/location_service/com/ubuntu/location/providers/geoclue/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_GEOCLUE_PROVIDER_H_
 
2
#define LOCATION_SERVICE_COM_UBUNTU_LOCATION_PROVIDERS_GEOCLUE_PROVIDER_H_
 
3
 
 
4
#include "com/ubuntu/location/provider.h"
 
5
#include "com/ubuntu/location/provider_factory.h"
 
6
 
 
7
namespace com
 
8
{
 
9
namespace ubuntu
 
10
{
 
11
namespace location
 
12
{
 
13
namespace providers
 
14
{
 
15
namespace geoclue
 
16
{
 
17
class Provider : public com::ubuntu::location::Provider
 
18
{
 
19
  public:
 
20
    static Provider::Ptr create_instance(const ProviderFactory::Configuration&);
 
21
 
 
22
    static const Provider::FeatureFlags& default_feature_flags();
 
23
    static const Provider::RequirementFlags& default_requirement_flags();
 
24
 
 
25
    struct Configuration
 
26
    {
 
27
        std::string name;
 
28
        std::string path;
 
29
 
 
30
        Provider::FeatureFlags features;
 
31
        Provider::RequirementFlags requirements;
 
32
    };
 
33
 
 
34
    Provider(const Configuration& config);
 
35
    ~Provider() noexcept;
 
36
 
 
37
    virtual bool matches_criteria(const Criteria&);
 
38
 
 
39
    virtual void start_position_updates();
 
40
    virtual void stop_position_updates();
 
41
 
 
42
    virtual void start_velocity_updates();
 
43
    virtual void stop_velocity_updates();
 
44
 
 
45
    virtual void start_heading_updates();
 
46
    virtual void stop_heading_updates();
 
47
 
 
48
  private:
 
49
    struct Private;
 
50
    std::unique_ptr<Private> d;
 
51
};
 
52
}
 
53
}
 
54
}
 
55
}
 
56
}
 
57
#endif // LOCATION_SERVICE_COM_UBUNTU_LOCATION_PROVIDERS_GEOCLUE_PROVIDER_H_