_ActionName[ Executing_StopAction ] = "Executing_StopAction" ;
_ActionName[ Executing_SuccessAction ] = "Executing_SuccessAction" ;
- _ActionName[ Executing_ErrorAction ] = "Executing_ErrorAction" ;
+// _ActionName[ Executing_ErrorAction ] = "Executing_ErrorAction" ;
+ _ActionName[ Errored_ExecutingAction ] = "Errored_ExecutingAction" ;
_ActionName[ Successed_SuccessAction ] = "Successed_SuccessAction" ;
_ActionName[ Errored_ErrorAction ] = "Errored_ErrorAction" ;
//JR 24.03.2005 : Debug for PAL8176 : abort of GOTONode
// ErrorEvent
_TransitionTable[ SuccessedState ][ ErrorEvent ] = ErroredExecutingState ;
- _ActionTable[ ErroredExecutingState ][ ErrorEvent ] = Executing_ErrorAction;
+// _ActionTable[ ErroredExecutingState ][ ErrorEvent ] = Executing_ErrorAction;
+ _ActionTable[ ErroredExecutingState ][ ErrorEvent ] = Errored_ExecutingAction;
// ErrorEvent
_TransitionTable[ ExecutingState ][ ErrorEvent ] = ErroredExecutingState ;
- _ActionTable[ ErroredExecutingState ][ ErrorEvent ] = Executing_ErrorAction;
+// _ActionTable[ ErroredExecutingState ][ ErrorEvent ] = Executing_ErrorAction;
+ _ActionTable[ ErroredExecutingState ][ ErrorEvent ] = Errored_ExecutingAction;
// SuspendedExecutingState : NO ResumeEvent 13-03-2003
_TransitionTable[ SuspendedExecutingState ][ ErrorEvent ] = ErroredExecutingState ;
- _ActionTable[ ErroredExecutingState ][ ErrorEvent ] = Executing_ErrorAction;
+// _ActionTable[ ErroredExecutingState ][ ErrorEvent ] = Executing_ErrorAction;
+ _ActionTable[ ErroredExecutingState ][ ErrorEvent ] = Errored_ExecutingAction;
// DONE-CONTROL :
// SuccessedExecutingState - SuccessEvent
perror( msg ) ;
}
+#if omniORB_4_0_5
+ _SuperVisionComponent = SUPERV::SuperG::_nil() ;
+#endif
+
pthread_mutex_init( &_MutexPythonWait , NULL ) ;
_MutexPythonLocked = false ;
_ExecNumber = 0 ;
}
}
+#define PyFunctionTrace 1
PyObject * GraphExecutor::FiniteStateMachine::PyFunction( const char * aPyFuncName ) {
PyObject * RetVal = NULL ;
PyObject * PyFunctionMapped = _MapOfPyFunctions[ aPyFuncName ] ;
if ( _GraphExecutingNumber > 1 && !PyObjRefIor ) {
RetVal = PyFunctionMapped ;
+#if PyFunctionTrace
MESSAGE( "GraphExecutor::FiniteStateMachine::PyFunction( '" << aPyFuncName << "' ) --> " ) ;
if ( RetVal ) {
MESSAGE( RetVal << " ob_refcnt " << RetVal->ob_refcnt ) ;
else {
MESSAGE( " NULL" ) ;
}
+#endif
}
else {
RetVal = PyFunctionMapped ;
+#if PyFunctionTrace
MESSAGE( "GraphExecutor::FiniteStateMachine::PyFunction( '" << aPyFuncName << "' ) --> " ) ;
if ( RetVal && PyObjRefIor ) {
MESSAGE( RetVal << " " << RetVal->ob_refcnt ) ;
else {
MESSAGE( " NULL" ) ;
}
+#endif
}
return RetVal ;
bool RetVal = false ;
if ( _MapOfPyFunctions[ aPyFuncName ] != NULL ) {
+#if PyFunctionTrace
PyObject * aPyFunc = _MapOfPyFunctions[ aPyFuncName ] ;
MESSAGE( "GraphExecutor::FiniteStateMachine::PyFunction( '" << aPyFuncName << "' , aPyFunction "
<< aPyFunction << " ) ob_refcnt " << aPyFunction->ob_refcnt << " already mapped : "
<< aPyFunc << " ob_refcnt " << aPyFunc->ob_refcnt ) ;
+#endif
}
else {
_MapOfPyFunctions[ aPyFuncName ] = aPyFunction ;
+#if PyFunctionTrace
MESSAGE( "GraphExecutor::FiniteStateMachine::PyFunction( '" << aPyFuncName << "' ) " << aPyFunction
<< " ) ob_refcnt " << aPyFunction->ob_refcnt << " mapped" ) ;
+#endif
RetVal = true ;
}
bool GraphExecutor::FiniteStateMachine::ErasePyFunction( const char * aPyFuncName ) {
+#if PyFunctionTrace
MESSAGE( "GraphExecutor::FiniteStateMachine::ErasePyFunction( '" << aPyFuncName << "' )" ) ;
+#endif
if ( _MapOfPyFunctions[ aPyFuncName ] != NULL ) {
_MapOfPyFunctions.erase( aPyFuncName ) ;
return true ;
Executing_KillAction ,
Executing_StopAction ,
Executing_SuccessAction ,
- Executing_ErrorAction ,
+// Executing_ErrorAction ,
+ Errored_ExecutingAction ,
Successed_SuccessAction ,
Errored_ErrorAction ,
Successed_SuspendAction ,
GraphExecutor::StateEventAction _ActionTable[ GraphExecutor::NumberOfAutomatonStates ]
[ GraphExecutor::NumberOfEvents ] ;
+#if omniORB_4_0_5
+ SUPERV::SuperG_var _SuperVisionComponent ;
+#endif
+
pthread_mutex_t _MutexPythonWait ;
bool _MutexPythonLocked ;
// Map between FuncName and corresponding Python Object Function
FiniteStateMachine() ;
virtual ~FiniteStateMachine() {} ;
+#if omniORB_4_0_5
+ void SuperVisionComponent( SUPERV::SuperG_var mySuperVision ) {
+ _SuperVisionComponent = mySuperVision ; } ;
+ SUPERV::SuperG_var SuperVisionComponent() {
+ return _SuperVisionComponent ; } ;
+#endif
+
int ExecNumber() ;
void Executed() ;
void PyInitModule(bool) ;