Add wakeup policy support in dependency module
[platform/core/uifw/multi-assistant-service.git] / plugins / wakeup-manager / src / wakeup_policy_external.cpp
1 #include "wakeup_policy_external.h"
2 #include "wakeup_policy_impl.h"
3
4 #include "dependency_resolver.h"
5
6 #include <dlog.h>
7
8 #ifndef LOG_TAG
9 #define LOG_TAG "WakeupPolicyExternal"
10 #endif
11
12 namespace multiassistant
13 {
14 namespace wakeup
15 {
16
17 CWakeupPolicyExternal::CWakeupPolicyExternal(IPolicyEventObserver *observer)
18         : CWakeupPolicy(observer)
19 {
20 }
21
22 CWakeupPolicyExternal::~CWakeupPolicyExternal()
23 {
24 }
25
26 bool CWakeupPolicyExternal::valid()
27 {
28         bool ret = false;
29         mas_dependency_module_interface* interface = dependency_resolver_get_interface();
30         if (interface) {
31                 if (interface->process_wakeup_candidate) {
32                         ret = true;
33                 }
34         }
35         return ret;
36 }
37
38 void CWakeupPolicyExternal::wakeup_candidate(mas_wakeup_event_info wakeup_info)
39 {
40         dependency_resolver_process_wakeup_candidate(&wakeup_info);
41 }
42
43 void CWakeupPolicyExternal::select_candidate(mas_wakeup_event_info wakeup_info)
44 {
45         if (mImpl) mImpl->wakeup(wakeup_info);
46 }
47
48 } // wakeup
49 } // multiassistant