lxcpp: fix cgroup unit tests
[platform/core/security/vasum.git] / server / proxy-call-policy.hpp
1 /*
2  *  Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *  Contact: Piotr Bartosiewicz <p.bartosiewi@partner.samsung.com>
5  *
6  *  Licensed under the Apache License, Version 2.0 (the "License");
7  *  you may not use this file except in compliance with the License.
8  *  You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  *  Unless required by applicable law or agreed to in writing, software
13  *  distributed under the License is distributed on an "AS IS" BASIS,
14  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  *  See the License for the specific language governing permissions and
16  *  limitations under the License
17  */
18
19 /**
20  * @file
21  * @author  Piotr Bartosiewicz (p.bartosiewi@partner.samsung.com)
22  * @brief   Declaration of a class for checking permissions of proxy calls
23  */
24
25
26 #ifndef SERVER_PROXY_CALL_POLICY_HPP
27 #define SERVER_PROXY_CALL_POLICY_HPP
28
29 #include "proxy-call-config.hpp"
30
31 #include <vector>
32
33
34 namespace vasum {
35
36
37 class ProxyCallPolicy {
38
39 public:
40     ProxyCallPolicy(const std::vector<ProxyCallRule>& proxyCallRules);
41
42     bool isProxyCallAllowed(const std::string& caller,
43                             const std::string& target,
44                             const std::string& targetBusName,
45                             const std::string& targetObjectPath,
46                             const std::string& targetInterface,
47                             const std::string& targetMethod) const;
48
49 private:
50     std::vector<ProxyCallRule> mProxyCallRules;
51 };
52
53
54 } // namespace vasum
55
56
57 #endif // SERVER_PROXY_CALL_POLICY_HPP