aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>2018-12-07 00:57:55 +0000
committerTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>2018-12-07 00:57:55 +0000
commita3ee77ad41d2f12fff8556b140fd1df4b5618dc9 (patch)
tree590c9605854101cd809e4ac81da3006bc96cd562
parent415e5cbb5787aa0429558b5256bf912231297431 (diff)
POI: AGL LifeCycle Managementsandbox/ruke47/lifecycle
Add test code of AGL LifeCycle Management Change-Id: I57994825697c0ec3ce937303804d9be8827d68da Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
-rw-r--r--src/runxdg.cpp69
-rw-r--r--src/runxdg.hpp2
2 files changed, 71 insertions, 0 deletions
diff --git a/src/runxdg.cpp b/src/runxdg.cpp
index 33d5324..bdc9f93 100644
--- a/src/runxdg.cpp
+++ b/src/runxdg.cpp
@@ -63,6 +63,11 @@ void debug(const char* format, ...)
va_end(va_args);
}
+static void _activity_reply (int reply, json_object *msg_j) {
+ AGL_DEBUG("REPLY:reply=%d", reply);
+ AGL_DEBUG("REPLY:json %s", json_object_to_json_string(msg_j));
+}
+
void RunXDG::notify_ivi_control_cb (ilmObjectType object, t_ilm_uint id,
t_ilm_bool created)
{
@@ -94,6 +99,47 @@ void RunXDG::notify_ivi_control_cb (ilmObjectType object, t_ilm_uint id,
else
AGL_DEBUG("ivi layer: %d destroyed.", id);
}
+
+ //static std::function<int(int)> reply = _reply;
+ AGL_DEBUG("REPLY: %p, %p", _activity_reply, &_activity_reply);
+ int ret;
+ ret = this->m_lc->getActivityStatus("hvac", &_activity_reply);
+ if (!ret) {
+ AGL_DEBUG("Success!! maybe reply late!!!");
+ } else {
+ AGL_DEBUG("Error!! getActivityStatus(hvac)");
+ }
+#if 0
+ {
+ //Test for AGL LifeCycle Management
+ const char* state;
+ int ret;
+ ret = this->m_wm->getActivityStatus("hvac", &state);
+ if (ret == 0) {
+ AGL_DEBUG("Check HVAC state (%s)", state);
+ } else {
+ AGL_DEBUG("Error!! getActivityStatus(hvac)");
+ }
+ ret = this->m_wm->getActivityStatus("dashboard", &state);
+ if (ret == 0) {
+ AGL_DEBUG("Check Dashboard state (%s)", state);
+ } else {
+ AGL_DEBUG("Error!! getActivityStatus(dashboard)");
+ }
+ ret = this->m_wm->getActivityStatus("mediaplayer", &state);
+ if (ret == 0) {
+ AGL_DEBUG("Check MediaPlayer state (%s)", state);
+ } else {
+ AGL_DEBUG("Error!! getActivityStatus(mediaplayer)");
+ }
+ ret = this->m_wm->getActivityStatus("setting", &state);
+ if (ret == 0) {
+ AGL_DEBUG("Check Settting state (%s)", state);
+ } else {
+ AGL_DEBUG("Error!! getActivityStatus(setting)");
+ }
+ }
+#endif
}
void RunXDG::notify_ivi_control_cb_static (ilmObjectType object, t_ilm_uint id,
@@ -318,6 +364,27 @@ int RunXDG::init_wm (void)
m_wm->set_event_handler(LibWindowmanager::Event_SyncDraw, h_syncdraw);
m_wm->set_event_handler(LibWindowmanager::Event_FlushDraw, h_flushdraw);
+ // Test code of lifecycle
+ // Register lifecycle observer for 'HVAC' & 'Dashboard'
+ this->m_lc->registerActivityObserver("hvac");
+ this->m_lc->registerActivityObserver("dashboard");
+
+ std::function< void(json_object*) > h_statusChanged =
+ [this](json_object* object)
+ {
+ json_object* j_state;
+ json_object* j_target;
+ if (!json_object_object_get_ex(object, "state", &j_state) ||
+ !json_object_object_get_ex(object, "target", &j_target)) {
+ AGL_DEBUG("Get Event_StatusChanged but invalid");
+ } else {
+ const char *state = json_object_get_string(j_state);
+ const char *target = json_object_get_string(j_target);
+ AGL_DEBUG("Get Event_StatusChanged(%s, %s)", state, target);
+ }
+ };
+
+ m_lc->set_event_handler(h_statusChanged);
return 0;
}
@@ -453,6 +520,8 @@ RunXDG::RunXDG (int port, const char* token, const char* id)
// Setup ilmController API
m_ic = new ILMControl(notify_ivi_control_cb_static, this);
+ m_lc = new LifeCycleObserver;
+
AGL_DEBUG("RunXDG created.");
}
diff --git a/src/runxdg.hpp b/src/runxdg.hpp
index 595babe..565d860 100644
--- a/src/runxdg.hpp
+++ b/src/runxdg.hpp
@@ -150,6 +150,8 @@ class RunXDG
LibHomeScreen *m_hs;
ILMControl *m_ic;
+ LifeCycleObserver *m_lc;
+
t_ilm_surface m_ivi_id;
std::map<int, int> m_surfaces; // pair of <afm:rid, ivi:id>