ubuntu-location-service
0.0.2
Main Page
Classes
Files
File List
include
location_service
com
ubuntu
location
service
permission_manager.h
1
/*
2
* Copyright © 2012-2013 Canonical Ltd.
3
*
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License version 3,
6
* as published by the Free Software Foundation.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* Authored by: Thomas Voß <thomas.voss@canonical.com>
17
*/
18
#ifndef LOCATION_SERVICE_COM_UBUNTU_LOCATION_SERVICE_PERMISSION_MANAGER_H_
19
#define LOCATION_SERVICE_COM_UBUNTU_LOCATION_SERVICE_PERMISSION_MANAGER_H_
20
21
#include "com/ubuntu/location/channel.h"
22
#include "com/ubuntu/location/provider_selection_policy.h"
23
24
#include <functional>
25
26
namespace
com
27
{
28
namespace
ubuntu
29
{
30
namespace
location
31
{
32
namespace
service
33
{
34
struct
Credentials
35
{
36
pid_t pid;
37
uid_t uid;
38
};
39
40
class
PermissionManager
41
{
42
public
:
43
typedef
std::shared_ptr<PermissionManager> Ptr;
44
45
enum class
Result
46
{
47
granted,
48
rejected
49
};
50
51
virtual
~
PermissionManager
() =
default
;
52
PermissionManager
(
const
PermissionManager
&) =
delete
;
53
PermissionManager
& operator=(
const
PermissionManager
&) =
delete
;
54
55
virtual
Result check_permission_for_credentials(
56
const
Criteria
& criteria,
57
const
Credentials
& credentials) = 0;
58
59
protected
:
60
PermissionManager
() =
default
;
61
};
62
}
63
}
64
}
65
}
66
#endif // LOCATION_SERVICE_COM_UBUNTU_LOCATION_SERVICE_PERMISSION_MANAGER_H_
Generated on Mon Oct 21 2013 17:37:07 for ubuntu-location-service by
1.8.4