X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fpolicy_manager%2Fpolicy_manager.cpp;h=a40bb48cd8c911f19b73cc2fcf4edfc667c77da2;hb=bfadb522b21256fde7283746b90116c237e57a5b;hp=3ee9459532ee73e3b916a51f273e37a22c934556;hpb=6ecd550833c47819bf0df7dc9df848dea67f2b28;p=apps%2Fagl-service-windowmanager.git diff --git a/src/policy_manager/policy_manager.cpp b/src/policy_manager/policy_manager.cpp index 3ee9459..a40bb48 100644 --- a/src/policy_manager/policy_manager.cpp +++ b/src/policy_manager/policy_manager.cpp @@ -20,12 +20,13 @@ #include #include #include "policy_manager.hpp" -#if 0 +#include "hmi-debug.h" + +namespace stm { extern "C" { #include "dummy_stm.h" } -#endif -#include "hmi-debug.h" +} // namespace stm PolicyManager::PolicyManager() : @@ -34,8 +35,7 @@ PolicyManager::PolicyManager() : areaname2no_(), role2category_(), category2role_(), - role2defaultarea_(), - current_state_() + role2defaultarea_() { HMI_DEBUG("wm:pm", "Call"); } @@ -120,10 +120,11 @@ int PolicyManager::checkPolicy(json_object* json_in, json_object** json_out) { HMI_DEBUG("wm:pm", "area(%s:%d)", area, area_no); } - // Transition state HMI_DEBUG("wm:pm", "set event:0x%x", (event_no | category_no | area_no)); - int ret = stm::stmTransitionState((event_no | category_no | area_no), - &(this->current_state_)); + + // Transition state + stm::stm_state_t crr_state; + int ret = stm::stmTransitionState((event_no | category_no | area_no), &crr_state); if (0 > ret) { HMI_ERROR("wm:pm", "Error!!"); return -1; @@ -136,12 +137,25 @@ int PolicyManager::checkPolicy(json_object* json_in, json_object** json_out) { // "state": // }, HMI_DEBUG("wm", "parking brake state (is_changed:%d state:%d:%s)", - this->current_state_.parking_brake.is_changed, - this->current_state_.parking_brake.state, - stm::gStmParkingBrakeStateNo2Name[this->current_state_.parking_brake.state]); + crr_state.parking_brake.is_changed, + crr_state.parking_brake.state, + stm::gStmParkingBrakeStateNo2Name[crr_state.parking_brake.state]); this->addStateToJson("parking_brake", - this->current_state_.parking_brake.is_changed, - stm::gStmParkingBrakeStateNo2Name[this->current_state_.parking_brake.state], + crr_state.parking_brake.is_changed, + stm::gStmParkingBrakeStateNo2Name[crr_state.parking_brake.state], + json_out); + + // "accel_pedal": { + // "is_changed": , + // "state": + // }, + HMI_DEBUG("wm", "accelerator pedal state (is_changed:%d state:%d:%s)", + crr_state.accel_pedal.is_changed, + crr_state.accel_pedal.state, + stm::gStmAccelPedalStateNo2Name[crr_state.accel_pedal.state]); + this->addStateToJson("accel_pedal", + crr_state.accel_pedal.is_changed, + stm::gStmAccelPedalStateNo2Name[crr_state.accel_pedal.state], json_out); // "car": { @@ -149,12 +163,12 @@ int PolicyManager::checkPolicy(json_object* json_in, json_object** json_out) { // "state": // }, HMI_DEBUG("wm", "car state (is_changed:%d state:%d:%s)", - this->current_state_.car.is_changed, - this->current_state_.car.state, - stm::gStmCarStateNo2Name[this->current_state_.car.state]); + crr_state.car.is_changed, + crr_state.car.state, + stm::gStmCarStateNo2Name[crr_state.car.state]); this->addStateToJson("car", - this->current_state_.car.is_changed, - stm::gStmCarStateNo2Name[this->current_state_.car.state], + crr_state.car.is_changed, + stm::gStmCarStateNo2Name[crr_state.car.state], json_out); // "lamp": { @@ -162,12 +176,12 @@ int PolicyManager::checkPolicy(json_object* json_in, json_object** json_out) { // "state": // }, HMI_DEBUG("wm", "lamp state (is_changed:%d state:%d:%s)", - this->current_state_.lamp.is_changed, - this->current_state_.lamp.state, - stm::gStmLampStateNo2Name[this->current_state_.lamp.state]); + crr_state.lamp.is_changed, + crr_state.lamp.state, + stm::gStmLampStateNo2Name[crr_state.lamp.state]); this->addStateToJson("lamp", - this->current_state_.lamp.is_changed, - stm::gStmLampStateNo2Name[this->current_state_.lamp.state], + crr_state.lamp.is_changed, + stm::gStmLampStateNo2Name[crr_state.lamp.state], json_out); // "layers": [ @@ -179,9 +193,13 @@ int PolicyManager::checkPolicy(json_object* json_in, json_object** json_out) { // }, json_object* json_layer = json_object_new_array(); json_object* json_tmp = json_object_new_object(); + HMI_DEBUG("wm", "on_screen state (is_changed:%d state:%d:%s)", + crr_state.layer.on_screen.is_changed, + crr_state.layer.on_screen.state, + stm::gStmLayoutNo2Name[crr_state.layer.on_screen.state]); this->addStateToJson("on_screen", - this->current_state_.layer.on_screen.is_changed, - stm::gStmLayoutNo2Name[this->current_state_.layer.on_screen.state], + crr_state.layer.on_screen.is_changed, + stm::gStmLayoutNo2Name[crr_state.layer.on_screen.state], &json_tmp); json_object_array_add(json_layer, json_tmp); @@ -191,10 +209,14 @@ int PolicyManager::checkPolicy(json_object* json_in, json_object** json_out) { // "state": // } // }, + HMI_DEBUG("wm", "restriction state (is_changed:%d state:%d:%s)", + crr_state.layer.restriction.is_changed, + crr_state.layer.restriction.state, + stm::gStmLayoutNo2Name[crr_state.layer.restriction.state]); json_tmp = json_object_new_object(); this->addStateToJson("restriction", - this->current_state_.layer.restriction.is_changed, - stm::gStmLayoutNo2Name[this->current_state_.layer.restriction.state], + crr_state.layer.restriction.is_changed, + stm::gStmLayoutNo2Name[crr_state.layer.restriction.state], &json_tmp); json_object_array_add(json_layer, json_tmp); @@ -204,10 +226,14 @@ int PolicyManager::checkPolicy(json_object* json_in, json_object** json_out) { // "state": // } // }, + HMI_DEBUG("wm", "apps state (is_changed:%d state:%d:%s)", + crr_state.layer.apps.is_changed, + crr_state.layer.apps.state, + stm::gStmLayoutNo2Name[crr_state.layer.apps.state]); json_tmp = json_object_new_object(); this->addStateToJson("apps", - this->current_state_.layer.apps.is_changed, - stm::gStmLayoutNo2Name[this->current_state_.layer.apps.state], + crr_state.layer.apps.is_changed, + stm::gStmLayoutNo2Name[crr_state.layer.apps.state], &json_tmp); json_object_array_add(json_layer, json_tmp); @@ -219,10 +245,14 @@ int PolicyManager::checkPolicy(json_object* json_in, json_object** json_out) { // }, // ] // } + HMI_DEBUG("wm", "homescreen state (is_changed:%d state:%d:%s)", + crr_state.layer.homescreen.is_changed, + crr_state.layer.homescreen.state, + stm::gStmLayoutNo2Name[crr_state.layer.homescreen.state]); json_tmp = json_object_new_object(); this->addStateToJson("homescreen", - this->current_state_.layer.homescreen.is_changed, - stm::gStmLayoutNo2Name[this->current_state_.layer.homescreen.state], + crr_state.layer.homescreen.is_changed, + stm::gStmLayoutNo2Name[crr_state.layer.homescreen.state], &json_tmp); json_object_array_add(json_layer, json_tmp);