summaryrefslogtreecommitdiffstats
path: root/video_in_hal/nsframework/framework_unified/client/NS_FrameworkCore/src/statemachine/frameworkunified_sm_hsm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'video_in_hal/nsframework/framework_unified/client/NS_FrameworkCore/src/statemachine/frameworkunified_sm_hsm.cpp')
-rwxr-xr-xvideo_in_hal/nsframework/framework_unified/client/NS_FrameworkCore/src/statemachine/frameworkunified_sm_hsm.cpp529
1 files changed, 0 insertions, 529 deletions
diff --git a/video_in_hal/nsframework/framework_unified/client/NS_FrameworkCore/src/statemachine/frameworkunified_sm_hsm.cpp b/video_in_hal/nsframework/framework_unified/client/NS_FrameworkCore/src/statemachine/frameworkunified_sm_hsm.cpp
deleted file mode 100755
index f6cdb09..0000000
--- a/video_in_hal/nsframework/framework_unified/client/NS_FrameworkCore/src/statemachine/frameworkunified_sm_hsm.cpp
+++ /dev/null
@@ -1,529 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-//////////////////////////////////////////////////////////////////////////////////////////////////
-/// \defgroup <<Group Tag>> <<Group Name>>
-/// \ingroup tag_NSFramework
-/// .
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-/// \ingroup tag_NSFramework
-/// \brief
-///
-/// This file has the CFrameworkunifiedHSM class definitions. CFrameworkunifiedHSM is base class for HSM Framework.
-/// This class implements interfaces for connecting child states to parent states, connecting events
-/// to state.
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-#include <native_service/frameworkunified_sm_hsm.h>
-#include <native_service/frameworkunified_sm_reaction.h>
-#include <native_service/frameworkunified_sm_state.h>
-#include <native_service/frameworkunified_sm_compositestate.h>
-#include <native_service/frameworkunified_sm_framework_types.h>
-#include <native_service/frameworkunified_sm_orthogonalstate.h>
-#include <native_service/frameworkunified_framework_if.h>
-
-#include <cstdio>
-#include <sstream>
-#include <string>
-
-#include "frameworkunified_framework_internal.h"
-#include "frameworkunified_sm_framework_core.h"
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// CFrameworkunifiedHSM
-/// Class constructor
-///////////////////////////////////////////////////////////////////////////////////////////
-CFrameworkunifiedHSM::CFrameworkunifiedHSM(PVOID f_pHApp): m_uiCurrentEvent(0), m_pHApp(f_pHApp), m_pActiveState(NULL), m_pRootState(NULL),
- m_bIsTransitioning(FALSE) {
- // PostEventList stores the list of events posted in the state
- m_pPostEventList = new EventInfoList();
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// CFrameworkunifiedHSM
-/// Class constructor
-///////////////////////////////////////////////////////////////////////////////////////////
-CFrameworkunifiedHSM::CFrameworkunifiedHSM(): m_uiCurrentEvent(0), m_pHApp(NULL), m_pActiveState(NULL), m_pRootState(NULL),
- m_bIsTransitioning(FALSE) {
- // PostEventList stores the list of events posted in the state
- m_pPostEventList = new EventInfoList();
- m_pHApp = NULL;
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// ~CFrameworkunifiedHSM
-/// Class destructor
-///////////////////////////////////////////////////////////////////////////////////////////
-CFrameworkunifiedHSM::~CFrameworkunifiedHSM() {
- if (NULL != m_pPostEventList) {
- delete m_pPostEventList;
- m_pPostEventList = NULL;
- }
-
- if (m_pRootState) {
- FrameworkunifiedClose();
- }
-
- // we are not deleting this pointer because memory pointed by this pointer
- // had already been deleted in above step.
- m_pActiveState = NULL;
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// FrameworkunifiedGetActiveState
-/// Returns the active state of the statemachine
-///////////////////////////////////////////////////////////////////////////////////////////
-CFrameworkunifiedState *CFrameworkunifiedHSM::FrameworkunifiedGetActiveState() {
- CFrameworkunifiedState *l_pCurrentState = m_pRootState;
- CFrameworkunifiedState *l_pActiveState = NULL;
-
- try {
- // Iterate till the current state is leafstate or orthogonal state
- while (l_pCurrentState != l_pActiveState) {
- l_pActiveState = l_pCurrentState;
- l_pCurrentState = l_pCurrentState->FrameworkunifiedGetActiveState();
- CHKNULL(l_pCurrentState);
- }
-
- // Set active state
- m_pActiveState = l_pActiveState;
-
- FRAMEWORKUNIFIEDLOG(ZONE_NS_SM_USR_INFO, __FUNCTION__, " Active state is %s "
- , m_pActiveState->m_strStateName.c_str());
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
- l_pActiveState = NULL;
- }
-
-
- return l_pActiveState;
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// FrameworkunifiedStart
-/// This starts the state machine
-///////////////////////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CFrameworkunifiedHSM::FrameworkunifiedStart(CEventDataPtr f_pEventData) {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
-
- try {
- CHKNULL(m_pActiveState); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
-
- m_bIsTransitioning = TRUE;
-
- // Start the state machine execution on current state
- m_pActiveState = m_pActiveState->FrameworkunifiedOnHSMStart(f_pEventData); // LCOV_EXCL_BR_LINE 11:except branch
-
- // LCOV_EXCL_BR_START 15:marco defined in "native_service/ns_logger_if.h"
- FRAMEWORKUNIFIEDLOG(ZONE_NS_SM_USR_INFO, __FUNCTION__, " Active state is %s "
- , m_pActiveState->m_strStateName.c_str());
- // LCOV_EXCL_BR_STOP
- // post the event from events list
- eStatus = ProcessEventQueue(); // LCOV_EXCL_BR_LINE 11:except branch
-
- m_bIsTransitioning = FALSE;
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
-
- return eStatus;
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// FrameworkunifiedConnect
-/// This connects the reaction to event and add event to child states then add child state
-///////////////////////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CFrameworkunifiedHSM::CFrameworkunifiedHSM::FrameworkunifiedConnect(CFrameworkunifiedState *f_pParentState, CFrameworkunifiedState *f_pChildState,
- UI_32 f_uiEventId, CFrameworkunifiedReaction *f_pReaction,
- BOOL f_bIsDefaultState, BOOL f_bIsDeferredEventType,
- std::string f_strEventName) {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
-
- try {
- // attach reaction to event and add it to the child state
- eStatus = FrameworkunifiedConnect(f_pChildState, f_uiEventId, f_pReaction, f_strEventName, f_bIsDeferredEventType);
- if (eFrameworkunifiedStatusOK == eStatus) {
- // add child state to parent state
- eStatus = FrameworkunifiedConnect(f_pParentState, f_pChildState, f_bIsDefaultState);
- }
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
-
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
- return eStatus;
-}
-///////////////////////////////////////////////////////////////////////////////////////////
-/// FrameworkunifiedConnect
-/// This add child state to parent state.
-///////////////////////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CFrameworkunifiedHSM::FrameworkunifiedConnect(CFrameworkunifiedState *f_pParentState, CFrameworkunifiedState *f_pChildState,
- BOOL f_bIsDefaultState) {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
- try {
- CHKNULL(f_pParentState); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
- CHKNULL(f_pChildState); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
- // Check if the state is composite state
- if (f_pParentState->FrameworkunifiedHasSubStates()) {
- // Check if the child state is default state
- if (f_bIsDefaultState) {
- // Add child state as default state
- (reinterpret_cast<CFrameworkunifiedCompositeState *>(f_pParentState))->FrameworkunifiedAddState(f_pChildState,
- CFrameworkunifiedCompositeState::eFrameworkunifiedDefaultState); // LCOV_EXCL_BR_LINE 11: except branch
- } else {
- // Add state as regular state
- (reinterpret_cast<CFrameworkunifiedCompositeState *>(f_pParentState))->FrameworkunifiedAddState(f_pChildState); // LCOV_EXCL_BR_LINE 11: except branch
- }
-
- f_pChildState->FrameworkunifiedSetHSM(this); // LCOV_EXCL_BR_LINE 11: except branch
-
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Error %s is not a composite state",
- f_pParentState->m_strStateName.c_str());
- }
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
-
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
-
- return eStatus; //LCOV_EXCL_BR_LINE 11:except branch
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// FrameworkunifiedConnect
-/// This connects the reaction to event and add event to child states
-///////////////////////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CFrameworkunifiedHSM::FrameworkunifiedConnect(CFrameworkunifiedState *f_pState, UI_32 f_uiEventId, CFrameworkunifiedReaction *f_pReaction,
- std::string f_strEventName , BOOL f_bIsDeferredEventType) {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
- try {
- CHKNULL(f_pState); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
- // check if the event is deferred event
- if (f_bIsDeferredEventType) {
- // Add event as deferred event
- f_pState->FrameworkunifiedAddDeferredEvent(f_uiEventId, f_strEventName); // LCOV_EXCL_BR_LINE 11: except branch
- // LCOV_EXCL_BR_START 15:marco defined in "native_service/ns_logger_if.h"
- FRAMEWORKUNIFIEDLOG(ZONE_NS_SM_USR_INFO, __FUNCTION__, " Deferred Event %d %s is "
- "associated with Reaction and added to state %s "
- , f_uiEventId, f_strEventName.c_str(), (f_pState->m_strStateName).c_str());
- // LCOV_EXCL_BR_STOP
- } else {
- CHKNULL(f_pReaction); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
- // Add event as regular event
- f_pState->FrameworkunifiedAddEvent(f_uiEventId, f_pReaction, f_strEventName); // LCOV_EXCL_BR_LINE 11: except branch
-
- // LCOV_EXCL_BR_START 15:marco defined in "native_service/ns_logger_if.h"
- FRAMEWORKUNIFIEDLOG(ZONE_NS_SM_USR_INFO, __FUNCTION__, " Event %d %s is associated with Reaction and added to state %s "
- , f_uiEventId, f_strEventName.c_str(), (f_pState->m_strStateName).c_str());
- // LCOV_EXCL_BR_STOP
- }
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Error: Failed to add event %d in %s", f_uiEventId,
- (f_pState->m_strStateName).c_str());
-
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
-
- return eStatus;;
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// FrameworkunifiedPostEvent
-/// This creates the default event data and sends the event to the active HSM state.
-///////////////////////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CFrameworkunifiedHSM::FrameworkunifiedPostEvent(UI_32 f_uiEventId) {
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK; // LCOV_EXCL_BR_LINE 11: except branch
- try {
- CEventDataPtr l_pEventData(new CEventData(f_uiEventId)); // LCOV_EXCL_BR_LINE 11:except branch
- CHKNULL(l_pEventData); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
-
- l_eStatus = FrameworkunifiedPostEvent(l_pEventData); // LCOV_EXCL_BR_LINE 11: except branch
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
- l_eStatus = eFrameworkunifiedStatusNullPointer;
- }
- return l_eStatus;
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// FrameworkunifiedPostEvent
-/// This sends the event to the active HSM state
-///////////////////////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CFrameworkunifiedHSM::FrameworkunifiedPostEvent(CEventDataPtr f_pEventData) {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
- try {
- CHKNULL(f_pEventData); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
-
- if (m_bIsTransitioning) {
- eStatus = FrameworkunifiedQueueEvent(f_pEventData); // LCOV_EXCL_BR_LINE 11: except branch
- } else {
- m_bIsTransitioning = TRUE;
-
- eStatus = ProcessEvent(f_pEventData); // LCOV_EXCL_BR_LINE 11: except branch
-
- m_bIsTransitioning = FALSE;
-
- CHKNULL(m_pActiveState);
- FRAMEWORKUNIFIEDLOG(ZONE_NS_SM_USR_INFO, __FUNCTION__, " Active state is %s ", m_pActiveState->m_strStateName.c_str()); // LCOV_EXCL_BR_LINE 15:marco defined in "native_service/ns_logger_if.h"
- }
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
-
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
- return eStatus;
-}
-
-EFrameworkunifiedStatus CFrameworkunifiedHSM::ProcessEvent(CEventDataPtr f_pEventData) {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
- try {
- CHKNULL(m_pActiveState); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
- CHKNULL(f_pEventData); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
- CHKNULL(m_pActiveState->m_pEventName); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
-
- EventNameList::iterator l_itEventName;
- l_itEventName = m_pActiveState->m_pEventName->find(f_pEventData->m_uiEventId);
-
- if (m_pActiveState->m_pEventName->end() != l_itEventName) {
- // LCOV_EXCL_BR_START 15:marco defined in "native_service/ns_logger_if.h"
- FRAMEWORKUNIFIEDLOG(ZONE_NS_SM_USR_INFO, __FUNCTION__, " Posting event %d %s to state %s",
- f_pEventData->m_uiEventId,
- l_itEventName->second.c_str(),
- m_pActiveState->m_strStateName.c_str());
- // LCOV_EXCL_BR_STOP
- }
-
- m_uiCurrentEvent = f_pEventData->m_uiEventId;
-
- // Send event to active state for processing
- m_pActiveState = m_pActiveState->FrameworkunifiedOnEvent(f_pEventData); // LCOV_EXCL_BR_LINE 11:except branch
-
- CHKNULL(m_pActiveState);
- FRAMEWORKUNIFIEDLOG(ZONE_NS_SM_USR_INFO, __FUNCTION__, " Active state is %s ", m_pActiveState->m_strStateName.c_str()); // LCOV_EXCL_BR_LINE 15:marco defined in "native_service/ns_logger_if.h"
-
- // post the event from events list
- eStatus = ProcessEventQueue(); // LCOV_EXCL_BR_LINE 11:except branch
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what()); // LCOV_EXCL_BR_LINE 15:marco defined in "native_service/ns_logger_if.h"
-
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
- return eStatus;
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// FrameworkunifiedClose
-/// This stops the state machine and destroys all states and events
-///////////////////////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CFrameworkunifiedHSM::FrameworkunifiedClose(CEventDataPtr f_pEventData) {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
- try {
- CHKNULL(m_pRootState);
- delete m_pRootState;
- m_pRootState = NULL;
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
-
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
- return eStatus;
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// FrameworkunifiedConnect
-/// This sets the givens state as root state in the state machine
-///////////////////////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CFrameworkunifiedHSM::FrameworkunifiedConnect(CFrameworkunifiedState *f_pRootState) {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
- try {
- CHKNULL(f_pRootState); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
-
- m_pActiveState = f_pRootState;
- m_pRootState = f_pRootState;
-
- m_pRootState->FrameworkunifiedSetHSM(this); // LCOV_EXCL_BR_LINE 11:except branch
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
-
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
- return eStatus; // LCOV_EXCL_BR_LINE 11:except branch
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// FrameworkunifiedPrintAllStates
-/// This prints all states and events associated with every state on console.
-///////////////////////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CFrameworkunifiedHSM::FrameworkunifiedPrintAllStates() {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
- try {
- CHKNULL(m_pRootState); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
- // Print the states
- m_pRootState->FrameworkunifiedPrintStates();
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
-
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
- return eStatus; // LCOV_EXCL_BR_LINE 11:except branch
-}
-
-EFrameworkunifiedStatus CFrameworkunifiedHSM::FrameworkunifiedConnectOrthogonal(CFrameworkunifiedOrthogonalState *f_pOrthogonalState,
- CFrameworkunifiedCompositeState *f_pOrthogonalRegion) {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
- try {
- CHKNULL(f_pOrthogonalState) // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
- CHKNULL(f_pOrthogonalRegion) // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
-
- f_pOrthogonalState->FrameworkunifiedAddOrthogonalRegion(f_pOrthogonalRegion);
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
- return eStatus;
-}
-
-HANDLE CFrameworkunifiedHSM::FrameworkunifiedGetAppHandle() {
- return m_pHApp;
-}
-
-EFrameworkunifiedStatus CFrameworkunifiedHSM::FrameworkunifiedPrintXML() {
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK;
- try {
- std::ostringstream l_strXMLString;
- l_strXMLString << "<Statemachine>";
-
- CHKNULL(m_pRootState); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
-
- // Write statemachine information in XML stream
- m_pRootState->FrameworkunifiedPrintXML(l_strXMLString);
- l_strXMLString << "</Statemachine>";
-
- // Write a stream to XML file
- if (m_pHApp) {
- size_t l_uiLength = static_cast<size_t>(l_strXMLString.str().length());
-
- PCHAR l_pStream = new CHAR[l_uiLength + 1];
- if (NULL != l_pStream) {
- std::FILE *l_pFile = NULL;
-
- std::memset(l_pStream, 0, l_uiLength + 1);
- std::strncpy(l_pStream, l_strXMLString.str().c_str(), l_uiLength);
-
- std::ostringstream l_strFileName;
-
- l_strFileName << "StatemachineXML_";
-
- l_strFileName << FrameworkunifiedGetAppName(m_pHApp) << ".xml";
-
- l_pFile = std::fopen(l_strFileName.str().c_str(), "wbe");
-
- if (l_pFile) {
- std::fwrite(l_pStream, l_uiLength, 1, l_pFile);
- std::fclose(l_pFile);
- FRAMEWORKUNIFIEDLOG(ZONE_NS_SM_USR_INFO, __FUNCTION__, "%s File Created"
- , l_strFileName.str().c_str());
- }
- delete[] l_pStream;
- l_pStream = NULL;
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Error: StatemachineXML_%s.xml file not created", FrameworkunifiedGetAppName(m_pHApp));
- }
- }
- FRAMEWORKUNIFIEDLOG(ZONE_NS_SM_USR_INFO, __FUNCTION__, l_strXMLString.str().c_str());
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
- }
- return l_eStatus;
-}
-
-EFrameworkunifiedStatus CFrameworkunifiedHSM::FrameworkunifiedQueueEvent(CEventDataPtr f_pEventData) {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
- try {
- CHKNULL(m_pPostEventList); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
- CHKNULL(m_pActiveState); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
- CHKNULL(f_pEventData); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
-
- // Push the event in the post event list(FIFO)
- m_pPostEventList->push_back(f_pEventData); // LCOV_EXCL_BR_LINE 11:except branch
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
- return eStatus; // LCOV_EXCL_BR_LINE 11:except branch
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// ProcessEventQueue
-/// This post the event from events list
-///////////////////////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CFrameworkunifiedHSM::ProcessEventQueue() {
- EFrameworkunifiedStatus eStatus = eFrameworkunifiedStatusOK;
-
- try {
- CHKNULL(m_pPostEventList); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
-
- if (!m_pPostEventList->empty()) {
- CEventDataPtr l_pEventData = m_pPostEventList->front(); // LCOV_EXCL_BR_LINE 11:except branch
- CHKNULL(l_pEventData); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
-
- CHKNULL(m_pActiveState); // LCOV_EXCL_BR_LINE 15: marco defined in frameworkunified_sm_framework_types.h
- // LCOV_EXCL_BR_START 15:marco defined in "native_service/ns_logger_if.h"
- FRAMEWORKUNIFIEDLOG(ZONE_NS_SM_DEV_INFO, __FUNCTION__, "Processing posted event %d in state %s",
- l_pEventData->m_uiEventId, m_pActiveState->m_strStateName.c_str());
- // LCOV_EXCL_BR_STOP
- m_pPostEventList->erase(m_pPostEventList->begin());
-
- eStatus = ProcessEvent(l_pEventData); // LCOV_EXCL_BR_LINE 11:except branch
- }
- } catch (std::exception &e) {
- FRAMEWORKUNIFIEDLOG(ZONE_NS_ERR, __FUNCTION__, "Exception %s", e.what());
- eStatus = eFrameworkunifiedStatusNullPointer;
- }
- return eStatus;
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////
-/// RemoveEventFromPostedEventQueue
-/// This API is used to remove the all events of eventId f_uiEventId from event queue of statemachine
-///////////////////////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CFrameworkunifiedHSM::RemoveEventFromPostedEventQueue(const UI_32 f_uiEventId) {
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusInvldID;
- FRAMEWORKUNIFIEDLOG_CUT(ZONE_NS_FUNC, __FUNCTION__, "+");
-
- if (NULL != m_pPostEventList) {
- int32_t l_siCnt = static_cast<int32_t>(m_pPostEventList->size() - 1);
-
- for (; l_siCnt >= 0; l_siCnt--) {
- if (NULL != m_pPostEventList->at(l_siCnt).get()) {
- if (f_uiEventId == m_pPostEventList->at(l_siCnt).get()->m_uiEventId) {
- m_pPostEventList->erase(m_pPostEventList->begin() + l_siCnt);
- l_eStatus = eFrameworkunifiedStatusOK;
- }
- }
- }
- } else {
- l_eStatus = eFrameworkunifiedStatusNullPointer;
- }
-
- FRAMEWORKUNIFIEDLOG_CUT(ZONE_NS_FUNC, __FUNCTION__, "-");
- return l_eStatus;
-}