Add the 'privilege' parameter to popup response callback
[platform/core/security/askuser.git] / src / client / api / ApiInterface.h
1 /*
2  *  Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *  Licensed under the Apache License, Version 2.0 (the "License");
5  *  you may not use this file except in compliance with the License.
6  *  You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *  Unless required by applicable law or agreed to in writing, software
11  *  distributed under the License is distributed on an "AS IS" BASIS,
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License
15  */
16
17 /**
18  * @file        ApiInterface.h
19  * @author      Piotr Sawicki <p.sawicki2@partner.samsung.com>
20  * @brief       This file contains the declaration of ApiInterface.
21  */
22
23 #pragma once
24
25 #include <string>
26
27 #include <PopupCallbackClosure.h>
28 #include <askuser-notification-client.h>
29
30 namespace AskUser {
31
32 namespace Client {
33
34 using RequestId = int;
35
36 class ApiInterface
37 {
38 public:
39     virtual ~ApiInterface() {}
40
41     virtual int process(int fd, int events) = 0;
42     virtual askuser_check_result checkPrivilege(const std::string &privilege) = 0;
43     virtual RequestId popupRequest(const PopupCallbackClosure &closure,
44                                    const std::string &privilege) = 0;
45     virtual bool popupRequestInProgress(const std::string &privilege) const = 0;
46 };
47
48 } // namespace Client
49
50 } // namespace AskUser
51