2 * Copyright (c) 2017 Samsung Electronics Co.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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
17 * @file src/agent/notification-daemon/ui/Answerable.h
18 * @author Zofia Abramowska <z.abramowska@samsung.com>
19 * @brief Implementation Answerable button pressed events classes
23 #include "PopupCheck.h"
26 #include <types/NotificationResponse.h>
29 namespace Notification {
39 virtual NResponseType getAnswer(enum Button) const = 0;
40 virtual ~IAnswerable() {}
43 class AnswerablePopupCheck : public IAnswerable {
45 AnswerablePopupCheck(PopupCheck *popup)
47 virtual NResponseType getAnswer(enum Button button) const {
50 case IAnswerable::Button::ALLOW:
51 if (m_popup->getCheckboxState())
52 answer = NResponseType::AllowAlways;
54 answer = NResponseType::Allow;
56 case IAnswerable::Button::DENY:
57 if (m_popup->getCheckboxState())
58 answer = NResponseType::DenyAlways;
60 answer = NResponseType::Deny;
63 answer = NResponseType::Error;
71 } // namespace AskUser
72 } // namespace Notification