Add chage remote app
authorfukubayashi.akio <fukubayashi.akio@genetec.co.jp>
Thu, 6 Jun 2019 08:55:08 +0000 (17:55 +0900)
committerfukubayashi.akio <fukubayashi.akio@genetec.co.jp>
Thu, 6 Jun 2019 08:55:08 +0000 (17:55 +0900)
Signed-off-by: fukubayashi.akio <fukubayashi.akio@genetec.co.jp>
44 files changed:
layers.json
policy_manager/config/layouts.json
policy_manager/config/roles.json.zipc.split
policy_manager/stm/stm.c
policy_manager/stm/stm.h
policy_manager/stm/zipc/CMakeLists.txt
policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_AppsLayer.c
policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_AppsLayer.h
policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.c
policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.h
policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_func.c
policy_manager/stm/zipc/StateTransitionor/ZST_include.h
policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps.c [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps.h [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps_func.c [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps_func.h [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps.c [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps.h [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps_func.c [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps_func.h [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/hud/layer/remote_hud/Zremote_hud_remote_hud.c
policy_manager/stm/zipc/StateTransitionor/hud/layer/remote_hud/Zremote_hud_remote_hud_func.c
policy_manager/stm/zipc/StateTransitionor/hud/layer/remote_hud_upper_left/Zremote_hud_upper_left_remote_hud_up_left.c
policy_manager/stm/zipc/StateTransitionor/hud/layer/remote_hud_upper_left/Zremote_hud_upper_left_remote_hud_up_left_func.c
policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps.c [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps.h [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps_func.c [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps_func.h [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/rse1/layer/remote_rse1/Zremote_rse1_remote_rse1.c
policy_manager/stm/zipc/StateTransitionor/rse1/layer/remote_rse1/Zremote_rse1_remote_rse1_func.c
policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps.c [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps.h [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps_func.c [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps_func.h [new file with mode: 0755]
policy_manager/stm/zipc/StateTransitionor/rse2/layer/remote_rse2/Zremote_rse2_remote_rse2.c
policy_manager/stm/zipc/StateTransitionor/rse2/layer/remote_rse2/Zremote_rse2_remote_rse2_func.c
src/config/areas.json
src/main.cpp
src/window_manager.cpp
src/window_manager.hpp
src/wm_connection.cpp
src/wm_connection.hpp
src/wm_layer_control.cpp
src/wm_layer_control.hpp

index 29bad45..622ab16 100644 (file)
             "name": "Apps",
             "role": "music|video|browser|radio|phone|map|navigation|hvac|settings|dashboard|poi|mixer|sdl|launcher|receiver|tachometer|fallback",
             "id_range_begin": 1000,
-            "id_range_end": 2999,
+            "id_range_end": 2599,
             "comment": "Range of IDs that will always be placed on layer 1001"
         },
+        {
+            "name": "NearApps",
+            "role": "receiver2",
+            "id_range_begin": 2600,
+            "id_range_end": 2999,
+            "comment": "NearApps is the part of Apps. The z order of this layer is higher than Apps"
+        },
         {
             "name": "NearHomeScreen",
             "role": "homescreen",
         },
         {
             "name": "RemoteRSE1",
-            "role": "music|video|browser|radio|phone|map|navigation|hvac|settings|dashboard|poi|mixer|sdl|launcher|receiver|tachometer|fallback",
+            "role": "music|video|browser|radio|phone|map|navigation|hvac|settings|dashboard|poi|mixer|sdl|launcher|tachometer|fallback",
             "id_range_begin": 9200,
             "id_range_end": 9399,
             "comment": "Range of IDs that will always be placed on the OnScreen layer, that gets a very high 'dummy' id of 9999"
         },
         {
             "name": "RemoteRSE2",
-            "role": "music|video|browser|radio|phone|map|navigation|hvac|settings|dashboard|poi|mixer|sdl|launcher|receiver|tachometer|fallback",
+            "role": "music|video|browser|radio|phone|map|navigation|hvac|settings|dashboard|poi|mixer|sdl|launcher|tachometer|fallback",
             "id_range_begin": 9400,
             "id_range_end": 9599,
             "comment": "Range of IDs that will always be placed on the OnScreen layer, that gets a very high 'dummy' id of 9999"
         },
         {
             "name": "RemoteHUD",
-            "role": "music|video|browser|radio|phone|map|navigation|hvac|settings|dashboard|poi|mixer|sdl|launcher|receiver|tachometer|fallback",
+            "role": "music|video|browser|radio|phone|map|navigation|hvac|settings|dashboard|poi|mixer|sdl|launcher|tachometer|fallback",
             "id_range_begin": 9600,
             "id_range_end": 9799,
+            "screen": 2,
             "comment": "Range of IDs that will always be placed on the OnScreen layer, that gets a very high 'dummy' id of 9999"
         },
         {
             "name": "RemoteHUDUpperLeft",
-            "role": "music|video|browser|radio|phone|map|navigation|hvac|settings|dashboard|poi|mixer|sdl|launcher|receiver|tachometer|fallback",
+            "role": "music|video|browser|radio|phone|map|navigation|hvac|settings|dashboard|poi|mixer|sdl|launcher|tachometer|fallback",
             "id_range_begin": 9800,
             "id_range_end": 9999,
             "comment": "Range of IDs that will always be placed on the OnScreen layer, that gets a very high 'dummy' id of 9999"
index 70eadbb..82a632b 100644 (file)
                         }
                     ]
                 },
+                {
+                    "name": "launcher.normal",
+                    "areas": [
+                        {
+                            "name": "normal.full",
+                            "category": "launcher"
+                        }
+                    ]
+                },
+                {
+                    "name": "launcher.fullscreen",
+                    "areas": [
+                        {
+                            "name": "fullscreen",
+                            "category": "launcher"
+                        }
+                    ]
+                },
                 {
                     "name": "software_keyboard",
                     "areas": [
             "layouts": [
                 {
                     "name": "general.normal",
+                    "areas": [
+                        {
+                            "name": "normal.full",
+                            "category": "receiver"
+                        }
+                    ]
+                },
+                {
+                    "name": "remote_rse1",
                     "areas": [
                         {
                             "name": "rse1.normal.full",
             "layouts": [
                 {
                     "name": "general.normal",
+                    "areas": [
+                        {
+                            "name": "normal.full",
+                            "category": "receiver"
+                        }
+                    ]
+                },
+                {
+                    "name": "remote_rse2",
                     "areas": [
                         {
                             "name": "rse2.normal.full",
             "name": "hud",
             "layouts": [
                 {
-                    "name": "normal.full",
+                    "name": "general.normal",
+                    "areas": [
+                        {
+                            "name": "normal.full",
+                            "category": "receiver"
+                        }
+                    ]
+                },
+                {
+                    "name": "upper.left",
+                    "areas": [
+                        {
+                            "name": "upper.left",
+                            "category": "receiver2"
+                        }
+                    ]
+                },
+                {
+                    "name": "remote_hud",
                     "areas": [
                         {
                             "name": "hud.normal.full",
                     ]
                 },
                 {
-                    "name": "upper.left",
+                    "name": "remote_hud_upper_left",
                     "areas": [
                         {
                             "name": "hud.upper.left",
index 2bfd35e..2a87de8 100644 (file)
                 },
                 {
                     "category": "system",
-                    "role": "launcher | settings | dashboard",
+                    "role": "settings | dashboard",
                     "area": "normal.full",
                     "layer": "apps",
                 },
+                {
+                    "category": "launcher",
+                    "role": "launcher",
+                    "area": "normal.full | fullscreen",
+                    "layer": "apps",
+                },
                 {
                     "category": "splitable",
                     "role": "video | music | sdl_bt | webbrowser | eb",
         {
             "name": "rse1",
             "roles":[
+                {
+                    "category": "receiver",
+                    "role": "receiver",
+                    "area": "normal.full",
+                    "layer": "apps",
+                },
                 {
                     "category": "general",
-                    "role": "video | music | sdl_bt | webbrowser | eb | poi | browser | mixer | radio | hvac | debug | phone | fallback",
+                    "role": "video | music | sdl_bt | webbrowser | eb | poi | browser | mixer | radio | hvac | debug | phone | settings | dashboard",
                     "area": "rse1.normal.full",
-                    "layer": "RemoteRSE1",
+                    "layer": "remote_rse1",
                 }
+
             ]
         },
         {
             "name": "rse2",
             "roles":[
+                {
+                    "category": "receiver",
+                    "role": "receiver",
+                    "area": "normal.full",
+                    "layer": "apps",
+                },
                 {
                     "category": "general",
-                    "role": "video | music | sdl_bt | webbrowser | eb | poi | browser | mixer | radio | hvac | debug | phone | fallback",
+                    "role": "video | music | sdl_bt | webbrowser | eb | poi | browser | mixer | radio | hvac | debug | phone | settings | hvac | dashboard",
                     "area": "rse2.normal.full",
-                    "layer": "RemoteRSE2",
+                    "layer": "remote_rse2",
                 }
             ]
         },
         {
             "name": "hud",
             "roles":[
+                {
+                    "category": "receiver",
+                    "role": "receiver",
+                    "area": "normal.full",
+                    "layer": "apps",
+                },
+                {
+                    "category": "receiver2",
+                    "role": "receiver2",
+                    "area": "upper.left",
+                    "layer": "near_apps",
+                },
                 {
                     "category": "general",
-                    "role": "video | music | sdl_bt | webbrowser | eb | poi | browser | mixer | radio | hvac | debug | phone | fallback",
+                    "role": "video | music | sdl_bt | webbrowser | eb | poi | browser | mixer | radio | hvac | debug | phone | settings | hvac | dashboard",
                     "area": "hud.normal.full",
-                    "layer": "RemoteHUD",
+                    "layer": "remote_hud",
                 },
                 {
                     "category": "speed",
-                    "role": "video | music | sdl_bt | webbrowser | eb | poi | browser | mixer | radio | hvac | debug | phone | fallback",
+                    "role": "tachometer",
                     "area": "hud.upper.left",
-                    "layer": "RemoteHUDUpperLeft",
+                    "layer": "remote_hud_upper_left",
                 }
             ]
         },
index fd3eff6..162d250 100644 (file)
@@ -49,10 +49,13 @@ const char* kStmCategoryName[] = {
     "system_alert",
     "restriction",
     "system",
+    "launcher",
     "software_keyboard",
     "tbt",
     "meter",
     "receiver",
+    "receiver2",
+    "speed",
     "debug",
 };
 
@@ -62,13 +65,17 @@ const char* kStmAreaName[] = {
     "normal.full",
     "split.main",
     "split.sub",
+    "upper.left",
     "on_screen",
     "restriction.normal",
     "restriction.split.main",
     "restriction.split.sub",
     "software_keyboard",
     "master.split.sub",
-    "upper.left",
+    "hud.upper.left",
+    "hud.normal.full",
+    "rse1.normal.full",
+    "rse2.normal.full",
 };
 
 const char* kStmLayoutName[] = {
@@ -86,8 +93,11 @@ const char* kStmLayoutName[] = {
     "restriction.split.main",
     "restriction.split.sub",
     "system.normal",
+    "launcher.normal",
+    "launcher.fullscreen",
     "software_keyboard",
     "tbt",
+    "upper.left",
     "remote_tbt",
     "remote_rse1",
     "remote_rse2",
@@ -107,6 +117,7 @@ const char* kStmLayoutName[] = {
 const char* kStmLayerName[] = {
     "homescreen",
     "apps",
+    "near_apps",
     "near_homescreen",
     "restriction",
     "on_screen",
index 487adb5..d6028a5 100644 (file)
@@ -79,10 +79,13 @@ enum StmCtgNo {
     StmCtgNoSystemAlert,
     StmCtgNoRestriction,
     StmCtgNoSystem,
+    StmCtgNoLauncher,
     StmCtgNoSoftwareKeyboard,
     StmCtgNoTbt,
     StmCtgNoMeter,
     StmCtgNoReceiver,
+    StmCtgNoReceiver2,
+    StmCtgNoSpeed,
     StmCtgNoDebug,
 
     StmCtgNoNum,
@@ -98,13 +101,17 @@ enum StmAreaNo {
     StmAreaNoNormal,
     StmAreaNoSplitMain,
     StmAreaNoSplitSub,
+    StmAreaNoUpperLeft,
     StmAreaNoOnScreen,
     StmAreaNoRestrictionNormal,
     StmAreaNoRestrictionSplitMain,
     StmAreaNoRestrictionSplitSub,
     StmAreaNoSoftwareKyeboard,
     StmAreaNoMasterSplitSub,
-    StmAreaNoUpperLeft,
+    StmAreaNoHUDUpperLeft,
+    StmAreaNoHUDNormal,
+    StmAreaNoRse1Normal,
+    StmAreaNoRse2Normal,
 
     StmAreaNoNum,
 
@@ -116,6 +123,7 @@ enum StmAreaNo {
 enum StmLayerNo {
     StmLayerNoHomescreen = 0,
     StmLayerNoApps,
+    StmLayerNoNearApps,
     StmLayerNoNearHomescreen,
     StmLayerNoRestriction,
     StmLayerNoOnScreen,
@@ -147,13 +155,16 @@ enum StmLayoutNo {
     StmLayoutNoRstSplMain,
     StmLayoutNoRstSplSub,
     StmLayoutNoSysNml,
+    StmLayoutNoLchNml,
+    StmLayoutNoLchFll,
     StmLayoutNoSftKbd,
     StmLayoutNoTbt,
+    StmLayoutNoUpperLeft,
     StmLayoutNoRmtTbt,
     StmLayoutNoRmtRse1,
     StmLayoutNoRmtRse2,
     StmLayoutNoRmtHud,
-    StmLayoutNoRmtUpLeft,
+    StmLayoutNoRmtHudUpLeft,
     StmLayoutNoMtrNml,
     StmLayoutNoMtrRcv,
     StmLayoutNoMtrSpl,
index 76a2109..b162298 100644 (file)
@@ -31,10 +31,14 @@ set(ST_DIR_LSB ${ST_DIR}/LightStatusBrake)
 set(ST_DIR_MST_AL  ${ST_DIR}/master/layer/apps)
 set(ST_DIR_MST_RMT ${ST_DIR}/master/layer/remote)
 
+set(ST_DIR_HUD_AL  ${ST_DIR}/hud/layer/apps)
+set(ST_DIR_HUD_NA  ${ST_DIR}/hud/layer/near_apps)
 set(ST_DIR_RMT_HUD  ${ST_DIR}/hud/layer/remote_hud)
 set(ST_DIR_RMT_HUD_UL  ${ST_DIR}/hud/layer/remote_hud_upper_left)
 
+set(ST_DIR_RSE1_AL  ${ST_DIR}/rse1/layer/apps)
 set(ST_DIR_RMT_RSE1  ${ST_DIR}/rse1/layer/remote_rse1)
+set(ST_DIR_RSE2_AL  ${ST_DIR}/rse2/layer/apps)
 set(ST_DIR_RMT_RSE2  ${ST_DIR}/rse2/layer/remote_rse2)
 
 add_library(${TARGETS_STM}
@@ -63,12 +67,20 @@ add_library(${TARGETS_STM}
         ./stm_master_remote.c
         ${ST_DIR_MST_AL}/Zmaster_apps_apps_main.c
         ${ST_DIR_MST_RMT}/Zmaster_remote_remote.c
+        ${ST_DIR_HUD_AL}/Zhud_apps_hud_apps.c
+        ${ST_DIR_HUD_AL}/Zhud_apps_hud_apps_func.c
+        ${ST_DIR_HUD_NA}/Zhud_near_apps_hud_near_apps.c
+        ${ST_DIR_HUD_NA}/Zhud_near_apps_hud_near_apps_func.c
         ${ST_DIR_RMT_HUD}/Zremote_hud_remote_hud.c
         ${ST_DIR_RMT_HUD}/Zremote_hud_remote_hud_func.c
         ${ST_DIR_RMT_HUD_UL}/Zremote_hud_upper_left_remote_hud_up_left.c
         ${ST_DIR_RMT_HUD_UL}/Zremote_hud_upper_left_remote_hud_up_left_func.c
+        ${ST_DIR_RSE1_AL}/Zrse1_apps_rse1_apps.c
+        ${ST_DIR_RSE1_AL}/Zrse1_apps_rse1_apps_func.c
         ${ST_DIR_RMT_RSE1}/Zremote_rse1_remote_rse1.c
         ${ST_DIR_RMT_RSE1}/Zremote_rse1_remote_rse1_func.c
+        ${ST_DIR_RSE2_AL}/Zrse2_apps_rse2_apps.c
+        ${ST_DIR_RSE2_AL}/Zrse2_apps_rse2_apps_func.c
         ${ST_DIR_RMT_RSE2}/Zremote_rse2_remote_rse2.c
         ${ST_DIR_RMT_RSE2}/Zremote_rse2_remote_rse2_func.c
 )
@@ -88,10 +100,14 @@ target_include_directories(${TARGETS_STM}
         ./${ST_DIR_LSB}
         ./${ST_DIR_MST_AL}
         ./${ST_DIR_MST_RMT}
+        ./${ST_DIR_HUD_AL}
+        ./${ST_DIR_HUD_AL_UL}
         ./${ST_DIR_RMT_HUD}
         ./${ST_DIR_RMT_HUD_UL}
+        ./${ST_DIR_RSE1_AL}
+        ./${ST_DIR_RMT_RSE1}
+        ./${ST_DIR_RSE2_AL}
         ./${ST_DIR_RMT_RSE1}
-        ./${ST_DIR_RMT_RSE2}
         ./${ST_DIR_CMN}
 )
 
index ac1fb16..e1710b1 100755 (executable)
@@ -17,17 +17,21 @@ static void ZAPL_RestrictionModeOffs0e2( void );
 static void ZAPL_RestrictionModeOffs0e3( void );
 static void ZAPL_RestrictionModeOffs0e6( void );
 static void ZAPL_RestrictionModeOffs0e7( void );
-static void ZAPL_RestrictionModeOffs0e13( void );
-static void ZAPL_RestrictionModeOffs0e15( void );
+static void ZAPL_RestrictionModeOffs0e8( void );
+static void ZAPL_RestrictionModeOffs0e9( void );
+static void ZAPL_RestrictionModeOffs0e16( void );
 static void ZAPL_RestrictionModeOffs0e18( void );
+static void ZAPL_RestrictionModeOffs0e21( void );
 static void ZAPL_RestrictionModeOffs1e0( void );
-static void ZAPL_RestrictionModeOffs1e8( void );
+static void ZAPL_RestrictionModeOffs1e10( void );
 static void ZAPL_RestrictionModeOffs2e3( void );
-static void ZAPL_RestrictionModeOffs3e16( void );
+static void ZAPL_RestrictionModeOffs3e19( void );
 static void ZAPL_RestrictionModeOffs4e3( void );
 static void ZAPL_RestrictionModeOffs5e3( void );
 static void ZAPL_RestrictionModeOffs6e6( void );
 static void ZAPL_RestrictionModeOffs7e7( void );
+static void ZAPL_RestrictionModeOffs8e8( void );
+static void ZAPL_RestrictionModeOffs9e9( void );
 static void ZAPL_RestrictionModeOns0e1( void );
 static void ZAPL_RestrictionModeOns0e2( void );
 static void ZAPL_RestrictionModeOns1e0( void );
@@ -41,6 +45,8 @@ static void ZAPL_RestrictionModeOffs4Event( void );
 static void ZAPL_RestrictionModeOffs5Event( void );
 static void ZAPL_RestrictionModeOffs6Event( void );
 static void ZAPL_RestrictionModeOffs7Event( void );
+static void ZAPL_RestrictionModeOffs8Event( void );
+static void ZAPL_RestrictionModeOffs9Event( void );
 static void ZAPL_AppsLayers1Event( void );
 static void ZAPL_RestrictionModeOns0Event( void );
 static void ZAPL_RestrictionModeOns1Event( void );
@@ -78,6 +84,12 @@ static void ZAPL_AppsLayers0StateEntry( void )
     case ZAPL_RESTRICTIONMODEOFFS7:
         stm_apl_start_activity_system();
         break;
+    case ZAPL_RESTRICTIONMODEOFFS8:
+        stm_apl_start_activity_launcher();
+        break;
+    case ZAPL_RESTRICTIONMODEOFFS9:
+        stm_apl_start_activity_launcher_fullscreen();
+        break;
     default:
         /*Not accessible to this else (default).*/
         break;
@@ -194,9 +206,33 @@ static void ZAPL_RestrictionModeOffs0e7( void )
 /* Action function                      */
 /*   STM : RestrictionModeOff           */
 /*   State : none( No 0 )               */
-/*   Event : stt_prv_layer_apps_none( No 13 ) */
+/*   Event : ara_normal( No 8 )         */
+/****************************************/
+static void ZAPL_RestrictionModeOffs0e8( void )
+{
+    ZAPL_AppsLayerState[ZAPL_APPSLAYERS0F] = ( uint8_t )ZAPL_RESTRICTIONMODEOFFS8;
+    stm_apl_start_activity_launcher();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : RestrictionModeOff           */
+/*   State : none( No 0 )               */
+/*   Event : ara_fullscreen( No 9 )     */
+/****************************************/
+static void ZAPL_RestrictionModeOffs0e9( void )
+{
+    ZAPL_AppsLayerState[ZAPL_APPSLAYERS0F] = ( uint8_t )ZAPL_RESTRICTIONMODEOFFS9;
+    stm_apl_start_activity_launcher_fullscreen();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : RestrictionModeOff           */
+/*   State : none( No 0 )               */
+/*   Event : stt_prv_layer_apps_none( No 16 ) */
 /****************************************/
-static void ZAPL_RestrictionModeOffs0e13( void )
+static void ZAPL_RestrictionModeOffs0e16( void )
 {
     stm_apl_start_activity_none();
 }
@@ -205,9 +241,9 @@ static void ZAPL_RestrictionModeOffs0e13( void )
 /* Action function                      */
 /*   STM : RestrictionModeOff           */
 /*   State : none( No 0 )               */
-/*   Event : stt_prv_layer_apps_map_spl( No 15 ) */
+/*   Event : stt_prv_layer_apps_map_spl( No 18 ) */
 /****************************************/
-static void ZAPL_RestrictionModeOffs0e15( void )
+static void ZAPL_RestrictionModeOffs0e18( void )
 {
     ZAPL_AppsLayerState[ZAPL_APPSLAYERS0F] = ( uint8_t )ZAPL_RESTRICTIONMODEOFFS2;
     stm_apl_start_activity_map_split();
@@ -217,9 +253,9 @@ static void ZAPL_RestrictionModeOffs0e15( void )
 /* Action function                      */
 /*   STM : RestrictionModeOff           */
 /*   State : none( No 0 )               */
-/*   Event : stt_prv_layer_apps_spl_spl( No 18 ) */
+/*   Event : stt_prv_layer_apps_spl_spl( No 21 ) */
 /****************************************/
-static void ZAPL_RestrictionModeOffs0e18( void )
+static void ZAPL_RestrictionModeOffs0e21( void )
 {
     ZAPL_AppsLayerState[ZAPL_APPSLAYERS0F] = ( uint8_t )ZAPL_RESTRICTIONMODEOFFS5;
     stm_apl_start_activity_splitable_split();
@@ -240,9 +276,9 @@ static void ZAPL_RestrictionModeOffs1e0( void )
 /* Action function                      */
 /*   STM : RestrictionModeOff           */
 /*   State : map( No 1 )                */
-/*   Event : ara_fullscreen( No 8 )     */
+/*   Event : ara_fullscreen( No 10 )    */
 /****************************************/
-static void ZAPL_RestrictionModeOffs1e8( void )
+static void ZAPL_RestrictionModeOffs1e10( void )
 {
     ZAPL_AppsLayerState[ZAPL_APPSLAYERS0F] = ( uint8_t )ZAPL_RESTRICTIONMODEOFFS0;
     stm_apl_start_activity_none();
@@ -263,9 +299,9 @@ static void ZAPL_RestrictionModeOffs2e3( void )
 /* Action function                      */
 /*   STM : RestrictionModeOff           */
 /*   State : map_fullscreen( No 3 )     */
-/*   Event : stt_prv_layer_apps_map_fll( No 16 ) */
+/*   Event : stt_prv_layer_apps_map_fll( No 19 ) */
 /****************************************/
-static void ZAPL_RestrictionModeOffs3e16( void )
+static void ZAPL_RestrictionModeOffs3e19( void )
 {
     stm_apl_start_activity_map_fullscreen();
 }
@@ -314,6 +350,28 @@ static void ZAPL_RestrictionModeOffs7e7( void )
     stm_apl_start_activity_system();
 }
 
+/****************************************/
+/* Action function                      */
+/*   STM : RestrictionModeOff           */
+/*   State : launcher_normal( No 8 )    */
+/*   Event : ara_normal( No 8 )         */
+/****************************************/
+static void ZAPL_RestrictionModeOffs8e8( void )
+{
+    stm_apl_start_activity_launcher();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : RestrictionModeOff           */
+/*   State : launcher_fullscreen( No 9 )*/
+/*   Event : ara_fullscreen( No 9 )     */
+/****************************************/
+static void ZAPL_RestrictionModeOffs9e9( void )
+{
+    stm_apl_start_activity_launcher_fullscreen();
+}
+
 /****************************************/
 /* Action function                      */
 /*   STM : RestrictionModeOn            */
@@ -472,6 +530,25 @@ static void ZAPL_RestrictionModeOffs0Event( void )
                     /*Please confirm the STM and design else and default.*/
                 }
             }
+            /*ctg_launcher*/
+            else if( g_stm_category == StmCtgNoLauncher )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e8();
+                }
+                /*ara_fullscreen*/
+                else if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs0e9();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
             else
             {
                 /*Else and default design have not done.*/
@@ -484,7 +561,7 @@ static void ZAPL_RestrictionModeOffs0Event( void )
             /*stt_prv_layer_apps_none*/
             if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
             {
-                ZAPL_RestrictionModeOffs0e13();
+                ZAPL_RestrictionModeOffs0e16();
             }
             /*stt_prv_layer_apps_map_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
@@ -494,7 +571,7 @@ static void ZAPL_RestrictionModeOffs0Event( void )
             /*stt_prv_layer_apps_map_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
             {
-                ZAPL_RestrictionModeOffs0e15();
+                ZAPL_RestrictionModeOffs0e18();
             }
             /*stt_prv_layer_apps_map_fll*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapFll )
@@ -509,7 +586,7 @@ static void ZAPL_RestrictionModeOffs0Event( void )
             /*stt_prv_layer_apps_spl_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
             {
-                ZAPL_RestrictionModeOffs0e18();
+                ZAPL_RestrictionModeOffs0e21();
             }
             /*stt_prv_layer_apps_gen_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
@@ -521,6 +598,16 @@ static void ZAPL_RestrictionModeOffs0Event( void )
             {
                 ZAPL_RestrictionModeOffs0e7();
             }
+            /*stt_prv_layer_apps_lch_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchNml )
+            {
+                ZAPL_RestrictionModeOffs0e8();
+            }
+            /*stt_prv_layer_apps_lch_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchFll )
+            {
+                ZAPL_RestrictionModeOffs0e9();
+            }
             else
             {
                 /*Else and default design have not done.*/
@@ -578,12 +665,12 @@ static void ZAPL_RestrictionModeOffs1Event( void )
                 /*ara_normal*/
                 if( g_stm_area == StmAreaNoNormal )
                 {
-                    ZAPL_RestrictionModeOffs0e15();
+                    ZAPL_RestrictionModeOffs0e18();
                 }
                 /*ara_split_sub*/
                 else if( g_stm_area == StmAreaNoSplitSub )
                 {
-                    ZAPL_RestrictionModeOffs0e15();
+                    ZAPL_RestrictionModeOffs0e18();
                 }
                 else
                 {
@@ -619,13 +706,32 @@ static void ZAPL_RestrictionModeOffs1Event( void )
                     /*Please confirm the STM and design else and default.*/
                 }
             }
+            /*ctg_launcher*/
+            else if( g_stm_category == StmCtgNoLauncher )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e8();
+                }
+                /*ara_fullscreen*/
+                else if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs0e9();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
             /*ctg_homescreen*/
             else if( g_stm_category == StmCtgNoHomescreen )
             {
                 /*ara_fullscreen*/
                 if( g_stm_area == StmAreaNoFullscreen )
                 {
-                    ZAPL_RestrictionModeOffs1e8();
+                    ZAPL_RestrictionModeOffs1e10();
                 }
                 else
                 {
@@ -645,7 +751,7 @@ static void ZAPL_RestrictionModeOffs1Event( void )
             /*ctg_map*/
             if( g_stm_category == StmCtgNoMap )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             else
             {
@@ -659,7 +765,7 @@ static void ZAPL_RestrictionModeOffs1Event( void )
             /*stt_prv_layer_apps_none*/
             if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             /*stt_prv_layer_apps_map_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
@@ -669,7 +775,7 @@ static void ZAPL_RestrictionModeOffs1Event( void )
             /*stt_prv_layer_apps_map_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
             {
-                ZAPL_RestrictionModeOffs0e15();
+                ZAPL_RestrictionModeOffs0e18();
             }
             /*stt_prv_layer_apps_map_fll*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapFll )
@@ -684,7 +790,7 @@ static void ZAPL_RestrictionModeOffs1Event( void )
             /*stt_prv_layer_apps_spl_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
             {
-                ZAPL_RestrictionModeOffs0e18();
+                ZAPL_RestrictionModeOffs0e21();
             }
             /*stt_prv_layer_apps_gen_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
@@ -696,6 +802,16 @@ static void ZAPL_RestrictionModeOffs1Event( void )
             {
                 ZAPL_RestrictionModeOffs0e7();
             }
+            /*stt_prv_layer_apps_lch_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchNml )
+            {
+                ZAPL_RestrictionModeOffs0e8();
+            }
+            /*stt_prv_layer_apps_lch_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchFll )
+            {
+                ZAPL_RestrictionModeOffs0e9();
+            }
             else
             {
                 /*Else and default design have not done.*/
@@ -794,13 +910,32 @@ static void ZAPL_RestrictionModeOffs2Event( void )
                     /*Please confirm the STM and design else and default.*/
                 }
             }
+            /*ctg_launcher*/
+            else if( g_stm_category == StmCtgNoLauncher )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e8();
+                }
+                /*ara_fullscreen*/
+                else if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs0e9();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
             /*ctg_homescreen*/
             else if( g_stm_category == StmCtgNoHomescreen )
             {
                 /*ara_fullscreen*/
                 if( g_stm_area == StmAreaNoFullscreen )
                 {
-                    ZAPL_RestrictionModeOffs1e8();
+                    ZAPL_RestrictionModeOffs1e10();
                 }
                 else
                 {
@@ -834,7 +969,7 @@ static void ZAPL_RestrictionModeOffs2Event( void )
             /*stt_prv_layer_apps_none*/
             if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             /*stt_prv_layer_apps_map_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
@@ -859,7 +994,7 @@ static void ZAPL_RestrictionModeOffs2Event( void )
             /*stt_prv_layer_apps_spl_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
             {
-                ZAPL_RestrictionModeOffs0e18();
+                ZAPL_RestrictionModeOffs0e21();
             }
             /*stt_prv_layer_apps_gen_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
@@ -871,6 +1006,16 @@ static void ZAPL_RestrictionModeOffs2Event( void )
             {
                 ZAPL_RestrictionModeOffs0e7();
             }
+            /*stt_prv_layer_apps_lch_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchNml )
+            {
+                ZAPL_RestrictionModeOffs0e8();
+            }
+            /*stt_prv_layer_apps_lch_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchFll )
+            {
+                ZAPL_RestrictionModeOffs0e9();
+            }
             else
             {
                 /*Else and default design have not done.*/
@@ -923,7 +1068,7 @@ static void ZAPL_RestrictionModeOffs3Event( void )
                 /*ara_normal*/
                 if( g_stm_area == StmAreaNoNormal )
                 {
-                    ZAPL_RestrictionModeOffs0e15();
+                    ZAPL_RestrictionModeOffs0e18();
                 }
                 else
                 {
@@ -959,13 +1104,32 @@ static void ZAPL_RestrictionModeOffs3Event( void )
                     /*Please confirm the STM and design else and default.*/
                 }
             }
+            /*ctg_launcher*/
+            else if( g_stm_category == StmCtgNoLauncher )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e8();
+                }
+                /*ara_fullscreen*/
+                else if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs0e9();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
             /*ctg_homescreen*/
             else if( g_stm_category == StmCtgNoHomescreen )
             {
                 /*ara_fullscreen*/
                 if( g_stm_area == StmAreaNoFullscreen )
                 {
-                    ZAPL_RestrictionModeOffs1e8();
+                    ZAPL_RestrictionModeOffs1e10();
                 }
                 else
                 {
@@ -985,7 +1149,7 @@ static void ZAPL_RestrictionModeOffs3Event( void )
             /*ctg_map*/
             if( g_stm_category == StmCtgNoMap )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             else
             {
@@ -999,7 +1163,7 @@ static void ZAPL_RestrictionModeOffs3Event( void )
             /*stt_prv_layer_apps_none*/
             if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             /*stt_prv_layer_apps_map_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
@@ -1009,12 +1173,12 @@ static void ZAPL_RestrictionModeOffs3Event( void )
             /*stt_prv_layer_apps_map_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
             {
-                ZAPL_RestrictionModeOffs0e15();
+                ZAPL_RestrictionModeOffs0e18();
             }
             /*stt_prv_layer_apps_map_fll*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapFll )
             {
-                ZAPL_RestrictionModeOffs3e16();
+                ZAPL_RestrictionModeOffs3e19();
             }
             /*stt_prv_layer_apps_spl_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
@@ -1024,7 +1188,7 @@ static void ZAPL_RestrictionModeOffs3Event( void )
             /*stt_prv_layer_apps_spl_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
             {
-                ZAPL_RestrictionModeOffs0e18();
+                ZAPL_RestrictionModeOffs0e21();
             }
             /*stt_prv_layer_apps_gen_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
@@ -1036,6 +1200,16 @@ static void ZAPL_RestrictionModeOffs3Event( void )
             {
                 ZAPL_RestrictionModeOffs0e7();
             }
+            /*stt_prv_layer_apps_lch_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchNml )
+            {
+                ZAPL_RestrictionModeOffs0e8();
+            }
+            /*stt_prv_layer_apps_lch_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchFll )
+            {
+                ZAPL_RestrictionModeOffs0e9();
+            }
             else
             {
                 /*Else and default design have not done.*/
@@ -1074,12 +1248,12 @@ static void ZAPL_RestrictionModeOffs4Event( void )
                 /*ara_normal*/
                 if( g_stm_area == StmAreaNoNormal )
                 {
-                    ZAPL_RestrictionModeOffs0e15();
+                    ZAPL_RestrictionModeOffs0e18();
                 }
                 /*ara_split_main*/
                 else if( g_stm_area == StmAreaNoSplitMain )
                 {
-                    ZAPL_RestrictionModeOffs0e15();
+                    ZAPL_RestrictionModeOffs0e18();
                 }
                 /*ara_fullscreen*/
                 else if( g_stm_area == StmAreaNoFullscreen )
@@ -1103,12 +1277,12 @@ static void ZAPL_RestrictionModeOffs4Event( void )
                 /*ara_split_main*/
                 else if( g_stm_area == StmAreaNoSplitMain )
                 {
-                    ZAPL_RestrictionModeOffs0e18();
+                    ZAPL_RestrictionModeOffs0e21();
                 }
                 /*ara_split_sub*/
                 else if( g_stm_area == StmAreaNoSplitSub )
                 {
-                    ZAPL_RestrictionModeOffs0e18();
+                    ZAPL_RestrictionModeOffs0e21();
                 }
                 else
                 {
@@ -1144,13 +1318,32 @@ static void ZAPL_RestrictionModeOffs4Event( void )
                     /*Please confirm the STM and design else and default.*/
                 }
             }
+            /*ctg_launcher*/
+            else if( g_stm_category == StmCtgNoLauncher )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e8();
+                }
+                /*ara_fullscreen*/
+                else if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs0e9();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
             /*ctg_homescreen*/
             else if( g_stm_category == StmCtgNoHomescreen )
             {
                 /*ara_fullscreen*/
                 if( g_stm_area == StmAreaNoFullscreen )
                 {
-                    ZAPL_RestrictionModeOffs1e8();
+                    ZAPL_RestrictionModeOffs1e10();
                 }
                 else
                 {
@@ -1170,7 +1363,7 @@ static void ZAPL_RestrictionModeOffs4Event( void )
             /*ctg_splitable*/
             if( g_stm_category == StmCtgNoSplitable )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             else
             {
@@ -1184,7 +1377,7 @@ static void ZAPL_RestrictionModeOffs4Event( void )
             /*stt_prv_layer_apps_none*/
             if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             /*stt_prv_layer_apps_map_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
@@ -1194,7 +1387,7 @@ static void ZAPL_RestrictionModeOffs4Event( void )
             /*stt_prv_layer_apps_map_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
             {
-                ZAPL_RestrictionModeOffs0e15();
+                ZAPL_RestrictionModeOffs0e18();
             }
             /*stt_prv_layer_apps_map_fll*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapFll )
@@ -1209,7 +1402,7 @@ static void ZAPL_RestrictionModeOffs4Event( void )
             /*stt_prv_layer_apps_spl_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
             {
-                ZAPL_RestrictionModeOffs0e18();
+                ZAPL_RestrictionModeOffs0e21();
             }
             /*stt_prv_layer_apps_gen_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
@@ -1221,6 +1414,16 @@ static void ZAPL_RestrictionModeOffs4Event( void )
             {
                 ZAPL_RestrictionModeOffs0e7();
             }
+            /*stt_prv_layer_apps_lch_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchNml )
+            {
+                ZAPL_RestrictionModeOffs0e8();
+            }
+            /*stt_prv_layer_apps_lch_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchFll )
+            {
+                ZAPL_RestrictionModeOffs0e9();
+            }
             else
             {
                 /*Else and default design have not done.*/
@@ -1259,12 +1462,12 @@ static void ZAPL_RestrictionModeOffs5Event( void )
                 /*ara_normal*/
                 if( g_stm_area == StmAreaNoNormal )
                 {
-                    ZAPL_RestrictionModeOffs0e15();
+                    ZAPL_RestrictionModeOffs0e18();
                 }
                 /*ara_split_main*/
                 else if( g_stm_area == StmAreaNoSplitMain )
                 {
-                    ZAPL_RestrictionModeOffs0e15();
+                    ZAPL_RestrictionModeOffs0e18();
                 }
                 /*ara_fullscreen*/
                 else if( g_stm_area == StmAreaNoFullscreen )
@@ -1329,13 +1532,32 @@ static void ZAPL_RestrictionModeOffs5Event( void )
                     /*Please confirm the STM and design else and default.*/
                 }
             }
+            /*ctg_launcher*/
+            else if( g_stm_category == StmCtgNoLauncher )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e8();
+                }
+                /*ara_fullscreen*/
+                else if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs0e9();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
             /*ctg_homescreen*/
             else if( g_stm_category == StmCtgNoHomescreen )
             {
                 /*ara_fullscreen*/
                 if( g_stm_area == StmAreaNoFullscreen )
                 {
-                    ZAPL_RestrictionModeOffs1e8();
+                    ZAPL_RestrictionModeOffs1e10();
                 }
                 else
                 {
@@ -1369,7 +1591,7 @@ static void ZAPL_RestrictionModeOffs5Event( void )
             /*stt_prv_layer_apps_none*/
             if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             /*stt_prv_layer_apps_map_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
@@ -1379,7 +1601,7 @@ static void ZAPL_RestrictionModeOffs5Event( void )
             /*stt_prv_layer_apps_map_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
             {
-                ZAPL_RestrictionModeOffs0e15();
+                ZAPL_RestrictionModeOffs0e18();
             }
             /*stt_prv_layer_apps_map_fll*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapFll )
@@ -1406,6 +1628,16 @@ static void ZAPL_RestrictionModeOffs5Event( void )
             {
                 ZAPL_RestrictionModeOffs0e7();
             }
+            /*stt_prv_layer_apps_lch_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchNml )
+            {
+                ZAPL_RestrictionModeOffs0e8();
+            }
+            /*stt_prv_layer_apps_lch_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchFll )
+            {
+                ZAPL_RestrictionModeOffs0e9();
+            }
             else
             {
                 /*Else and default design have not done.*/
@@ -1499,13 +1731,32 @@ static void ZAPL_RestrictionModeOffs6Event( void )
                     /*Please confirm the STM and design else and default.*/
                 }
             }
+            /*ctg_launcher*/
+            else if( g_stm_category == StmCtgNoLauncher )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e8();
+                }
+                /*ara_fullscreen*/
+                else if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs0e9();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
             /*ctg_homescreen*/
             else if( g_stm_category == StmCtgNoHomescreen )
             {
                 /*ara_fullscreen*/
                 if( g_stm_area == StmAreaNoFullscreen )
                 {
-                    ZAPL_RestrictionModeOffs1e8();
+                    ZAPL_RestrictionModeOffs1e10();
                 }
                 else
                 {
@@ -1525,7 +1776,7 @@ static void ZAPL_RestrictionModeOffs6Event( void )
             /*ctg_general*/
             if( g_stm_category == StmCtgNoGeneral )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             else
             {
@@ -1539,7 +1790,7 @@ static void ZAPL_RestrictionModeOffs6Event( void )
             /*stt_prv_layer_apps_none*/
             if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             /*stt_prv_layer_apps_map_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
@@ -1549,7 +1800,7 @@ static void ZAPL_RestrictionModeOffs6Event( void )
             /*stt_prv_layer_apps_map_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
             {
-                ZAPL_RestrictionModeOffs0e15();
+                ZAPL_RestrictionModeOffs0e18();
             }
             /*stt_prv_layer_apps_map_fll*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapFll )
@@ -1564,7 +1815,7 @@ static void ZAPL_RestrictionModeOffs6Event( void )
             /*stt_prv_layer_apps_spl_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
             {
-                ZAPL_RestrictionModeOffs0e18();
+                ZAPL_RestrictionModeOffs0e21();
             }
             /*stt_prv_layer_apps_gen_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
@@ -1576,6 +1827,16 @@ static void ZAPL_RestrictionModeOffs6Event( void )
             {
                 ZAPL_RestrictionModeOffs0e7();
             }
+            /*stt_prv_layer_apps_lch_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchNml )
+            {
+                ZAPL_RestrictionModeOffs0e8();
+            }
+            /*stt_prv_layer_apps_lch_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchFll )
+            {
+                ZAPL_RestrictionModeOffs0e9();
+            }
             else
             {
                 /*Else and default design have not done.*/
@@ -1669,13 +1930,32 @@ static void ZAPL_RestrictionModeOffs7Event( void )
                     /*Please confirm the STM and design else and default.*/
                 }
             }
+            /*ctg_launcher*/
+            else if( g_stm_category == StmCtgNoLauncher )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e8();
+                }
+                /*ara_fullscreen*/
+                else if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs0e9();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
             /*ctg_homescreen*/
             else if( g_stm_category == StmCtgNoHomescreen )
             {
                 /*ara_fullscreen*/
                 if( g_stm_area == StmAreaNoFullscreen )
                 {
-                    ZAPL_RestrictionModeOffs1e8();
+                    ZAPL_RestrictionModeOffs1e10();
                 }
                 else
                 {
@@ -1695,7 +1975,7 @@ static void ZAPL_RestrictionModeOffs7Event( void )
             /*ctg_system*/
             if( g_stm_category == StmCtgNoSystem )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             else
             {
@@ -1709,7 +1989,7 @@ static void ZAPL_RestrictionModeOffs7Event( void )
             /*stt_prv_layer_apps_none*/
             if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
             {
-                ZAPL_RestrictionModeOffs1e8();
+                ZAPL_RestrictionModeOffs1e10();
             }
             /*stt_prv_layer_apps_map_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
@@ -1719,7 +1999,7 @@ static void ZAPL_RestrictionModeOffs7Event( void )
             /*stt_prv_layer_apps_map_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
             {
-                ZAPL_RestrictionModeOffs0e15();
+                ZAPL_RestrictionModeOffs0e18();
             }
             /*stt_prv_layer_apps_map_fll*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapFll )
@@ -1734,7 +2014,7 @@ static void ZAPL_RestrictionModeOffs7Event( void )
             /*stt_prv_layer_apps_spl_spl*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
             {
-                ZAPL_RestrictionModeOffs0e18();
+                ZAPL_RestrictionModeOffs0e21();
             }
             /*stt_prv_layer_apps_gen_nml*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
@@ -1746,6 +2026,16 @@ static void ZAPL_RestrictionModeOffs7Event( void )
             {
                 ZAPL_RestrictionModeOffs7e7();
             }
+            /*stt_prv_layer_apps_lch_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchNml )
+            {
+                ZAPL_RestrictionModeOffs0e8();
+            }
+            /*stt_prv_layer_apps_lch_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchFll )
+            {
+                ZAPL_RestrictionModeOffs0e9();
+            }
             else
             {
                 /*Else and default design have not done.*/
@@ -1767,33 +2057,13 @@ static void ZAPL_RestrictionModeOffs7Event( void )
 
 /****************************************/
 /* Event appraisal function             */
-/*   STM : AppsLayer                    */
-/*   State : restriction_mode_on( No 1 )*/
+/*   STM : RestrictionModeOff           */
+/*   State : launcher_normal( No 8 )    */
 /****************************************/
-static void ZAPL_AppsLayers1Event( void )
+static void ZAPL_RestrictionModeOffs8Event( void )
 {
     /*stt_restriction_mode_off*/
     if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
-    {
-        stm_apl_event_restriction_mode_off();
-        ZAPL_AppsLayers1e0();
-    }
-    else
-    {
-        /*Else and default design have not done.*/
-        /*Please confirm the STM and design else and default.*/
-    }
-}
-
-/****************************************/
-/* Event appraisal function             */
-/*   STM : RestrictionModeOn            */
-/*   State : map( No 0 )                */
-/****************************************/
-static void ZAPL_RestrictionModeOns0Event( void )
-{
-    /*stt_restriction_mode_on*/
-    if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOn )
     {
         /*evt_activate*/
         if( g_stm_event == StmEvtNoActivate )
@@ -1801,10 +2071,15 @@ static void ZAPL_RestrictionModeOns0Event( void )
             /*ctg_map*/
             if( g_stm_category == StmCtgNoMap )
             {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e0();
+                }
                 /*ara_fullscreen*/
-                if( g_stm_area == StmAreaNoFullscreen )
+                else if( g_stm_area == StmAreaNoFullscreen )
                 {
-                    ZAPL_RestrictionModeOns0e1();
+                    ZAPL_RestrictionModeOffs0e2();
                 }
                 else
                 {
@@ -1812,19 +2087,432 @@ static void ZAPL_RestrictionModeOns0Event( void )
                     /*Please confirm the STM and design else and default.*/
                 }
             }
-            else
-            {
-                /*Else and default design have not done.*/
-                /*Please confirm the STM and design else and default.*/
-            }
-        }
-        /*evt_undo*/
-        else if( g_stm_event == StmEvtNoUndo )
-        {
-            /*stt_prv_layer_apps_map_nml*/
-            if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
+            /*ctg_splitable*/
+            else if( g_stm_category == StmCtgNoSplitable )
             {
-                ZAPL_RestrictionModeOns0e2();
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e3();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            /*ctg_general*/
+            else if( g_stm_category == StmCtgNoGeneral )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e6();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            /*ctg_system*/
+            else if( g_stm_category == StmCtgNoSystem )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e7();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            /*ctg_launcher*/
+            else if( g_stm_category == StmCtgNoLauncher )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs8e8();
+                }
+                /*ara_fullscreen*/
+                else if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs0e9();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            /*ctg_homescreen*/
+            else if( g_stm_category == StmCtgNoHomescreen )
+            {
+                /*ara_fullscreen*/
+                if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs1e10();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        /*evt_deactivate*/
+        else if( g_stm_event == StmEvtNoDeactivate )
+        {
+            /*ctg_launcher*/
+            if( g_stm_category == StmCtgNoLauncher )
+            {
+                ZAPL_RestrictionModeOffs1e10();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        /*evt_undo*/
+        else if( g_stm_event == StmEvtNoUndo )
+        {
+            /*stt_prv_layer_apps_none*/
+            if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
+            {
+                ZAPL_RestrictionModeOffs1e10();
+            }
+            /*stt_prv_layer_apps_map_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
+            {
+                ZAPL_RestrictionModeOffs0e0();
+            }
+            /*stt_prv_layer_apps_map_spl*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+            {
+                ZAPL_RestrictionModeOffs0e18();
+            }
+            /*stt_prv_layer_apps_map_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapFll )
+            {
+                ZAPL_RestrictionModeOffs0e2();
+            }
+            /*stt_prv_layer_apps_spl_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+            {
+                ZAPL_RestrictionModeOffs0e3();
+            }
+            /*stt_prv_layer_apps_spl_spl*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+            {
+                ZAPL_RestrictionModeOffs0e21();
+            }
+            /*stt_prv_layer_apps_gen_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+            {
+                ZAPL_RestrictionModeOffs0e6();
+            }
+            /*stt_prv_layer_apps_sys_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSysNml )
+            {
+                ZAPL_RestrictionModeOffs0e7();
+            }
+            /*stt_prv_layer_apps_lch_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchNml )
+            {
+                ZAPL_RestrictionModeOffs8e8();
+            }
+            /*stt_prv_layer_apps_lch_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchFll )
+            {
+                ZAPL_RestrictionModeOffs0e9();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : RestrictionModeOff           */
+/*   State : launcher_fullscreen( No 9 )*/
+/****************************************/
+static void ZAPL_RestrictionModeOffs9Event( void )
+{
+    /*stt_restriction_mode_off*/
+    if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+    {
+        /*evt_activate*/
+        if( g_stm_event == StmEvtNoActivate )
+        {
+            /*ctg_map*/
+            if( g_stm_category == StmCtgNoMap )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e0();
+                }
+                /*ara_fullscreen*/
+                else if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs0e2();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            /*ctg_splitable*/
+            else if( g_stm_category == StmCtgNoSplitable )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e3();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            /*ctg_general*/
+            else if( g_stm_category == StmCtgNoGeneral )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e6();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            /*ctg_system*/
+            else if( g_stm_category == StmCtgNoSystem )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e7();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            /*ctg_launcher*/
+            else if( g_stm_category == StmCtgNoLauncher )
+            {
+                /*ara_normal*/
+                if( g_stm_area == StmAreaNoNormal )
+                {
+                    ZAPL_RestrictionModeOffs0e8();
+                }
+                /*ara_fullscreen*/
+                else if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs9e9();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            /*ctg_homescreen*/
+            else if( g_stm_category == StmCtgNoHomescreen )
+            {
+                /*ara_fullscreen*/
+                if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOffs1e10();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        /*evt_deactivate*/
+        else if( g_stm_event == StmEvtNoDeactivate )
+        {
+            /*ctg_launcher*/
+            if( g_stm_category == StmCtgNoLauncher )
+            {
+                ZAPL_RestrictionModeOffs1e10();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        /*evt_undo*/
+        else if( g_stm_event == StmEvtNoUndo )
+        {
+            /*stt_prv_layer_apps_none*/
+            if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
+            {
+                ZAPL_RestrictionModeOffs1e10();
+            }
+            /*stt_prv_layer_apps_map_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
+            {
+                ZAPL_RestrictionModeOffs0e0();
+            }
+            /*stt_prv_layer_apps_map_spl*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+            {
+                ZAPL_RestrictionModeOffs0e18();
+            }
+            /*stt_prv_layer_apps_map_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapFll )
+            {
+                ZAPL_RestrictionModeOffs0e2();
+            }
+            /*stt_prv_layer_apps_spl_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+            {
+                ZAPL_RestrictionModeOffs0e3();
+            }
+            /*stt_prv_layer_apps_spl_spl*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+            {
+                ZAPL_RestrictionModeOffs0e21();
+            }
+            /*stt_prv_layer_apps_gen_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+            {
+                ZAPL_RestrictionModeOffs0e6();
+            }
+            /*stt_prv_layer_apps_sys_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSysNml )
+            {
+                ZAPL_RestrictionModeOffs0e7();
+            }
+            /*stt_prv_layer_apps_lch_nml*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchNml )
+            {
+                ZAPL_RestrictionModeOffs0e8();
+            }
+            /*stt_prv_layer_apps_lch_fll*/
+            else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoLchFll )
+            {
+                ZAPL_RestrictionModeOffs9e9();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : AppsLayer                    */
+/*   State : restriction_mode_on( No 1 )*/
+/****************************************/
+static void ZAPL_AppsLayers1Event( void )
+{
+    /*stt_restriction_mode_off*/
+    if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+    {
+        stm_apl_event_restriction_mode_off();
+        ZAPL_AppsLayers1e0();
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : RestrictionModeOn            */
+/*   State : map( No 0 )                */
+/****************************************/
+static void ZAPL_RestrictionModeOns0Event( void )
+{
+    /*stt_restriction_mode_on*/
+    if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOn )
+    {
+        /*evt_activate*/
+        if( g_stm_event == StmEvtNoActivate )
+        {
+            /*ctg_map*/
+            if( g_stm_category == StmCtgNoMap )
+            {
+                /*ara_fullscreen*/
+                if( g_stm_area == StmAreaNoFullscreen )
+                {
+                    ZAPL_RestrictionModeOns0e1();
+                }
+                else
+                {
+                    /*Else and default design have not done.*/
+                    /*Please confirm the STM and design else and default.*/
+                }
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        /*evt_undo*/
+        else if( g_stm_event == StmEvtNoUndo )
+        {
+            /*stt_prv_layer_apps_map_nml*/
+            if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
+            {
+                ZAPL_RestrictionModeOns0e2();
             }
             /*stt_prv_layer_apps_map_fll*/
             else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapFll )
@@ -1951,6 +2639,12 @@ void stm_apl_event_call( void )
         case ZAPL_RESTRICTIONMODEOFFS7:
             ZAPL_RestrictionModeOffs7Event();
             break;
+        case ZAPL_RESTRICTIONMODEOFFS8:
+            ZAPL_RestrictionModeOffs8Event();
+            break;
+        case ZAPL_RESTRICTIONMODEOFFS9:
+            ZAPL_RestrictionModeOffs9Event();
+            break;
         default:
             /*Not accessible to this else (default).*/
             break;
index d94cbc0..c4556e6 100755 (executable)
 #define ZAPL_RESTRICTIONMODEOFFS5 ( 5U )
 #define ZAPL_RESTRICTIONMODEOFFS6 ( 6U )
 #define ZAPL_RESTRICTIONMODEOFFS7 ( 7U )
+#define ZAPL_RESTRICTIONMODEOFFS8 ( 8U )
+#define ZAPL_RESTRICTIONMODEOFFS9 ( 9U )
 #define ZAPL_APPSLAYERS1 ( 1U )
 #define ZAPL_RESTRICTIONMODEONS0 ( 0U )
 #define ZAPL_RESTRICTIONMODEONS1 ( 1U )
 #define ZAPL_APPSLAYERSTATENOMAX ( 3U )
 
 /*End state define*/
-#define ZAPL_APPSLAYEREND ( 8U )
+#define ZAPL_APPSLAYEREND ( 10U )
 /*Terminate state define*/
 #define ZAPL_APPSLAYERTERMINATE ( ZAPL_APPSLAYEREND + 1U )
 
@@ -39,6 +41,8 @@
 #define ZAPL_RESTRICTIONMODEOFFS5STATENO ( 5U )
 #define ZAPL_RESTRICTIONMODEOFFS6STATENO ( 6U )
 #define ZAPL_RESTRICTIONMODEOFFS7STATENO ( 7U )
+#define ZAPL_RESTRICTIONMODEOFFS8STATENO ( 8U )
+#define ZAPL_RESTRICTIONMODEOFFS9STATENO ( 9U )
 #define ZAPL_APPSLAYERS1STATENO ( 1U )
 #define ZAPL_RESTRICTIONMODEONS0STATENO ( 0U )
 #define ZAPL_RESTRICTIONMODEONS1STATENO ( 1U )
 #define ZAPL_RESTRICTIONMODEOFFS5STATESERIALNO ( 6U )
 #define ZAPL_RESTRICTIONMODEOFFS6STATESERIALNO ( 7U )
 #define ZAPL_RESTRICTIONMODEOFFS7STATESERIALNO ( 8U )
-#define ZAPL_APPSLAYERS1STATESERIALNO ( 9U )
-#define ZAPL_RESTRICTIONMODEONS0STATESERIALNO ( 10U )
-#define ZAPL_RESTRICTIONMODEONS1STATESERIALNO ( 11U )
+#define ZAPL_RESTRICTIONMODEOFFS8STATESERIALNO ( 9U )
+#define ZAPL_RESTRICTIONMODEOFFS9STATESERIALNO ( 10U )
+#define ZAPL_APPSLAYERS1STATESERIALNO ( 11U )
+#define ZAPL_RESTRICTIONMODEONS0STATESERIALNO ( 12U )
+#define ZAPL_RESTRICTIONMODEONS1STATESERIALNO ( 13U )
 
 /*Event no define*/
 #define ZAPL_APPSLAYERE0EVENTNO ( 0U )
 #define ZAPL_RESTRICTIONMODEOFFE18EVENTNO ( 18U )
 #define ZAPL_RESTRICTIONMODEOFFE19EVENTNO ( 19U )
 #define ZAPL_RESTRICTIONMODEOFFE20EVENTNO ( 20U )
+#define ZAPL_RESTRICTIONMODEOFFE21EVENTNO ( 21U )
+#define ZAPL_RESTRICTIONMODEOFFE22EVENTNO ( 22U )
+#define ZAPL_RESTRICTIONMODEOFFE23EVENTNO ( 23U )
+#define ZAPL_RESTRICTIONMODEOFFE24EVENTNO ( 24U )
+#define ZAPL_RESTRICTIONMODEOFFE25EVENTNO ( 25U )
 #define ZAPL_RESTRICTIONMODEONE0EVENTNO ( 0U )
 #define ZAPL_RESTRICTIONMODEONE1EVENTNO ( 1U )
 #define ZAPL_RESTRICTIONMODEONE2EVENTNO ( 2U )
 #define ZAPL_RESTRICTIONMODEOFFE18EVENTNO ( 18U )
 #define ZAPL_RESTRICTIONMODEOFFE19EVENTNO ( 19U )
 #define ZAPL_RESTRICTIONMODEOFFE20EVENTNO ( 20U )
+#define ZAPL_RESTRICTIONMODEOFFE21EVENTNO ( 21U )
+#define ZAPL_RESTRICTIONMODEOFFE22EVENTNO ( 22U )
+#define ZAPL_RESTRICTIONMODEOFFE23EVENTNO ( 23U )
+#define ZAPL_RESTRICTIONMODEOFFE24EVENTNO ( 24U )
+#define ZAPL_RESTRICTIONMODEOFFE25EVENTNO ( 25U )
 #define ZAPL_RESTRICTIONMODEONE0EVENTNO ( 0U )
 #define ZAPL_RESTRICTIONMODEONE1EVENTNO ( 1U )
 #define ZAPL_RESTRICTIONMODEONE2EVENTNO ( 2U )
index 245271f..8d14bf3 100755 (executable)
@@ -88,6 +88,22 @@ void stm_apl_start_activity_system() {
     g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
 }
 
+/*
+ * @name stm_apl_start_activity_launcher
+ */
+void stm_apl_start_activity_launcher() {
+    g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoLchNml;
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+/*
+ * @name stm_apl_start_activity_launcher_fullscreen
+ */
+void stm_apl_start_activity_launcher_fullscreen() {
+    g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoLchFll;
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
 /*
  * @name stm_apl_event_restriction_mode_off
  */
index 8d1de90..2d17845 100755 (executable)
@@ -14,6 +14,8 @@ extern void stm_apl_start_activity_splitable_normal();
 extern void stm_apl_start_activity_splitable_split();
 extern void stm_apl_start_activity_general();
 extern void stm_apl_start_activity_system();
+extern void stm_apl_start_activity_launcher();
+extern void stm_apl_start_activity_launcher_fullscreen();
 extern void stm_apl_event_restriction_mode_off();
 extern void stm_apl_event_restriction_mode_on();
 extern void stm_apl_initialize_variable();
index 2779653..09d75ac 100755 (executable)
@@ -27,23 +27,23 @@ void stmInitializeInner(const char *ecu_name) {
 
     if (0 == strcmp("slave", ecu_name))
     {
-       stm_ecu_type = StmEcuTypeIVI;
+        stm_ecu_type = StmEcuTypeIVI;
     }
     else if (0 == strcmp("master", ecu_name))
     {
-       stm_ecu_type = StmEcuTypeMeter;
+        stm_ecu_type = StmEcuTypeMeter;
     }
     else if (0 == strcmp("hud", ecu_name))
     {
-       stm_ecu_type = StmEcuTypeHUD;
+        stm_ecu_type = StmEcuTypeHUD;
     }
     else if (0 == strcmp("rse1", ecu_name))
     {
-       stm_ecu_type = StmEcuTypeRSE1;
+        stm_ecu_type = StmEcuTypeRSE1;
     }
     else if (0 == strcmp("rse2", ecu_name))
     {
-       stm_ecu_type = StmEcuTypeRSE2;
+        stm_ecu_type = StmEcuTypeRSE2;
     }
 
     // Initialize previous state
@@ -53,7 +53,7 @@ void stmInitializeInner(const char *ecu_name) {
     g_stm_crr_state = g_stm_prv_state;
 
     // Initialize map activate state
-       g_stm_map_is_activated = STM_FALSE;
+    g_stm_map_is_activated = STM_FALSE;
 
     switch ( stm_ecu_type )
     {
@@ -95,24 +95,40 @@ void stmInitializeInner(const char *ecu_name) {
         stm_mst_rmt_initialize_valiable();
         break;
     case StmEcuTypeHUD:
+        // Initialize hud apps layer
+        stm_hud_apps_initialize();
+        stm_hud_apps_initialize_variable();
+
+        // Initialize hud near_apps layer
+        stm_hud_near_apps_initialize();
+        stm_hud_near_apps_initialize_variable();
+
         // Initialize remote_hud layer on HUD ecu
         stm_rmt_hud_initialize();
         stm_rmt_hud_initialize_variable();
 
-       // Initialize remote_hud_up_left layer on HUD ecu
-       stm_rmt_hud_up_left_initialize();
-       stm_rmt_hud_up_left_initialize_variable();
-       break;
+        // Initialize remote_hud_up_left layer on HUD ecu
+        stm_rmt_hud_up_left_initialize();
+        stm_rmt_hud_up_left_initialize_variable();
+        break;
     case StmEcuTypeRSE1:
+        // Initialize rse1 apps layer
+        stm_rse1_apps_initialize();
+        stm_rse1_apps_initialize_variable();
+
         // Initialize remote_rse1 layer on RSE1 ecu
-       stm_rmt_rse1_initialize();
-       stm_rmt_rse1_initialize_variable();
-       break;
+        stm_rmt_rse1_initialize();
+        stm_rmt_rse1_initialize_variable();
+        break;
     case StmEcuTypeRSE2:
+        // Initialize rse2 apps  layer
+        stm_rse2_apps_initialize();
+        stm_rse2_apps_initialize_variable();
+
         // Initialize remote_rse2 layer on RSE2 ecu
         stm_rmt_rse2_initialize();
         stm_rmt_rse2_initialize_variable();
-       break;
+        break;
     case StmEcuTypeIVI:
     default:
         // Initialize LightstatusBrake state
@@ -192,20 +208,32 @@ int stmTransitionStateInner(int event_id, StmState* state) {
         stm_mst_rmt_event_call();
         break;
     case StmEcuTypeHUD:
+        // hud apps layer
+        stm_hud_apps_event_call();
+
+        // hud near_apps layer on HUD ecu
+        stm_hud_near_apps_event_call();
+
         // remote_hud layer on HUD ecu
-       stm_rmt_hud_event_call();
+        stm_rmt_hud_event_call();
 
         // remote_hud_up_left layer on HUD ecu
-       stm_rmt_hud_up_left_event_call();
-       break;
+        stm_rmt_hud_up_left_event_call();
+        break;
     case StmEcuTypeRSE1:
+        // rse1 apps layer
+        stm_rse1_apps_event_call();
+
         // remote_rse1 layer on RSE1 ecu
-       stm_rmt_rse1_event_call();
-       break;
+        stm_rmt_rse1_event_call();
+        break;
     case StmEcuTypeRSE2:
+        // rse2 apps layer
+        stm_rse2_apps_event_call();
+
         // remote_rse2 layer on RSE2 ecu
-       stm_rmt_rse1_event_call();
-       break;
+        stm_rmt_rse2_event_call();
+        break;
     case StmEcuTypeIVI:
     default:
         // LightstatusBrake state
@@ -275,5 +303,5 @@ void stmUndoStateInner() {
         stm_mst_rmt_event_call();
     }
 
-       g_stm_crr_state = g_stm_prv_state;
+    g_stm_crr_state = g_stm_prv_state;
 }
index b5beb20..e37e686 100755 (executable)
 #include "ZST_StateTransitionor_var.h"
 #include "hud/layer/remote_hud/Zremote_hud_remote_hud_func.h"
 #include "hud/layer/remote_hud_upper_left/Zremote_hud_upper_left_remote_hud_up_left_func.h"
+#include "hud/layer/apps/Zhud_apps_hud_apps_func.h"
+#include "hud/layer/near_apps/Zhud_near_apps_hud_near_apps_func.h"
 #include "rse1/layer/remote_rse1/Zremote_rse1_remote_rse1_func.h"
+#include "rse1/layer/apps/Zrse1_apps_rse1_apps_func.h"
 #include "rse2/layer/remote_rse2/Zremote_rse2_remote_rse2_func.h"
+#include "rse2/layer/apps/Zrse2_apps_rse2_apps_func.h"
 #include "AppsLayer/ZAPL_Apps_func.h"
 #include "OnScreenlayer/ZOSL_OnScreen_func.h"
 #include "HomeScreenLayer/ZHSL_HomeScreen_func.h"
 #include "master/layer/remote/Zmaster_remote_remote.h"
 #include "hud/layer/remote_hud/Zremote_hud_remote_hud.h"
 #include "hud/layer/remote_hud_upper_left/Zremote_hud_upper_left_remote_hud_up_left.h"
+#include "hud/layer/apps/Zhud_apps_hud_apps.h"
+#include "hud/layer/near_apps/Zhud_near_apps_hud_near_apps.h"
 #include "rse1/layer/remote_rse1/Zremote_rse1_remote_rse1.h"
+#include "rse1/layer/apps/Zrse1_apps_rse1_apps.h"
 #include "rse2/layer/remote_rse2/Zremote_rse2_remote_rse2.h"
+#include "rse2/layer/apps/Zrse2_apps_rse2_apps.h"
 #include "AppsLayer/ZAPL_AppsLayer.h"
 #include "OnScreenlayer/ZOSL_OslMain.h"
 #include "HomeScreenLayer/ZHSL_HomeScreen.h"
diff --git a/policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps.c b/policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps.c
new file mode 100755 (executable)
index 0000000..52744cd
--- /dev/null
@@ -0,0 +1,179 @@
+/************************************************************/
+/*     Zhud_apps_hud_apps.c                                 */
+/*     hud_apps State transition model source file          */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#include "../../../ZST_include.h"
+
+/* State management variable */
+static uint8_t Zhud_apps_hud_appsState[ZHUD_APPS_HUD_APPSSTATENOMAX];
+
+static void Zhud_apps_hud_appss0e0( void );
+static void Zhud_apps_hud_appss1e0( void );
+static void Zhud_apps_hud_appss1e1( void );
+static void Zhud_apps_hud_appss0Event( void );
+static void Zhud_apps_hud_appss1Event( void );
+
+/****************************************/
+/* Action function                      */
+/*   STM : hud_apps                     */
+/*   State : none( No 0 )               */
+/*   Event : ara_normal( No 0 )         */
+/****************************************/
+static void Zhud_apps_hud_appss0e0( void )
+{
+    Zhud_apps_hud_appsState[ZHUD_APPS_HUD_APPS] = ( uint8_t )ZHUD_APPS_HUD_APPSS1;
+    stm_hud_apps_start_activity_general();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : hud_apps                     */
+/*   State : general( No 1 )            */
+/*   Event : ara_normal( No 0 )         */
+/****************************************/
+static void Zhud_apps_hud_appss1e0( void )
+{
+    stm_hud_apps_start_activity_general();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : hud_apps                     */
+/*   State : general( No 1 )            */
+/*   Event : ctg_receiver( No 1 )       */
+/****************************************/
+static void Zhud_apps_hud_appss1e1( void )
+{
+    Zhud_apps_hud_appsState[ZHUD_APPS_HUD_APPS] = ( uint8_t )ZHUD_APPS_HUD_APPSS0;
+    stm_hud_apps_start_activity_none();
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : hud_apps                     */
+/*   State : none( No 0 )               */
+/****************************************/
+static void Zhud_apps_hud_appss0Event( void )
+{
+    /*evt_activate*/
+    if( g_stm_event == StmEvtNoActivate )
+    {
+        /*ctg_receiver*/
+        if( g_stm_category == StmCtgNoReceiver )
+        {
+            /*ara_normal*/
+            if( g_stm_area == StmAreaNoNormal )
+            {
+                Zhud_apps_hud_appss0e0();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : hud_apps                     */
+/*   State : general( No 1 )            */
+/****************************************/
+static void Zhud_apps_hud_appss1Event( void )
+{
+    /*evt_activate*/
+    if( g_stm_event == StmEvtNoActivate )
+    {
+        /*ctg_receiver*/
+        if( g_stm_category == StmCtgNoReceiver )
+        {
+            /*ara_normal*/
+            if( g_stm_area == StmAreaNoNormal )
+            {
+                Zhud_apps_hud_appss1e0();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    /*evt_deactivate*/
+    else if( g_stm_event == StmEvtNoDeactivate )
+    {
+        /*ctg_receiver*/
+        if( g_stm_category == StmCtgNoReceiver )
+        {
+            Zhud_apps_hud_appss1e1();
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event call function                  */
+/*   STM : hud_apps                     */
+/****************************************/
+void stm_hud_apps_event_call( void )
+{
+    stm_hud_apps_start_stm();
+    switch( Zhud_apps_hud_appsState[ZHUD_APPS_HUD_APPS] )
+    {
+    case ZHUD_APPS_HUD_APPSS0:
+        Zhud_apps_hud_appss0Event();
+        break;
+    case ZHUD_APPS_HUD_APPSS1:
+        Zhud_apps_hud_appss1Event();
+        break;
+    default:
+        /*Not accessible to this else (default).*/
+        break;
+    }
+}
+
+/****************************************/
+/* Initial function                     */
+/*   STM : hud_apps                     */
+/****************************************/
+void stm_hud_apps_initialize( void )
+{
+    Zhud_apps_hud_appsState[ZHUD_APPS_HUD_APPS] = ( uint8_t )ZHUD_APPS_HUD_APPSS0;
+    stm_hud_apps_start_activity_none();
+}
+
+/****************************************/
+/* Terminate function                   */
+/*   STM : hud_apps                     */
+/****************************************/
+void Zhud_apps_hud_appsTerminate( void )
+{
+    Zhud_apps_hud_appsState[ZHUD_APPS_HUD_APPS] = ( uint8_t )ZHUD_APPS_HUD_APPSTERMINATE;
+}
+
diff --git a/policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps.h b/policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps.h
new file mode 100755 (executable)
index 0000000..77063df
--- /dev/null
@@ -0,0 +1,41 @@
+/************************************************************/
+/*     Zhud_apps_hud_apps.h                                 */
+/*     hud_apps State transition model header file          */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#ifndef ZHEADER_ZHUD_APPS_HUD_APPS_H
+#define ZHEADER_ZHUD_APPS_HUD_APPS_H
+
+/*State management variable access define*/
+#define ZHUD_APPS_HUD_APPS ( 0U )
+#define ZHUD_APPS_HUD_APPSS0 ( 0U )
+#define ZHUD_APPS_HUD_APPSS1 ( 1U )
+#define ZHUD_APPS_HUD_APPSSTATENOMAX ( 1U )
+
+/*End state define*/
+#define ZHUD_APPS_HUD_APPSEND ( 2U )
+/*Terminate state define*/
+#define ZHUD_APPS_HUD_APPSTERMINATE ( ZHUD_APPS_HUD_APPSEND + 1U )
+
+/*State no define*/
+#define ZHUD_APPS_HUD_APPSS0STATENO ( 0U )
+#define ZHUD_APPS_HUD_APPSS1STATENO ( 1U )
+
+/*State serial no define*/
+#define ZHUD_APPS_HUD_APPSS0STATESERIALNO ( 0U )
+#define ZHUD_APPS_HUD_APPSS1STATESERIALNO ( 1U )
+
+/*Event no define*/
+#define ZHUD_APPS_HUD_APPSE0EVENTNO ( 0U )
+#define ZHUD_APPS_HUD_APPSE1EVENTNO ( 1U )
+
+/*Event serial no define*/
+#define ZHUD_APPS_HUD_APPSE0EVENTSERIALNO ( 0U )
+#define ZHUD_APPS_HUD_APPSE1EVENTSERIALNO ( 1U )
+
+/*Extern function*/
+extern void stm_hud_apps_event_call( void );
+extern void stm_hud_apps_initialize( void );
+extern void Zhud_apps_hud_appsTerminate( void );
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps_func.c b/policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps_func.c
new file mode 100755 (executable)
index 0000000..b11ef61
--- /dev/null
@@ -0,0 +1,50 @@
+/************************************************************/
+/*     Zhud_apps_hud_apps_func.c                            */
+/*     Function and variable source file                    */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#include "../../../ZST_include.h"
+
+/*************************************************************
+    Function definition
+*************************************************************/
+
+/**
+ *  stm_hud_apps_initialize_variable
+ */
+void stm_hud_apps_initialize_variable() {
+    g_stm_prv_state.layer[StmLayerNoApps].state = StmLayoutNoGenNml;
+    g_stm_prv_state.layer[StmLayerNoApps].changed = STM_FALSE;
+
+    g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoGenNml;
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_FALSE;
+}
+
+/**
+ *  stm_hud_apps_start_stm
+ */
+void stm_hud_apps_start_stm() {
+    if (g_stm_event == StmEvtNoUndo) {
+        // nop
+    }
+    else {
+        g_stm_prv_state.layer[StmLayerNoApps].state = g_stm_crr_state.layer[StmLayerNoApps].state;
+    }
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_FALSE;
+}
+
+/*
+ * @name stm_hud_apps_start_activity_none
+ */
+void stm_hud_apps_start_activity_none() {
+    g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoNone;
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+/**
+ *  stm_hud_apps_start_activity_general
+ */
+void stm_hud_apps_start_activity_general(){
+    g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoGenNml;
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
diff --git a/policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps_func.h b/policy_manager/stm/zipc/StateTransitionor/hud/layer/apps/Zhud_apps_hud_apps_func.h
new file mode 100755 (executable)
index 0000000..161107f
--- /dev/null
@@ -0,0 +1,14 @@
+/************************************************************/
+/*     Zhud_apps_hud_apps_func.h                            */
+/*     Function and variable header file                    */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#ifndef ZHEADER_ZHUD_APPS_HUD_APPS_FUNC_H
+#define ZHEADER_ZHUD_APPS_HUD_APPS_FUNC_H
+
+extern void stm_hud_apps_initialize_variable();
+extern void stm_hud_apps_start_stm();
+extern void stm_hud_apps_start_activity_none();
+extern void stm_hud_apps_start_activity_general();
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps.c b/policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps.c
new file mode 100755 (executable)
index 0000000..73d7784
--- /dev/null
@@ -0,0 +1,179 @@
+/************************************************************/
+/*     Zhud_near_apps_hud_near_apps.c                       */
+/*     hud_near_apps State transition model source file     */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#include "../../../ZST_include.h"
+
+/* State management variable */
+static uint8_t Zhud_near_apps_hud_near_appsState[ZHUD_NEAR_APPS_HUD_NEAR_APPSSTATENOMAX];
+
+static void Zhud_near_apps_hud_near_appss0e0( void );
+static void Zhud_near_apps_hud_near_appss1e0( void );
+static void Zhud_near_apps_hud_near_appss1e1( void );
+static void Zhud_near_apps_hud_near_appss0Event( void );
+static void Zhud_near_apps_hud_near_appss1Event( void );
+
+/****************************************/
+/* Action function                      */
+/*   STM : hud_near_apps                */
+/*   State : none( No 0 )               */
+/*   Event : ara_upper_left( No 0 )     */
+/****************************************/
+static void Zhud_near_apps_hud_near_appss0e0( void )
+{
+    Zhud_near_apps_hud_near_appsState[ZHUD_NEAR_APPS_HUD_NEAR_APPS] = ( uint8_t )ZHUD_NEAR_APPS_HUD_NEAR_APPSS1;
+    stm_hud_near_apps_start_activity_upper_left();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : hud_near_apps                */
+/*   State : upper_left( No 1 )         */
+/*   Event : ara_upper_left( No 0 )     */
+/****************************************/
+static void Zhud_near_apps_hud_near_appss1e0( void )
+{
+    stm_hud_near_apps_start_activity_upper_left();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : hud_near_apps                */
+/*   State : upper_left( No 1 )         */
+/*   Event : ctg_receiver2( No 1 )      */
+/****************************************/
+static void Zhud_near_apps_hud_near_appss1e1( void )
+{
+    Zhud_near_apps_hud_near_appsState[ZHUD_NEAR_APPS_HUD_NEAR_APPS] = ( uint8_t )ZHUD_NEAR_APPS_HUD_NEAR_APPSS0;
+    stm_hud_near_apps_start_activity_none();
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : hud_near_apps                */
+/*   State : none( No 0 )               */
+/****************************************/
+static void Zhud_near_apps_hud_near_appss0Event( void )
+{
+    /*evt_activate*/
+    if( g_stm_event == StmEvtNoActivate )
+    {
+        /*ctg_receiver2*/
+        if( g_stm_category == StmCtgNoReceiver2 )
+        {
+            /*ara_upper_left*/
+            if( g_stm_area == StmAreaNoUpperLeft )
+            {
+                Zhud_near_apps_hud_near_appss0e0();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : hud_near_apps                */
+/*   State : upper_left( No 1 )         */
+/****************************************/
+static void Zhud_near_apps_hud_near_appss1Event( void )
+{
+    /*evt_activate*/
+    if( g_stm_event == StmEvtNoActivate )
+    {
+        /*ctg_receiver2*/
+        if( g_stm_category == StmCtgNoReceiver2 )
+        {
+            /*ara_upper_left*/
+            if( g_stm_area == StmAreaNoUpperLeft )
+            {
+                Zhud_near_apps_hud_near_appss1e0();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    /*evt_deactivate*/
+    else if( g_stm_event == StmEvtNoDeactivate )
+    {
+        /*ctg_receiver2*/
+        if( g_stm_category == StmCtgNoReceiver2 )
+        {
+            Zhud_near_apps_hud_near_appss1e1();
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event call function                  */
+/*   STM : hud_near_apps                */
+/****************************************/
+void stm_hud_near_apps_event_call( void )
+{
+    stm_hud_near_apps_start_stm();
+    switch( Zhud_near_apps_hud_near_appsState[ZHUD_NEAR_APPS_HUD_NEAR_APPS] )
+    {
+    case ZHUD_NEAR_APPS_HUD_NEAR_APPSS0:
+        Zhud_near_apps_hud_near_appss0Event();
+        break;
+    case ZHUD_NEAR_APPS_HUD_NEAR_APPSS1:
+        Zhud_near_apps_hud_near_appss1Event();
+        break;
+    default:
+        /*Not accessible to this else (default).*/
+        break;
+    }
+}
+
+/****************************************/
+/* Initial function                     */
+/*   STM : hud_near_apps                */
+/****************************************/
+void stm_hud_near_apps_initialize( void )
+{
+    Zhud_near_apps_hud_near_appsState[ZHUD_NEAR_APPS_HUD_NEAR_APPS] = ( uint8_t )ZHUD_NEAR_APPS_HUD_NEAR_APPSS0;
+    stm_hud_near_apps_start_activity_none();
+}
+
+/****************************************/
+/* Terminate function                   */
+/*   STM : hud_near_apps                */
+/****************************************/
+void Zhud_near_apps_hud_near_appsTerminate( void )
+{
+    Zhud_near_apps_hud_near_appsState[ZHUD_NEAR_APPS_HUD_NEAR_APPS] = ( uint8_t )ZHUD_NEAR_APPS_HUD_NEAR_APPSTERMINATE;
+}
+
diff --git a/policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps.h b/policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps.h
new file mode 100755 (executable)
index 0000000..081e2bc
--- /dev/null
@@ -0,0 +1,41 @@
+/************************************************************/
+/*     Zhud_near_apps_hud_near_apps.h                       */
+/*     hud_near_apps State transition model header file     */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#ifndef ZHEADER_ZHUD_NEAR_APPS_HUD_NEAR_APPS_H
+#define ZHEADER_ZHUD_NEAR_APPS_HUD_NEAR_APPS_H
+
+/*State management variable access define*/
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPS ( 0U )
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSS0 ( 0U )
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSS1 ( 1U )
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSSTATENOMAX ( 1U )
+
+/*End state define*/
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSEND ( 2U )
+/*Terminate state define*/
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSTERMINATE ( ZHUD_NEAR_APPS_HUD_NEAR_APPSEND + 1U )
+
+/*State no define*/
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSS0STATENO ( 0U )
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSS1STATENO ( 1U )
+
+/*State serial no define*/
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSS0STATESERIALNO ( 0U )
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSS1STATESERIALNO ( 1U )
+
+/*Event no define*/
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSE0EVENTNO ( 0U )
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSE1EVENTNO ( 1U )
+
+/*Event serial no define*/
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSE0EVENTSERIALNO ( 0U )
+#define ZHUD_NEAR_APPS_HUD_NEAR_APPSE1EVENTSERIALNO ( 1U )
+
+/*Extern function*/
+extern void stm_hud_near_apps_event_call( void );
+extern void stm_hud_near_apps_initialize( void );
+extern void Zhud_near_apps_hud_near_appsTerminate( void );
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps_func.c b/policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps_func.c
new file mode 100755 (executable)
index 0000000..7c8fb61
--- /dev/null
@@ -0,0 +1,49 @@
+/************************************************************/
+/*     Zhud_near_apps_hud_near_apps_func.c                  */
+/*     Function and variable source file                    */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#include "../../../ZST_include.h"
+
+/*************************************************************
+ Function definition
+ *************************************************************/
+
+/**
+ *  stm_hud_near_apps_initialize_variable
+ */
+void stm_hud_near_apps_initialize_variable() {
+       g_stm_prv_state.layer[StmLayerNoNearApps].state = StmLayoutNoUpperLeft;
+       g_stm_prv_state.layer[StmLayerNoNearApps].changed = STM_FALSE;
+
+       g_stm_crr_state.layer[StmLayerNoNearApps].state = StmLayoutNoUpperLeft;
+       g_stm_crr_state.layer[StmLayerNoNearApps].changed = STM_FALSE;
+}
+
+/**
+ *  stm_hud_near_apps_start_stm
+ */
+void stm_hud_near_apps_start_stm() {
+       if (g_stm_event == StmEvtNoUndo) {
+               // nop
+       } else {
+               g_stm_prv_state.layer[StmLayerNoNearApps].state =
+                               g_stm_crr_state.layer[StmLayerNoNearApps].state;
+       }
+       g_stm_crr_state.layer[StmLayerNoNearApps].changed = STM_FALSE;
+}
+/*
+ * @name stm_hud_near_apps_start_activity_none
+ */
+void stm_hud_near_apps_start_activity_none() {
+       g_stm_crr_state.layer[StmLayerNoNearApps].state = StmLayoutNoNone;
+       g_stm_crr_state.layer[StmLayerNoNearApps].changed = STM_TRUE;
+}
+
+/**
+ *  stm_hud_near_apps_start_activity_upper_left
+ */
+void stm_hud_near_apps_start_activity_upper_left() {
+       g_stm_crr_state.layer[StmLayerNoNearApps].state = StmLayoutNoUpperLeft;
+       g_stm_crr_state.layer[StmLayerNoNearApps].changed = STM_TRUE;
+}
diff --git a/policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps_func.h b/policy_manager/stm/zipc/StateTransitionor/hud/layer/near_apps/Zhud_near_apps_hud_near_apps_func.h
new file mode 100755 (executable)
index 0000000..3c0bdff
--- /dev/null
@@ -0,0 +1,14 @@
+/************************************************************/
+/*     Zhud_near_apps_hud_near_apps_func.h                  */
+/*     Function and variable header file                    */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#ifndef ZHEADER_ZHUD_NEAR_APPS_HUD_NEAR_APPS_FUNC_H
+#define ZHEADER_ZHUD_NEAR_APPS_HUD_NEAR_APPS_FUNC_H
+
+extern void stm_hud_near_apps_initialize_variable();
+extern void stm_hud_near_apps_start_stm();
+extern void stm_hud_near_apps_start_activity_none();
+extern void stm_hud_near_apps_start_activity_upper_left();
+
+#endif
index 26569e3..b2dbcfc 100755 (executable)
@@ -18,7 +18,7 @@ static void Zremote_hud_remote_huds1Event( void );
 /* Action function                      */
 /*   STM : remote_hud                   */
 /*   State : none( No 0 )               */
-/*   Event : ara_normal( No 0 )         */
+/*   Event : ara_hud_normal( No 0 )     */
 /****************************************/
 static void Zremote_hud_remote_huds0e0( void )
 {
@@ -29,8 +29,8 @@ static void Zremote_hud_remote_huds0e0( void )
 /****************************************/
 /* Action function                      */
 /*   STM : remote_hud                   */
-/*   State : general( No 1 )            */
-/*   Event : ara_normal( No 0 )         */
+/*   State : remote_hud( No 1 )         */
+/*   Event : ara_hud_normal( No 0 )     */
 /****************************************/
 static void Zremote_hud_remote_huds1e0( void )
 {
@@ -40,7 +40,7 @@ static void Zremote_hud_remote_huds1e0( void )
 /****************************************/
 /* Action function                      */
 /*   STM : remote_hud                   */
-/*   State : general( No 1 )            */
+/*   State : remote_hud( No 1 )         */
 /*   Event : ctg_general( No 1 )        */
 /****************************************/
 static void Zremote_hud_remote_huds1e1( void )
@@ -62,8 +62,8 @@ static void Zremote_hud_remote_huds0Event( void )
         /*ctg_general*/
         if( g_stm_category == StmCtgNoGeneral )
         {
-            /*ara_normal*/
-            if( g_stm_area == StmAreaNoNormal )
+            /*ara_hud_normal*/
+            if( g_stm_area == StmAreaNoHUDNormal )
             {
                 Zremote_hud_remote_huds0e0();
             }
@@ -89,7 +89,7 @@ static void Zremote_hud_remote_huds0Event( void )
 /****************************************/
 /* Event appraisal function             */
 /*   STM : remote_hud                   */
-/*   State : general( No 1 )            */
+/*   State : remote_hud( No 1 )         */
 /****************************************/
 static void Zremote_hud_remote_huds1Event( void )
 {
@@ -99,8 +99,8 @@ static void Zremote_hud_remote_huds1Event( void )
         /*ctg_general*/
         if( g_stm_category == StmCtgNoGeneral )
         {
-            /*ara_normal*/
-            if( g_stm_area == StmAreaNoNormal )
+            /*ara_hud_normal*/
+            if( g_stm_area == StmAreaNoHUDNormal )
             {
                 Zremote_hud_remote_huds1e0();
             }
index 9a1c17f..2134467 100755 (executable)
@@ -45,6 +45,6 @@ void stm_remote_hud_start_activity_none() {
  *  stm_remote_hud_start_activity_general
  */
 void stm_remote_hud_start_activity_general(){
-    g_stm_crr_state.layer[StmLayerNoRemoteHUD].state = StmLayoutNoGenNml;
+    g_stm_crr_state.layer[StmLayerNoRemoteHUD].state = StmLayoutNoRmtHud;
     g_stm_crr_state.layer[StmLayerNoRemoteHUD].changed = STM_TRUE;
 }
index 32c5041..40cf614 100755 (executable)
@@ -18,7 +18,7 @@ static void Zremote_hud_upper_left_remote_hud_up_lefts1Event( void );
 /* Action function                      */
 /*   STM : remote_hud_up_left           */
 /*   State : none( No 0 )               */
-/*   Event : ara_upper_left( No 0 )     */
+/*   Event : ara_hud_upper_left( No 0 ) */
 /****************************************/
 static void Zremote_hud_upper_left_remote_hud_up_lefts0e0( void )
 {
@@ -29,8 +29,8 @@ static void Zremote_hud_upper_left_remote_hud_up_lefts0e0( void )
 /****************************************/
 /* Action function                      */
 /*   STM : remote_hud_up_left           */
-/*   State : upper_left( No 1 )         */
-/*   Event : ara_upper_left( No 0 )     */
+/*   State : remote_hud_upper_left( No 1 ) */
+/*   Event : ara_hud_upper_left( No 0 ) */
 /****************************************/
 static void Zremote_hud_upper_left_remote_hud_up_lefts1e0( void )
 {
@@ -40,8 +40,8 @@ static void Zremote_hud_upper_left_remote_hud_up_lefts1e0( void )
 /****************************************/
 /* Action function                      */
 /*   STM : remote_hud_up_left           */
-/*   State : upper_left( No 1 )         */
-/*   Event : ctg_general( No 1 )        */
+/*   State : remote_hud_upper_left( No 1 ) */
+/*   Event : ctg_speed( No 1 )          */
 /****************************************/
 static void Zremote_hud_upper_left_remote_hud_up_lefts1e1( void )
 {
@@ -59,11 +59,11 @@ static void Zremote_hud_upper_left_remote_hud_up_lefts0Event( void )
     /*evt_activate*/
     if( g_stm_event == StmEvtNoActivate )
     {
-        /*ctg_general*/
-        if( g_stm_category == StmCtgNoGeneral )
+        /*ctg_speed*/
+        if( g_stm_category == StmCtgNoSpeed )
         {
-            /*ara_upper_left*/
-            if( g_stm_area == StmAreaNoUpperLeft )
+            /*ara_hud_upper_left*/
+            if( g_stm_area == StmAreaNoHUDUpperLeft )
             {
                 Zremote_hud_upper_left_remote_hud_up_lefts0e0();
             }
@@ -89,18 +89,18 @@ static void Zremote_hud_upper_left_remote_hud_up_lefts0Event( void )
 /****************************************/
 /* Event appraisal function             */
 /*   STM : remote_hud_up_left           */
-/*   State : upper_left( No 1 )         */
+/*   State : remote_hud_upper_left( No 1 ) */
 /****************************************/
 static void Zremote_hud_upper_left_remote_hud_up_lefts1Event( void )
 {
     /*evt_activate*/
     if( g_stm_event == StmEvtNoActivate )
     {
-        /*ctg_general*/
-        if( g_stm_category == StmCtgNoGeneral )
+        /*ctg_speed*/
+        if( g_stm_category == StmCtgNoSpeed )
         {
-            /*ara_upper_left*/
-            if( g_stm_area == StmAreaNoUpperLeft )
+            /*ara_hud_upper_left*/
+            if( g_stm_area == StmAreaNoHUDUpperLeft )
             {
                 Zremote_hud_upper_left_remote_hud_up_lefts1e0();
             }
@@ -119,8 +119,8 @@ static void Zremote_hud_upper_left_remote_hud_up_lefts1Event( void )
     /*evt_deactivate*/
     else if( g_stm_event == StmEvtNoDeactivate )
     {
-        /*ctg_general*/
-        if( g_stm_category == StmCtgNoGeneral )
+        /*ctg_speed*/
+        if( g_stm_category == StmCtgNoSpeed )
         {
             Zremote_hud_upper_left_remote_hud_up_lefts1e1();
         }
index 2ed9d3b..05ecf4f 100755 (executable)
@@ -44,6 +44,6 @@ void stm_remote_hud_up_left_start_activity_none() {
  *  stm_remote_hud_up_left_start_activity_upper_left
  */
 void stm_remote_hud_up_left_start_activity_upper_left(){
-    g_stm_crr_state.layer[StmLayerNoRemoteHUDUpperLeft].state = StmLayoutNoRmtUpLeft;
+    g_stm_crr_state.layer[StmLayerNoRemoteHUDUpperLeft].state = StmLayoutNoRmtHudUpLeft;
     g_stm_crr_state.layer[StmLayerNoRemoteHUDUpperLeft].changed = STM_TRUE;
 }
diff --git a/policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps.c b/policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps.c
new file mode 100755 (executable)
index 0000000..09851de
--- /dev/null
@@ -0,0 +1,179 @@
+/************************************************************/
+/*     Zrse1_apps_rse1_apps.c                               */
+/*     rse1_apps State transition model source file         */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#include "../../../ZST_include.h"
+
+/* State management variable */
+static uint8_t Zrse1_apps_rse1_appsState[ZRSE1_APPS_RSE1_APPSSTATENOMAX];
+
+static void Zrse1_apps_rse1_appss0e0( void );
+static void Zrse1_apps_rse1_appss1e0( void );
+static void Zrse1_apps_rse1_appss1e1( void );
+static void Zrse1_apps_rse1_appss0Event( void );
+static void Zrse1_apps_rse1_appss1Event( void );
+
+/****************************************/
+/* Action function                      */
+/*   STM : rse1_apps                    */
+/*   State : none( No 0 )               */
+/*   Event : ara_normal( No 0 )         */
+/****************************************/
+static void Zrse1_apps_rse1_appss0e0( void )
+{
+    Zrse1_apps_rse1_appsState[ZRSE1_APPS_RSE1_APPS] = ( uint8_t )ZRSE1_APPS_RSE1_APPSS1;
+    stm_rse1_apps_start_activity_general();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : rse1_apps                    */
+/*   State : general( No 1 )            */
+/*   Event : ara_normal( No 0 )         */
+/****************************************/
+static void Zrse1_apps_rse1_appss1e0( void )
+{
+    stm_rse1_apps_start_activity_general();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : rse1_apps                    */
+/*   State : general( No 1 )            */
+/*   Event : ctg_receiver( No 1 )       */
+/****************************************/
+static void Zrse1_apps_rse1_appss1e1( void )
+{
+    Zrse1_apps_rse1_appsState[ZRSE1_APPS_RSE1_APPS] = ( uint8_t )ZRSE1_APPS_RSE1_APPSS0;
+    stm_rse1_apps_start_activity_none();
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : rse1_apps                    */
+/*   State : none( No 0 )               */
+/****************************************/
+static void Zrse1_apps_rse1_appss0Event( void )
+{
+    /*evt_activate*/
+    if( g_stm_event == StmEvtNoActivate )
+    {
+        /*ctg_receiver*/
+        if( g_stm_category == StmCtgNoReceiver )
+        {
+            /*ara_normal*/
+            if( g_stm_area == StmAreaNoNormal )
+            {
+                Zrse1_apps_rse1_appss0e0();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : rse1_apps                    */
+/*   State : general( No 1 )            */
+/****************************************/
+static void Zrse1_apps_rse1_appss1Event( void )
+{
+    /*evt_activate*/
+    if( g_stm_event == StmEvtNoActivate )
+    {
+        /*ctg_receiver*/
+        if( g_stm_category == StmCtgNoReceiver )
+        {
+            /*ara_normal*/
+            if( g_stm_area == StmAreaNoNormal )
+            {
+                Zrse1_apps_rse1_appss1e0();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    /*evt_deactivate*/
+    else if( g_stm_event == StmEvtNoDeactivate )
+    {
+        /*ctg_receiver*/
+        if( g_stm_category == StmCtgNoReceiver )
+        {
+            Zrse1_apps_rse1_appss1e1();
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event call function                  */
+/*   STM : rse1_apps                    */
+/****************************************/
+void stm_rse1_apps_event_call( void )
+{
+    stm_rse1_apps_start_stm();
+    switch( Zrse1_apps_rse1_appsState[ZRSE1_APPS_RSE1_APPS] )
+    {
+    case ZRSE1_APPS_RSE1_APPSS0:
+        Zrse1_apps_rse1_appss0Event();
+        break;
+    case ZRSE1_APPS_RSE1_APPSS1:
+        Zrse1_apps_rse1_appss1Event();
+        break;
+    default:
+        /*Not accessible to this else (default).*/
+        break;
+    }
+}
+
+/****************************************/
+/* Initial function                     */
+/*   STM : rse1_apps                    */
+/****************************************/
+void stm_rse1_apps_initialize( void )
+{
+    Zrse1_apps_rse1_appsState[ZRSE1_APPS_RSE1_APPS] = ( uint8_t )ZRSE1_APPS_RSE1_APPSS0;
+    stm_rse1_apps_start_activity_none();
+}
+
+/****************************************/
+/* Terminate function                   */
+/*   STM : rse1_apps                    */
+/****************************************/
+void Zrse1_apps_rse1_appsTerminate( void )
+{
+    Zrse1_apps_rse1_appsState[ZRSE1_APPS_RSE1_APPS] = ( uint8_t )ZRSE1_APPS_RSE1_APPSTERMINATE;
+}
+
diff --git a/policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps.h b/policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps.h
new file mode 100755 (executable)
index 0000000..da7becb
--- /dev/null
@@ -0,0 +1,41 @@
+/************************************************************/
+/*     Zrse1_apps_rse1_apps.h                               */
+/*     rse1_apps State transition model header file         */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#ifndef ZHEADER_ZRSE1_APPS_RSE1_APPS_H
+#define ZHEADER_ZRSE1_APPS_RSE1_APPS_H
+
+/*State management variable access define*/
+#define ZRSE1_APPS_RSE1_APPS ( 0U )
+#define ZRSE1_APPS_RSE1_APPSS0 ( 0U )
+#define ZRSE1_APPS_RSE1_APPSS1 ( 1U )
+#define ZRSE1_APPS_RSE1_APPSSTATENOMAX ( 1U )
+
+/*End state define*/
+#define ZRSE1_APPS_RSE1_APPSEND ( 2U )
+/*Terminate state define*/
+#define ZRSE1_APPS_RSE1_APPSTERMINATE ( ZRSE1_APPS_RSE1_APPSEND + 1U )
+
+/*State no define*/
+#define ZRSE1_APPS_RSE1_APPSS0STATENO ( 0U )
+#define ZRSE1_APPS_RSE1_APPSS1STATENO ( 1U )
+
+/*State serial no define*/
+#define ZRSE1_APPS_RSE1_APPSS0STATESERIALNO ( 0U )
+#define ZRSE1_APPS_RSE1_APPSS1STATESERIALNO ( 1U )
+
+/*Event no define*/
+#define ZRSE1_APPS_RSE1_APPSE0EVENTNO ( 0U )
+#define ZRSE1_APPS_RSE1_APPSE1EVENTNO ( 1U )
+
+/*Event serial no define*/
+#define ZRSE1_APPS_RSE1_APPSE0EVENTSERIALNO ( 0U )
+#define ZRSE1_APPS_RSE1_APPSE1EVENTSERIALNO ( 1U )
+
+/*Extern function*/
+extern void stm_rse1_apps_event_call( void );
+extern void stm_rse1_apps_initialize( void );
+extern void Zrse1_apps_rse1_appsTerminate( void );
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps_func.c b/policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps_func.c
new file mode 100755 (executable)
index 0000000..23f44ed
--- /dev/null
@@ -0,0 +1,50 @@
+/************************************************************/
+/*     Zrse1_apps_rse1_apps_func.c                          */
+/*     Function and variable source file                    */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#include "../../../ZST_include.h"
+
+/*************************************************************
+    Function definition
+*************************************************************/
+
+/**
+ *  stm_rse1_apps_initialize_variable
+ */
+void stm_rse1_apps_initialize_variable() {
+    g_stm_prv_state.layer[StmLayerNoApps].state = StmLayoutNoGenNml;
+    g_stm_prv_state.layer[StmLayerNoApps].changed = STM_FALSE;
+
+    g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoGenNml;
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_FALSE;
+}
+
+/**
+ *  stm_rse1_apps_start_stm
+ */
+void stm_rse1_apps_start_stm() {
+    if (g_stm_event == StmEvtNoUndo) {
+        // nop
+    }
+    else {
+        g_stm_prv_state.layer[StmLayerNoApps].state = g_stm_crr_state.layer[StmLayerNoApps].state;
+    }
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_FALSE;
+}
+
+/*
+ * @name stm_rse1_apps_start_activity_none
+ */
+void stm_rse1_apps_start_activity_none() {
+    g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoNone;
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+/**
+ *  stm_rse1_apps_start_activity_general
+ */
+void stm_rse1_apps_start_activity_general(){
+    g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoGenNml;
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
diff --git a/policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps_func.h b/policy_manager/stm/zipc/StateTransitionor/rse1/layer/apps/Zrse1_apps_rse1_apps_func.h
new file mode 100755 (executable)
index 0000000..7ef6feb
--- /dev/null
@@ -0,0 +1,14 @@
+/************************************************************/
+/*     Zrse1_apps_rse1_apps_func.h                          */
+/*     Function and variable header file                    */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#ifndef ZHEADER_ZRSE1_APPS_RSE1_APPS_FUNC_H
+#define ZHEADER_ZRSE1_APPS_RSE1_APPS_FUNC_H
+
+extern void stm_rse1_apps_initialize_variable();
+extern void stm_rse1_apps_start_stm();
+extern void stm_rse1_apps_start_activity_none();
+extern void stm_rse1_apps_start_activity_general();
+
+#endif
index 7a39d96..b3116dd 100755 (executable)
@@ -18,7 +18,7 @@ static void Zremote_rse1_remote_rse1s1Event( void );
 /* Action function                      */
 /*   STM : remote_rse1                  */
 /*   State : none( No 0 )               */
-/*   Event : ara_normal( No 0 )         */
+/*   Event : ara_rse1_normal( No 0 )    */
 /****************************************/
 static void Zremote_rse1_remote_rse1s0e0( void )
 {
@@ -29,8 +29,8 @@ static void Zremote_rse1_remote_rse1s0e0( void )
 /****************************************/
 /* Action function                      */
 /*   STM : remote_rse1                  */
-/*   State : general( No 1 )            */
-/*   Event : ara_normal( No 0 )         */
+/*   State : remote_rse1( No 1 )        */
+/*   Event : ara_rse1_normal( No 0 )    */
 /****************************************/
 static void Zremote_rse1_remote_rse1s1e0( void )
 {
@@ -40,8 +40,8 @@ static void Zremote_rse1_remote_rse1s1e0( void )
 /****************************************/
 /* Action function                      */
 /*   STM : remote_rse1                  */
-/*   State : general( No 1 )            */
-/*   Event : ctg_receiver( No 1 )       */
+/*   State : remote_rse1( No 1 )        */
+/*   Event : ctg_general( No 1 )        */
 /****************************************/
 static void Zremote_rse1_remote_rse1s1e1( void )
 {
@@ -59,11 +59,11 @@ static void Zremote_rse1_remote_rse1s0Event( void )
     /*evt_activate*/
     if( g_stm_event == StmEvtNoActivate )
     {
-        /*ctg_receiver*/
-        if( g_stm_category == StmCtgNoReceiver )
+        /*ctg_general*/
+        if( g_stm_category == StmCtgNoGeneral )
         {
-            /*ara_normal*/
-            if( g_stm_area == StmAreaNoNormal )
+            /*ara_rse1_normal*/
+            if( g_stm_area == StmAreaNoRse1Normal )
             {
                 Zremote_rse1_remote_rse1s0e0();
             }
@@ -89,18 +89,18 @@ static void Zremote_rse1_remote_rse1s0Event( void )
 /****************************************/
 /* Event appraisal function             */
 /*   STM : remote_rse1                  */
-/*   State : general( No 1 )            */
+/*   State : remote_rse1( No 1 )        */
 /****************************************/
 static void Zremote_rse1_remote_rse1s1Event( void )
 {
     /*evt_activate*/
     if( g_stm_event == StmEvtNoActivate )
     {
-        /*ctg_receiver*/
-        if( g_stm_category == StmCtgNoReceiver )
+        /*ctg_general*/
+        if( g_stm_category == StmCtgNoGeneral )
         {
-            /*ara_normal*/
-            if( g_stm_area == StmAreaNoNormal )
+            /*ara_rse1_normal*/
+            if( g_stm_area == StmAreaNoRse1Normal )
             {
                 Zremote_rse1_remote_rse1s1e0();
             }
@@ -119,8 +119,8 @@ static void Zremote_rse1_remote_rse1s1Event( void )
     /*evt_deactivate*/
     else if( g_stm_event == StmEvtNoDeactivate )
     {
-        /*ctg_receiver*/
-        if( g_stm_category == StmCtgNoReceiver )
+        /*ctg_general*/
+        if( g_stm_category == StmCtgNoGeneral )
         {
             Zremote_rse1_remote_rse1s1e1();
         }
index cfeb4a1..1b05d89 100755 (executable)
@@ -44,6 +44,6 @@ void stm_remote_rse1_start_activity_none() {
  *  stm_remote_rse1_start_activity_general
  */
 void stm_remote_rse1_start_activity_general(){
-    g_stm_crr_state.layer[StmLayerNoRemoteRSE1].state = StmLayoutNoGenNml;
+    g_stm_crr_state.layer[StmLayerNoRemoteRSE1].state = StmLayoutNoRmtRse1;
     g_stm_crr_state.layer[StmLayerNoRemoteRSE1].changed = STM_TRUE;
 }
diff --git a/policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps.c b/policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps.c
new file mode 100755 (executable)
index 0000000..5d0e84c
--- /dev/null
@@ -0,0 +1,179 @@
+/************************************************************/
+/*     Zrse2_apps_rse2_apps.c                               */
+/*     rse2_apps State transition model source file         */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#include "../../../ZST_include.h"
+
+/* State management variable */
+static uint8_t Zrse2_apps_rse2_appsState[ZRSE2_APPS_RSE2_APPSSTATENOMAX];
+
+static void Zrse2_apps_rse2_appss0e0( void );
+static void Zrse2_apps_rse2_appss1e0( void );
+static void Zrse2_apps_rse2_appss1e1( void );
+static void Zrse2_apps_rse2_appss0Event( void );
+static void Zrse2_apps_rse2_appss1Event( void );
+
+/****************************************/
+/* Action function                      */
+/*   STM : rse2_apps                    */
+/*   State : none( No 0 )               */
+/*   Event : ara_normal( No 0 )         */
+/****************************************/
+static void Zrse2_apps_rse2_appss0e0( void )
+{
+    Zrse2_apps_rse2_appsState[ZRSE2_APPS_RSE2_APPS] = ( uint8_t )ZRSE2_APPS_RSE2_APPSS1;
+    stm_rse2_apps_start_activity_general();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : rse2_apps                    */
+/*   State : general( No 1 )            */
+/*   Event : ara_normal( No 0 )         */
+/****************************************/
+static void Zrse2_apps_rse2_appss1e0( void )
+{
+    stm_rse2_apps_start_activity_general();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : rse2_apps                    */
+/*   State : general( No 1 )            */
+/*   Event : ctg_receiver( No 1 )       */
+/****************************************/
+static void Zrse2_apps_rse2_appss1e1( void )
+{
+    Zrse2_apps_rse2_appsState[ZRSE2_APPS_RSE2_APPS] = ( uint8_t )ZRSE2_APPS_RSE2_APPSS0;
+    stm_rse2_apps_start_activity_none();
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : rse2_apps                    */
+/*   State : none( No 0 )               */
+/****************************************/
+static void Zrse2_apps_rse2_appss0Event( void )
+{
+    /*evt_activate*/
+    if( g_stm_event == StmEvtNoActivate )
+    {
+        /*ctg_receiver*/
+        if( g_stm_category == StmCtgNoReceiver )
+        {
+            /*ara_normal*/
+            if( g_stm_area == StmAreaNoNormal )
+            {
+                Zrse2_apps_rse2_appss0e0();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : rse2_apps                    */
+/*   State : general( No 1 )            */
+/****************************************/
+static void Zrse2_apps_rse2_appss1Event( void )
+{
+    /*evt_activate*/
+    if( g_stm_event == StmEvtNoActivate )
+    {
+        /*ctg_receiver*/
+        if( g_stm_category == StmCtgNoReceiver )
+        {
+            /*ara_normal*/
+            if( g_stm_area == StmAreaNoNormal )
+            {
+                Zrse2_apps_rse2_appss1e0();
+            }
+            else
+            {
+                /*Else and default design have not done.*/
+                /*Please confirm the STM and design else and default.*/
+            }
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    /*evt_deactivate*/
+    else if( g_stm_event == StmEvtNoDeactivate )
+    {
+        /*ctg_receiver*/
+        if( g_stm_category == StmCtgNoReceiver )
+        {
+            Zrse2_apps_rse2_appss1e1();
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event call function                  */
+/*   STM : rse2_apps                    */
+/****************************************/
+void stm_rse2_apps_event_call( void )
+{
+    stm_rse2_apps_start_stm();
+    switch( Zrse2_apps_rse2_appsState[ZRSE2_APPS_RSE2_APPS] )
+    {
+    case ZRSE2_APPS_RSE2_APPSS0:
+        Zrse2_apps_rse2_appss0Event();
+        break;
+    case ZRSE2_APPS_RSE2_APPSS1:
+        Zrse2_apps_rse2_appss1Event();
+        break;
+    default:
+        /*Not accessible to this else (default).*/
+        break;
+    }
+}
+
+/****************************************/
+/* Initial function                     */
+/*   STM : rse2_apps                    */
+/****************************************/
+void stm_rse2_apps_initialize( void )
+{
+    Zrse2_apps_rse2_appsState[ZRSE2_APPS_RSE2_APPS] = ( uint8_t )ZRSE2_APPS_RSE2_APPSS0;
+    stm_rse2_apps_start_activity_none();
+}
+
+/****************************************/
+/* Terminate function                   */
+/*   STM : rse2_apps                    */
+/****************************************/
+void Zrse2_apps_rse2_appsTerminate( void )
+{
+    Zrse2_apps_rse2_appsState[ZRSE2_APPS_RSE2_APPS] = ( uint8_t )ZRSE2_APPS_RSE2_APPSTERMINATE;
+}
+
diff --git a/policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps.h b/policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps.h
new file mode 100755 (executable)
index 0000000..371f4a5
--- /dev/null
@@ -0,0 +1,41 @@
+/************************************************************/
+/*     Zrse2_apps_rse2_apps.h                               */
+/*     rse2_apps State transition model header file         */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#ifndef ZHEADER_ZRSE2_APPS_RSE2_APPS_H
+#define ZHEADER_ZRSE2_APPS_RSE2_APPS_H
+
+/*State management variable access define*/
+#define ZRSE2_APPS_RSE2_APPS ( 0U )
+#define ZRSE2_APPS_RSE2_APPSS0 ( 0U )
+#define ZRSE2_APPS_RSE2_APPSS1 ( 1U )
+#define ZRSE2_APPS_RSE2_APPSSTATENOMAX ( 1U )
+
+/*End state define*/
+#define ZRSE2_APPS_RSE2_APPSEND ( 2U )
+/*Terminate state define*/
+#define ZRSE2_APPS_RSE2_APPSTERMINATE ( ZRSE2_APPS_RSE2_APPSEND + 1U )
+
+/*State no define*/
+#define ZRSE2_APPS_RSE2_APPSS0STATENO ( 0U )
+#define ZRSE2_APPS_RSE2_APPSS1STATENO ( 1U )
+
+/*State serial no define*/
+#define ZRSE2_APPS_RSE2_APPSS0STATESERIALNO ( 0U )
+#define ZRSE2_APPS_RSE2_APPSS1STATESERIALNO ( 1U )
+
+/*Event no define*/
+#define ZRSE2_APPS_RSE2_APPSE0EVENTNO ( 0U )
+#define ZRSE2_APPS_RSE2_APPSE1EVENTNO ( 1U )
+
+/*Event serial no define*/
+#define ZRSE2_APPS_RSE2_APPSE0EVENTSERIALNO ( 0U )
+#define ZRSE2_APPS_RSE2_APPSE1EVENTSERIALNO ( 1U )
+
+/*Extern function*/
+extern void stm_rse2_apps_event_call( void );
+extern void stm_rse2_apps_initialize( void );
+extern void Zrse2_apps_rse2_appsTerminate( void );
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps_func.c b/policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps_func.c
new file mode 100755 (executable)
index 0000000..7ae2775
--- /dev/null
@@ -0,0 +1,50 @@
+/************************************************************/
+/*     Zrse2_apps_rse2_apps_func.c                          */
+/*     Function and variable source file                    */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#include "../../../ZST_include.h"
+
+/*************************************************************
+    Function definition
+*************************************************************/
+
+/**
+ *  stm_rse2_apps_initialize_variable
+ */
+void stm_rse2_apps_initialize_variable() {
+    g_stm_prv_state.layer[StmLayerNoApps].state = StmLayoutNoGenNml;
+    g_stm_prv_state.layer[StmLayerNoApps].changed = STM_FALSE;
+
+    g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoGenNml;
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_FALSE;
+}
+
+/**
+ *  stm_rse2_apps_start_stm
+ */
+void stm_rse2_apps_start_stm() {
+    if (g_stm_event == StmEvtNoUndo) {
+        // nop
+    }
+    else {
+        g_stm_prv_state.layer[StmLayerNoApps].state = g_stm_crr_state.layer[StmLayerNoApps].state;
+    }
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_FALSE;
+}
+
+/*
+ * @name stm_rse2_apps_start_activity_none
+ */
+void stm_rse2_apps_start_activity_none() {
+    g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoNone;
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+/**
+ *  stm_rse2_apps_start_activity_general
+ */
+void stm_rse2_apps_start_activity_general(){
+    g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoGenNml;
+    g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
diff --git a/policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps_func.h b/policy_manager/stm/zipc/StateTransitionor/rse2/layer/apps/Zrse2_apps_rse2_apps_func.h
new file mode 100755 (executable)
index 0000000..91467ef
--- /dev/null
@@ -0,0 +1,14 @@
+/************************************************************/
+/*     Zrse2_apps_rse2_apps_func.h                          */
+/*     Function and variable header file                    */
+/*     ZIPC Designer Version 1.2.1                          */
+/************************************************************/
+#ifndef ZHEADER_ZRSE2_APPS_RSE2_APPS_FUNC_H
+#define ZHEADER_ZRSE2_APPS_RSE2_APPS_FUNC_H
+
+extern void stm_rse2_apps_initialize_variable();
+extern void stm_rse2_apps_start_stm();
+extern void stm_rse2_apps_start_activity_none();
+extern void stm_rse2_apps_start_activity_general();
+
+#endif
index 4f2cd6c..d3b3177 100755 (executable)
@@ -18,7 +18,7 @@ static void Zremote_rse2_remote_rse2s1Event( void );
 /* Action function                      */
 /*   STM : remote_rse2                  */
 /*   State : none( No 0 )               */
-/*   Event : ara_normal( No 0 )         */
+/*   Event : ara_rse2_normal( No 0 )    */
 /****************************************/
 static void Zremote_rse2_remote_rse2s0e0( void )
 {
@@ -29,8 +29,8 @@ static void Zremote_rse2_remote_rse2s0e0( void )
 /****************************************/
 /* Action function                      */
 /*   STM : remote_rse2                  */
-/*   State : general( No 1 )            */
-/*   Event : ara_normal( No 0 )         */
+/*   State : remote_rse2( No 1 )        */
+/*   Event : ara_rse2_normal( No 0 )    */
 /****************************************/
 static void Zremote_rse2_remote_rse2s1e0( void )
 {
@@ -40,8 +40,8 @@ static void Zremote_rse2_remote_rse2s1e0( void )
 /****************************************/
 /* Action function                      */
 /*   STM : remote_rse2                  */
-/*   State : general( No 1 )            */
-/*   Event : ctg_receiver( No 1 )       */
+/*   State : remote_rse2( No 1 )        */
+/*   Event : ctg_general( No 1 )        */
 /****************************************/
 static void Zremote_rse2_remote_rse2s1e1( void )
 {
@@ -59,11 +59,11 @@ static void Zremote_rse2_remote_rse2s0Event( void )
     /*evt_activate*/
     if( g_stm_event == StmEvtNoActivate )
     {
-        /*ctg_receiver*/
-        if( g_stm_category == StmCtgNoReceiver )
+        /*ctg_general*/
+        if( g_stm_category == StmCtgNoGeneral )
         {
-            /*ara_normal*/
-            if( g_stm_area == StmAreaNoNormal )
+            /*ara_rse2_normal*/
+            if( g_stm_area == StmAreaNoRse2Normal )
             {
                 Zremote_rse2_remote_rse2s0e0();
             }
@@ -89,18 +89,18 @@ static void Zremote_rse2_remote_rse2s0Event( void )
 /****************************************/
 /* Event appraisal function             */
 /*   STM : remote_rse2                  */
-/*   State : general( No 1 )            */
+/*   State : remote_rse2( No 1 )        */
 /****************************************/
 static void Zremote_rse2_remote_rse2s1Event( void )
 {
     /*evt_activate*/
     if( g_stm_event == StmEvtNoActivate )
     {
-        /*ctg_receiver*/
-        if( g_stm_category == StmCtgNoReceiver )
+        /*ctg_general*/
+        if( g_stm_category == StmCtgNoGeneral )
         {
-            /*ara_normal*/
-            if( g_stm_area == StmAreaNoNormal )
+            /*ara_rse2_normal*/
+            if( g_stm_area == StmAreaNoRse2Normal )
             {
                 Zremote_rse2_remote_rse2s1e0();
             }
@@ -119,8 +119,8 @@ static void Zremote_rse2_remote_rse2s1Event( void )
     /*evt_deactivate*/
     else if( g_stm_event == StmEvtNoDeactivate )
     {
-        /*ctg_receiver*/
-        if( g_stm_category == StmCtgNoReceiver )
+        /*ctg_general*/
+        if( g_stm_category == StmCtgNoGeneral )
         {
             Zremote_rse2_remote_rse2s1e1();
         }
index cae3382..12d9cc3 100755 (executable)
@@ -44,6 +44,6 @@ void stm_remote_rse2_start_activity_none() {
  * @name stm_remote_rse2_start_activity_general
  */
 void stm_remote_rse2_start_activity_general(){
-    g_stm_crr_state.layer[StmLayerNoRemoteRSE2].state = StmLayoutNoGenNml;
+    g_stm_crr_state.layer[StmLayerNoRemoteRSE2].state = StmLayoutNoRmtRse2;
     g_stm_crr_state.layer[StmLayerNoRemoteRSE2].changed = STM_TRUE;
 }
index cd54725..1fb85b7 100644 (file)
                             }
                         },
                         {
-                            "name": "rse1.normal.full",
+                            "name": "hud.normal.full",
                             "rect": {
                                 "x": 0,
                                 "y": 0,
                                 "w": 1920,
-                                "h": 720
+                                "h": 1080
                             }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "name": "rse1",
+            "screens": [
+                {
+                    "id": 0,
+                    "areas": [
+                        {
+                            "name": "fullscreen",
+                            "rect": {
+                                "x": 0,
+                                "y": 0,
+                                "w": 1920,
+                                "h": 1080
+                             }
                         },
                         {
-                            "name": "rse2.normal.full",
+                            "name": "normal.full",
                             "rect": {
                                 "x": 0,
                                 "y": 0,
                             }
                         },
                         {
-                            "name": "hud.normal.full",
+                            "name": "rse1.normal.full",
                             "rect": {
                                 "x": 0,
                                 "y": 0,
                                 "w": 1920,
-                                "h": 720
+                                "h": 1080
                             }
                         }
                     ]
             ]
         },
         {
-            "name": "rse1",
+            "name": "rse2",
             "screens": [
                 {
                     "id": 0,
                     "areas": [
                         {
-                            "name": "rse1.normal.full",
+                            "name": "fullscreen",
+                            "rect": {
+                                "x": 0,
+                                "y": 0,
+                                "w": 1920,
+                                "h": 1080
+                             }
+                        },
+                        {
+                            "name": "normal.full",
                             "rect": {
                                 "x": 0,
                                 "y": 0,
                                 "w": 1920,
                                 "h": 720
                             }
-                        }
-                    ]
-                }
-            ]
-        },
-        {
-            "name": "rse2",
-            "screens": [
-                {
-                    "id": 0,
-                    "areas": [
+                        },
                         {
                             "name": "rse2.normal.full",
                             "rect": {
                 {
                     "id": 0,
                     "areas": [
+                        {
+                            "name": "fullscreen",
+                            "rect": {
+                                "x": 0,
+                                "y": 0,
+                                "w": 1920,
+                                "h": 1080
+                             }
+                        },
+                        {
+                            "name": "normal.full",
+                            "rect": {
+                                "x": 0,
+                                "y": 0,
+                                "w": 1920,
+                                "h": 1080
+                            }
+                        },
+                        {
+                            "name": "upper.left",
+                            "rect": {
+                                "x": 0,
+                                "y": 0,
+                                "w": 480,
+                                "h": 180
+                            }
+                        },
                         {
                             "name": "hud.normal.full",
                             "rect": {
                                 "x": 0,
                                 "y": 0,
                                 "w": 1920,
-                                "h": 720
+                                "h": 1080
                             }
                         },
                         {
                     ]
                 }
             ]
-        },
+        }
     ]
 }
index 6fff161..022834b 100644 (file)
@@ -418,9 +418,10 @@ void windowmanager_enddraw(afb_req req) noexcept
         afb_req_success(req, NULL, "success");
 
         char* appid = afb_req_get_application_id(req);
+
         if(appid)
         {
-            if (g_afb_instance->wmgr.wmcon.getAppIdToEcuName(appid) == "" ||
+            if (!g_afb_instance->wmgr.wmcon.isRemoteEcu(appid) ||
                 !g_afb_instance->wmgr.wmcon.isSyncDrawingForRemote(appid))
             {
                 g_afb_instance->wmgr.api_enddraw(appid, a_drawing_name);
@@ -719,10 +720,7 @@ void windowmanager_wm_subscribe(afb_req req) noexcept
         }
         afb_req_success(req, NULL, "success");
 
-        if (event_id == g_afb_instance->wmgr.Event_Handshake)
-        {
-            g_afb_instance->wmgr.api_handshake();
-        }
+        g_afb_instance->wmgr.setSubscribed(true);
     }
     catch (std::exception &e)
     {
index 1432769..f121709 100644 (file)
@@ -16,6 +16,7 @@
 
 #include <fstream>
 #include <regex>
+#include <unistd.h>
 
 #include "window_manager.hpp"
 #include "json_helper.hpp"
@@ -80,6 +81,7 @@ static const vector<string> kListEventName{
 
 static const char kPathOldRolesConfigFile[] = "/etc/old_roles.json";
 static sd_event_source *g_timer_ev_src = nullptr;
+static sd_event_source *g_timer_endInit_src = nullptr;
 static AppList g_app_list;
 static WindowManager *g_context;
 static vector<string> white_list_area_size_change = {
@@ -106,6 +108,12 @@ static int processTimerHandler(sd_event_source *s, uint64_t usec, void *userdata
     return 0;
 }
 
+static int endInitTimerHandler(sd_event_source *s, uint64_t usec, void *userdata)
+{
+    reinterpret_cast<wm::WindowManager *>(userdata)->sendHandshake();
+    return 0;
+}
+
 static void onStateTransitioned(vector<WMAction> actions)
 {
     g_context->startTransitionWrapper(actions);
@@ -129,7 +137,7 @@ WindowManager::WindowManager()
     : wmcon{},
       id_alloc{}
 {
-    this->end_init = false;
+    this->subscribed = false;
 
     const char *path = getenv("AFM_APP_INSTALL_DIR");
     if (!path)
@@ -208,11 +216,59 @@ int WindowManager::init()
     double scale = static_cast<double>(dp_bg.height()) / css_bg.h;
     this->lc->setupArea(dp_bg, scale);
 
-    this->end_init = true;
+    sendHandshake();
 
     return 0; //init_layers();
 }
 
+void WindowManager::sendHandshake()
+{
+    struct timespec ts;
+
+    HMI_DEBUG("Check End Init");
+
+    if (this->subscribed && this->wmcon.getEndInit())
+    {
+        HMI_DEBUG("End Inited");
+        api_handshake();
+    }
+    else
+    {
+        HMI_DEBUG("Not End Init");
+        if (clock_gettime(CLOCK_BOOTTIME, &ts) != 0)
+        {
+            HMI_ERROR("Could't set time (clock_gettime() returns with error");
+            return;
+        }
+
+        uint64_t sleep = this->wmcon.getSleepTime();
+        uint64_t usec = (ts.tv_sec * 1000000000ULL) + ts.tv_nsec + (sleep * 1000000);
+
+        if (usec > 0)
+        {
+            usec /= 1000;
+        }
+
+        if (g_timer_endInit_src == nullptr)
+        {
+            int ret = sd_event_add_time(afb_daemon_get_event_loop(), &g_timer_endInit_src,
+                CLOCK_BOOTTIME, usec, 1, endInitTimerHandler, this);
+        }
+        else
+        {
+            sd_event_source_set_time(g_timer_endInit_src, usec);
+            sd_event_source_set_enabled(g_timer_endInit_src, SD_EVENT_ONESHOT);
+        }
+    }
+}
+
+void WindowManager::setSubscribed(bool flg)
+{
+    usleep(this->wmcon.getSleepTime() * 1000);
+
+    this->subscribed = flg;
+}
+
 result<int> WindowManager::api_request_surface(char const *appid, char const *drawing_name)
 {
     // TODO: application requests by old role,
@@ -473,7 +529,7 @@ void WindowManager::api_activate_window(char const *appid, char const *drawing_n
     unsigned layer = client->layerID();
 
     //TODO  Deactivate remote viewing app for remote view change to local view.
-    if(this->lc->hasRemoteLayer(layer) && this->wmcon.getAppIdToEcuName(appid) != "")
+    if(this->lc->hasRemoteLayer(layer) != "" && this->wmcon.getAppIdToEcuName(appid) != "")
     {
         HMI_DEBUG("Deactivate remote App %s", drawing_name);
         std::string tmp_area = this->wmcon.getAppIdToEcuName(appid) + ".split.sub";
@@ -517,7 +573,7 @@ void WindowManager::api_activate_window(char const *appid, char const *drawing_n
         return;
     }
 
-    this->wmcon.setAppIdToEcuName(id, "");
+    this->wmcon.setAppIdToEcuName(id, this->wmcon.getEcuName());
 
     reply(nullptr);
     if (req_num != g_app_list.currentRequestNumber())
@@ -634,6 +690,37 @@ void WindowManager::api_activate_surface_to_master(
     // g_app_list.removeFloatingSurface(client->surfaceID());
     // g_app_list.removeFloatingSurface(client);
 
+    unsigned layer = client->layerID();
+
+    //TODO  Deactivate remote viewing app for remote view change to local view.
+    if(this->lc->hasRemoteLayer(layer) != "" && this->wmcon.getAppIdToEcuName(appid) != "")
+    {
+        HMI_DEBUG("Deactivate remote App %s", drawing_name);
+        std::string tmp_area = this->wmcon.getAppIdToEcuName(appid) + ".split.sub";
+        HMI_DEBUG("Deactivate area name: %s", tmp_area.c_str());
+        this->wmcon.sendRequest("deactivateWindow", appid, drawing_name, tmp_area.c_str());
+
+        unsigned req_num = g_app_list.currentRequestNumber();
+        const char *c_role = this->convertRoleOldToNew(drawing_name);
+        bool end_draw_finished = true;
+        WMAction act
+        {
+            req_num,
+            client,
+            string(c_role),
+            "",
+            TaskVisible::REMOTE_INVISIBLE,
+            end_draw_finished,
+            TaskCarState::NO_TASK
+        };
+
+        this->lc->renderLayers();
+        this->lc->visibilityChange(act);
+
+        this->emit_invisible(role);
+        this->emit_deactivated(role);
+    }
+
     Task task = Task::TASK_ALLOCATE;
     unsigned req_num = 0;
     WMError ret = WMError::UNKNOWN;
@@ -880,10 +967,7 @@ int WindowManager::api_subscribe(afb_req req, int event_id)
 
 void WindowManager::api_handshake()
 {
-    if (this->end_init && this->wmcon.getEndInit())
-    {
-        this->send_event(kListEventName[Event_Handshake]);
-    }
+    this->send_event(kListEventName[Event_Handshake]);
 }
 
 void WindowManager::api_enddraw_for_remote(char const *appid, char const *drawing_name)
@@ -1425,9 +1509,11 @@ void WindowManager::startTransitionWrapper(vector<WMAction> &actions)
             act.req_num = req_num;
             act.client = client;
 
-            if (this->wmcon.getAppIdToEcuName(appid) != "")
+            std::string appToEcuName = this->wmcon.getAppIdToEcuName(appid);
+
+            if (this->wmcon.isRemoteEcu(appid))
             {
-                if (TaskVisible::VISIBLE == act.visible && this->wmcon.getAreaToEcuName(act.area.c_str()) == this->wmcon.getEcuName())
+                if (TaskVisible::VISIBLE == act.visible)
                 {
                     HMI_DEBUG("Set TaskVisible::REQ_REMOTE_VISIBLE");
                     act.visible = TaskVisible::REQ_REMOTE_VISIBLE;
@@ -1604,7 +1690,7 @@ void WindowManager::processForRemoteRequest(json_object *data)
             //       so convert role old to new
             const char *c_role = this->convertRoleOldToNew(drawing_name);
 
-            if(!this->lc->hasRemoteLayer(client->layerID()))
+            if(!this->wmcon.isRemoteEcu(appid))
             {
                 HMI_DEBUG("Deactivated");
                 return;
@@ -1628,6 +1714,8 @@ void WindowManager::processForRemoteRequest(json_object *data)
 
             this->emit_invisible(role);
             this->emit_deactivated(role);
+
+
         }
         else if ("flushDraw" == request)
         {
index da6a267..9e710ce 100644 (file)
@@ -220,6 +220,8 @@ class WindowManager
     WindowManager &operator=(WindowManager &&) = delete;
 
     int init();
+    void sendHandshake();
+    void setSubscribed(bool flg);
 
     result<int> api_request_surface(char const *appid, char const *role);
     char const *api_request_surface(char const *appid, char const *role, char const *ivi_id);
@@ -328,7 +330,7 @@ class WindowManager
     rect_map area_info;
     struct id_allocator id_alloc;
 
-    bool end_init;
+    bool subscribed;
 
     // ID allocation and proxy methods for lookup
     std::unordered_map<unsigned, struct TmpClient> tmp_surface2app;
index af970f5..16bb2d6 100644 (file)
@@ -290,6 +290,20 @@ bool WMConnection::isRemoteArea(const char* area)
     return false;
 }
 
+bool WMConnection::isRemoteEcu(std::string appid)
+{
+    std::string appToEcuName = this->getAppIdToEcuName(appid);
+
+    if (appToEcuName == this->getEcuName() || appToEcuName == "")
+    {
+        return false;
+    }
+    else
+    {
+        return true;
+    }
+}
+
 bool WMConnection::isConnecting(std::string ecu_name)
 {
     return (0 > this->wm_socket[ecu_name].connectedSocket()) ? false : true;
@@ -438,6 +452,11 @@ bool WMConnection::getEndInit()
     return this->end_init;
 }
 
+int WMConnection::getSleepTime()
+{
+    return this->sleep;
+}
+
 void WMConnection::callOnReceivedHandler(json_object *j_out)
 {
     this->onReceived(j_out);
index 91f870e..d7255f6 100644 (file)
@@ -56,6 +56,7 @@ class WMConnection
     int sendRequest(char const *req, char const *appid,
                     char const *drawing_name, char const *drawing_area);
     bool isRemoteArea(const char* area);
+    bool isRemoteEcu(std::string appid);
     bool isConnecting(std::string ecu_name);
     bool isConnectionMode();
     std::string parseMasterArea(const char* area);
@@ -72,6 +73,7 @@ class WMConnection
     std::string getIpToEcuName(std::string ip);
     std::string getEcuName();
     bool getEndInit();
+    int getSleepTime();
     void setAppIdToEcuName(std::string appid, std::string ecu_name);
     void setAppIdToReceivedEcuName(std::string appid);
     void callOnReceivedHandler(json_object *j_out);
index 8086fd3..887fc58 100644 (file)
 #define LC_WESTON_SETTING_PATH "/etc/weston.json"
 #define LC_DEFAULT_AREA "fullscreen"
 #define BACK_GROUND_LAYER "BackGroundLayer"
-#define REMOTE_LAYER "Remote"
-#define REMOTE_LAYER_RSE1 "RemoteRSE1"
-#define REMOTE_LAYER_RSE2 "RemoteRSE2"
-#define REMOTE_LAYER_HUD "RemoteHUD"
-#define REMOTE_LAYER_HUD_UL "RemoteHUDUpperLeft"
 #define AREA_NAME_RSE1 "rse1.normal.full"
 #define AREA_NAME_RSE2 "rse2.normal.full"
 #define AREA_NAME_HUD "hud.normal.full"
@@ -398,6 +393,16 @@ WMError LayerControl::loadLayerSetting(const string &path)
         HMI_DEBUG("> json_tmp dump:%s", json_object_get_string(json_tmp));
 
         this->wm_layers.emplace_back(std::make_shared<WMLayer>(json_tmp, i));
+
+        int screen = jh::getIntFromJson(json_tmp, "screen");
+        if (screen > 0)
+        {
+            std::string layerName = jh::getStringFromJson(json_tmp, "name");
+
+            HMI_DEBUG("Remote Layer Name:%s Screen: %d", layerName.c_str(), screen);
+            this->wm_remoteLayerName.push_back(layerName);
+        }
+
     }
     json_object_put(json_obj);
 
@@ -602,13 +607,13 @@ WMError LayerControl::visibilityChange(const WMAction& action)
     }
     else if (action.visible == TaskVisible::REMOTE_VISIBLE)
     {
-        this->moveRemote(action.client->layerID(), action.area);
         ret = this->makeVisible(action.client);
+        this->moveRemote(action.client->layerID(), action.area);
     }
     else if (action.visible == TaskVisible::REMOTE_INVISIBLE)
     {
-        this->moveLocal(action.client->layerID());
         ret = this->makeInvisible(action.client);
+        this->moveLocal(action.client->layerID());
     }
     else // TaskVisible::REQ_REMOTE_VISIBLE || TaskVisible::REQ_REMOTE_INVISIBLE
     {
@@ -857,17 +862,16 @@ bool LayerControl::moveRemote(unsigned layer, const std::string& area)
 {
     bool ret = false;
     std::string remote_layer;
+    std::string ecu_name = area;
+
+    if (area.find('.') != std::string::npos)
+    {
+        std::vector<std::string> elements;
+        elements = parseString(area, '.');
+        ecu_name = elements[0];
+    }
 
-    if (area == AREA_NAME_RSE1)
-        remote_layer = REMOTE_LAYER_RSE1;
-    else if (area == AREA_NAME_RSE2)
-        remote_layer = REMOTE_LAYER_RSE2;
-    else if (area == AREA_NAME_HUD)
-        remote_layer = REMOTE_LAYER_HUD;
-    else if (area == AREA_NAME_HUD_UL)
-        remote_layer = REMOTE_LAYER_HUD_UL;
-    else
-        remote_layer = REMOTE_LAYER;
+    remote_layer = this->areaToRemoteLayer(ecu_name);
 
     auto remote = this->getWMLayer(remote_layer);
     
@@ -880,12 +884,23 @@ bool LayerControl::moveRemote(unsigned layer, const std::string& area)
             remote->dump();
             return ret;
         }
+
+        shared_ptr<WMLayer> wm_layer;
+        std::string wm_layer_name = this->hasRemoteLayer(layer);
+
+        if(wm_layer_name == "")
+        {
+            wm_layer = this->getWMLayer(layer);
+        }
+        else
+        {
+            wm_layer = this->getWMLayer(wm_layer_name);
+        }
+
         remote->addLayerToState(layer);
-        auto wm_layer = this->getWMLayer(layer);
         wm_layer->removeLayerFromState(layer);
         wm_layer->dump();
         remote->dump();
-        ret = true;
     }
 
     return ret;
@@ -894,8 +909,11 @@ bool LayerControl::moveRemote(unsigned layer, const std::string& area)
 bool LayerControl::moveLocal(unsigned layer)
 {
     bool ret = false;
+    std::string remote_layer;
 
-    auto remote = this->getWMLayer(REMOTE_LAYER);
+    remote_layer = this->hasRemoteLayer(layer);
+
+    auto remote = this->getWMLayer(remote_layer);
     if(remote != nullptr)
     {
         remote->removeLayerFromState(layer);
@@ -909,17 +927,33 @@ bool LayerControl::moveLocal(unsigned layer)
     return ret;
 }
 
-bool LayerControl::hasRemoteLayer(unsigned layer)
+std::string LayerControl::hasRemoteLayer(unsigned layer)
 {
-    bool ret = false;
-
-    auto remote = this->getWMLayer(REMOTE_LAYER);
-    if(remote != nullptr)
+    for (auto itr = wm_remoteLayerName.begin(); itr != wm_remoteLayerName.end(); ++itr)
     {
-        ret = remote->hasLayerFromState(layer);
+        auto remote = this->getWMLayer(*itr);
+        if(remote != nullptr)
+        {
+            if(remote->hasLayerFromState(layer))
+            {
+                return *itr;
+            }
+        }
     }
 
-    return ret;
+    return "";
 }
 
+std::string LayerControl::areaToRemoteLayer(std::string area)
+{
+    for (auto itr = wm_remoteLayerName.begin(); itr != wm_remoteLayerName.end(); ++itr)
+    {
+        if (std::regex_search(*itr, std::regex(area, std::regex::icase)))
+        {
+            return *itr;
+        }
+    }
+
+    return wm_remoteLayerName[0];
+}
 } // namespace wm
index 6eb7a76..102896d 100644 (file)
@@ -19,6 +19,7 @@
 #include <vector>
 #include <unordered_map>
 #include <functional>
+#include <regex>
 #include <ilm/ilm_control.h>
 #include "wm_error.hpp"
 #include "util.hpp"
@@ -100,7 +101,8 @@ class LayerControl
     void dispatchSurfacePropChangeEvent(unsigned id, struct ilmSurfaceProperties*, t_ilm_notification_mask);
     void dispatchLayerPropChangeEvent(unsigned id, struct ilmLayerProperties*, t_ilm_notification_mask);
 
-    bool hasRemoteLayer(unsigned layer);
+    std::string hasRemoteLayer(unsigned layer);
+    std::string areaToRemoteLayer(std::string area);
 
   private:
     WMError makeVisible(const std::shared_ptr<WMClient> client);
@@ -114,6 +116,7 @@ class LayerControl
     WMError loadAreasConfigFile(const std::string& path, const std::string& ecu_name);
 
     std::vector<std::shared_ptr<WMLayer>> wm_layers;
+    std::vector<std::string> wm_remoteLayerName;
     std::vector<Screen> wm_screens;
     std::unordered_map<unsigned, unsigned> lid2wmlid;
     std::unordered_map<std::string, struct rect> area2size;