Add the 'privilege' parameter to popup response callback
[platform/core/security/askuser.git] / src / client / impl / ApiInterfaceImpl.h
index 3734a68..efa97c6 100644 (file)
@@ -22,7 +22,9 @@
 
 #pragma once
 
+#include <map>
 #include <memory>
+#include <set>
 
 #include <ApiInterface.h>
 #include <PopupCallbackClosure.h>
@@ -48,14 +50,18 @@ public:
     virtual askuser_check_result checkPrivilege(const std::string &privilege);
     virtual RequestId popupRequest(const PopupCallbackClosure &closure,
                                    const std::string &privilege);
+    virtual bool popupRequestInProgress(const std::string &privilege) const;
 
     void updateConnection(Protocol::ConnectionFd fd, int mask);
     void popupResponse(Protocol::RequestId id, int response);
 
 private:
+    void respondToAllRequests(askuser_call_cause cause, askuser_popup_result result);
+
     StatusCallbackClosure m_statusClosure;
     std::unique_ptr<Protocol::ClientChannel> m_channel;
-    std::map<RequestId, PopupCallbackClosure> m_callbacks;
+    std::map<RequestId, PopupCallbackClosure> m_popupClosures;
+    std::set<std::string> m_requestedPrivileges;
 };
 
 } // namespace Client