Add boot sequence and multi ecu transfer
[apps/agl-service-windowmanager.git] / policy_manager / stm / stm.h
index deebf9c..487adb5 100644 (file)
 #define STM_GET_AREA_FROM_ID(id) \
     (((id) >> 16) & 0xFF)
 
+// ECU type
+enum StmEcuType {
+    StmEcuTypeIVI = 0,
+    StmEcuTypeMeter,
+    StmEcuTypeHUD,
+    StmEcuTypeRSE1,
+    StmEcuTypeRSE2
+};
+
 // Event number
 enum StmEvtNo {
     StmEvtNoNone = 0,
     StmEvtNoActivate,
     StmEvtNoDeactivate,
+    StmEvtNoTransGearN,
+    StmEvtNoTransGearNotN,
+    StmEvtNoParkingBrakeOff,
+    StmEvtNoParkingBrakeOn,
+    StmEvtNoAccelPedalOff,
+    StmEvtNoAccelPedalOn,
+    StmEvtNoLampOff,
+    StmEvtNoLampOn,
+    StmEvtNoLightstatusBrakeOff,
+    StmEvtNoLightstatusBrakeOn,
     StmEvtNoRestrictionModeOff,
-    StmEvtNoRestrictionMode1On,
-    StmEvtNoRestrictionMode2On,
+    StmEvtNoRestrictionModeOn,
     StmEvtNoUndo,
 
     StmEvtNoNum,
@@ -55,11 +73,16 @@ enum StmCtgNo {
     StmCtgNoMap,
     StmCtgNoGeneral,
     StmCtgNoSplitable,
+    StmCtgNoSplitableMain,
+    StmCtgNoSplitableSub,
     StmCtgNoPopUp,
     StmCtgNoSystemAlert,
     StmCtgNoRestriction,
     StmCtgNoSystem,
     StmCtgNoSoftwareKeyboard,
+    StmCtgNoTbt,
+    StmCtgNoMeter,
+    StmCtgNoReceiver,
     StmCtgNoDebug,
 
     StmCtgNoNum,
@@ -80,6 +103,8 @@ enum StmAreaNo {
     StmAreaNoRestrictionSplitMain,
     StmAreaNoRestrictionSplitSub,
     StmAreaNoSoftwareKyeboard,
+    StmAreaNoMasterSplitSub,
+    StmAreaNoUpperLeft,
 
     StmAreaNoNum,
 
@@ -94,6 +119,11 @@ enum StmLayerNo {
     StmLayerNoNearHomescreen,
     StmLayerNoRestriction,
     StmLayerNoOnScreen,
+    StmLayerNoRemote,
+    StmLayerNoRemoteHUD,
+    StmLayerNoRemoteHUDUpperLeft,
+    StmLayerNoRemoteRSE1,
+    StmLayerNoRemoteRSE2,
 
     StmLayerNoNum,
 
@@ -118,6 +148,17 @@ enum StmLayoutNo {
     StmLayoutNoRstSplSub,
     StmLayoutNoSysNml,
     StmLayoutNoSftKbd,
+    StmLayoutNoTbt,
+    StmLayoutNoRmtTbt,
+    StmLayoutNoRmtRse1,
+    StmLayoutNoRmtRse2,
+    StmLayoutNoRmtHud,
+    StmLayoutNoRmtUpLeft,
+    StmLayoutNoMtrNml,
+    StmLayoutNoMtrRcv,
+    StmLayoutNoMtrSpl,
+    StmLayoutNoSplRcv,
+    StmLayoutNoRcvSpl,
     StmLayoutNoDbgNml,
     StmLayoutNoDbgSplMain,
     StmLayoutNoDbgSplSub,
@@ -129,21 +170,56 @@ enum StmLayoutNo {
     StmLayoutNoMax = StmLayoutNoNum - 1,
 };
 
-// Mode kind number
-enum StmModeNo {
-    StmModeNoRestrictionMode = 0,
+// Enum for mode state
+enum StmTransGearStt {
+    StmTransGearSttNoN = 0,
+    StmTransGearSttNoNotN
+};
 
-    StmModeNoNum,
+enum StmParkingBrakeStt {
+    StmParkingBrakeSttNoOff = 0,
+    StmParkingBrakeSttNoOn
+};
 
-    StmModeNoMin = StmModeNoRestrictionMode,
-    StmModeNoMax = StmModeNoNum - 1,
+enum StmAccelPedalStt {
+    StmAccelPedalSttNoOff = 0,
+    StmAccelPedalSttNoOn
+};
+
+enum StmCarStt {
+    StmRunningNoStop = 0,
+    StmRunningNoRun
+};
+
+enum StmLampStt {
+    StmLampSttNoOff = 0,
+    StmLampSttNoOn
+};
+
+enum StmLightstatusBrakeStt {
+    StmLightstatusBrakeSttNoOff = 0,
+    StmLightstatusBrakeSttNoOn
 };
 
-// Enum for mode state
 enum StmRestrictionModeSttNo {
     StmRestrictionModeSttNoOff = 0,
-    StmRestrictionModeSttNo1On,
-    StmRestrictionModeSttNo2On,
+    StmRestrictionModeSttNoOn,
+};
+
+// Mode kind number
+enum StmCarElementNo {
+    StmCarElementNoTransGear = 0,
+    StmCarElementNoParkingBrake,
+    StmCarElementNoAccelPedal,
+    StmCarElementNoRunning,
+    StmCarElementNoLamp,
+    StmCarElementNoLightstatusBrake,
+    StmCarElementNoRestrictionMode,
+
+    StmCarElementNoNum,
+
+    StmCarElementNoMin = StmCarElementNoTransGear,
+    StmCarElementNoMax = StmCarElementNoNum - 1,
 };
 
 // String for state
@@ -152,8 +228,8 @@ extern const char* kStmCategoryName[];
 extern const char* kStmAreaName[];
 extern const char* kStmLayoutName[];
 extern const char* kStmLayerName[];
-extern const char* kStmModeName[];
-extern const char** kStmModeStateNameList[];
+extern const char* kStmCarElementName[];
+extern const char** kStmCarElementStateNameList[];
 
 // Struct for state
 typedef struct StmBaseState {
@@ -162,12 +238,12 @@ typedef struct StmBaseState {
 } StmBaseState;
 
 typedef struct StmState {
-    StmBaseState mode[StmModeNoNum];
+    StmBaseState car_element[StmCarElementNoNum];
     StmBaseState layer[StmLayerNoNum];
 } StmState;
 
 // API
-void stmInitialize();
+void stmInitialize(const char *ecu_name);
 int stmTransitionState(int event_no, StmState* state);
 void stmUndoState();