|
WSF
|
Handles requests for script listings, and remote script execution. More...
#include <WsfXIO_ScriptService.hpp>


Classes | |
| struct | ExpressionResult |
Public Types | |
| using | BaseClassType = WsfXIO_ServiceT<WsfXIO_RequestScriptSessionPkt, WsfXIO_SimService> |
| Public Types inherited from WsfXIO_ServiceT< WsfXIO_RequestScriptSessionPkt, WsfXIO_SimService > | |
| using | RequestType |
Public Member Functions | |
| WsfXIO_ScriptService (WsfXIO_Simulation &aXIO_Simulation) | |
| void | SubscriptionCancelledT (WsfXIO_Subscription *aSubscriptionPtr, WsfXIO_RequestScriptSessionPkt &aRequest) override |
| Public Member Functions inherited from WsfXIO_ServiceT< WsfXIO_RequestScriptSessionPkt, WsfXIO_SimService > | |
| WsfXIO_ServiceT (WsfXIO_Interface *aInterfacePtr) | |
| WsfXIO_Subscription * | CreateSubscription (RequestType &aRequest) |
| Create a subscription from a request. | |
| Public Member Functions inherited from WsfXIO_SimService | |
| WsfXIO_SimService (WsfXIO_Interface *aInterfacePtr) | |
| void | Initialize (WsfSimulation &aSimulation) |
| void | AddRequiredPlatform (WsfPlatform &aPlatform, WsfXIO_Subscription *aSubscriptionPtr) |
| Adds a platform dependency on a subscription. If the platform is destroyed, the subscription is canceled. | |
| Public Member Functions inherited from WsfXIO_Service | |
| WsfXIO_Service (WsfXIO_Interface *aInterfacePtr) | |
| virtual | ~WsfXIO_Service () |
| WsfXIO_Subscription * | FindSubscription (WsfXIO_Connection *aConnectionPtr, int aSubscriptionId) |
| WsfXIO_Interface * | GetInterface () const |
Static Public Member Functions | |
| static bool | CheckParams (UtScript *aScriptPtr, std::vector< UtScriptData > &aParams, WsfPlatform *aContextPlatformPtr, UtScriptTypes *aScriptTypes, WsfSimulation *aSimulationPtr) |
| static bool | CheckParams (const std::vector< std::string > &aArgTypes, std::vector< UtScriptData > &aParams, WsfPlatform *aContextPlatformPtr, UtScriptTypes *aScriptTypes, WsfSimulation *aSimulationPtr) |
Protected Types | |
| using | ScriptMap = std::map<UtScriptData, UtScriptData> |
| using | ExpressionId = std::pair<int, int> |
| Protected Types inherited from WsfXIO_ServiceT< WsfXIO_RequestScriptSessionPkt, WsfXIO_SimService > | |
| using | RequestMapT |
| Protected Types inherited from WsfXIO_Service | |
| using | SubscriptionMap = std::map<WsfXIO_SubscriptionId, WsfXIO_Subscription*> |
Protected Attributes | |
| int | mNextExpressionId |
| WsfSimulation & | mSimulation |
| UtCallbackHolder | mCallbacks |
| UtScriptEnvironment * | mScriptEnvironmentPtr |
| std::map< ExpressionId, ExpressionResult > | mEvaluatedExpressions |
| bool | mInitializedEnumerateScripts |
| std::map< UtScriptClass *, UtScript * > | mDebugEnumerateScripts |
| std::map< std::string, UtScript * > | mDebugEnumerateGlobalScripts |
| UtScript * | mDebugEnumerateGobalsScript |
| Protected Attributes inherited from WsfXIO_Service | |
| UtCallbackHolder | mCallbacks |
| WsfXIO_Interface * | mInterfacePtr |
Handles requests for script listings, and remote script execution.
| using WsfXIO_ScriptService::BaseClassType = WsfXIO_ServiceT<WsfXIO_RequestScriptSessionPkt, WsfXIO_SimService> |
|
protected |
|
protected |
| WsfXIO_ScriptService::WsfXIO_ScriptService | ( | WsfXIO_Simulation & | aXIO_Simulation | ) |
References WsfXIO_Service::GetInterface(), WsfXIO_Simulation::GetSimulation(), HandleExecute(), HandleInformationRequest(), HandleRequest(), HandleScriptCommand(), HandleScriptDataRequest(), WsfXIO_SimService::Initialize(), mCallbacks, mDebugEnumerateGobalsScript, mInitializedEnumerateScripts, mNextExpressionId, mScriptEnvironmentPtr, and mSimulation.
|
static |
|
static |
References CheckParams(), classPtr, and WsfScriptManager::GetTypes().
Referenced by CheckParams(), and HandleExecute().
|
protected |
|
protected |
References mSimulation.
Referenced by ExpressionEval(), HandleRequest(), HandleScriptCommand(), and SendState().
|
protected |
References classPtr, GetEntry(), GetEntryFromEnumerationScript(), mDebugEnumerateScripts, WsfXIO_RequestScriptDataResponsePkt::VariableValue::mEntryCount, WsfXIO_RequestScriptDataResponsePkt::VariableValue::mTypeName, and PackValue().
Referenced by GetEntry(), GetEntryFromEnumerationScript(), and PackValue().
|
protected |
References classPtr, GetEntry(), WsfScriptManager::GetTypes(), WsfXIO_RequestScriptDataResponsePkt::VariableValue::mEntryCount, WsfXIO_RequestScriptDataResponsePkt::VariableValue::mEntryName, mScriptEnvironmentPtr, mSimulation, WsfXIO_RequestScriptDataResponsePkt::VariableValue::mTypeName, WsfXIO_RequestScriptDataResponsePkt::VariableValue::mValueText, and PackValue().
Referenced by GetEntry(), and HandleScriptDataRequest().
|
inlineprotected |
References WsfXIO_Service::GetSubscriptions().
Referenced by HandleScriptCommand(), and SendState().
|
protected |
References CheckParams(), classPtr, WsfXIO_ScriptExecutePkt::mArgumentList, WsfXIO_ScriptExecutePkt::mBaseObject, WsfXIO_ScriptExecutePkt::mIsApplicationMethod, WsfXIO_ScriptExecutePkt::mPartName, WsfXIO_ScriptExecutePkt::mPlatformIndex, WsfXIO_ScriptExecutePkt::mScriptName, WsfXIO_ScriptExecutePkt::mScriptText, mSimulation, and platformPtr.
Referenced by WsfXIO_ScriptService().
|
protected |
References WsfComponentList::RoleIterator< T >::AtEnd(), WsfXIO_InformationRequestPkt::cSCRIPT_LIST, WsfScriptContext::GetContext(), WsfScriptProcessor::GetScriptContext(), WsfXIO_InformationRequestPkt::mPlatformIndex, WsfXIO_ScriptListPkt::mPlatformIndex, mSimulation, WsfXIO_InformationRequestPkt::mType, platformPtr, WsfXIO_Connection::Send(), and StoreAllScripts().
Referenced by WsfXIO_ScriptService().
|
protected |
References WsfXIO_ServiceT< WsfXIO_RequestScriptSessionPkt, WsfXIO_SimService >::CreateSubscription(), WsfXIO_Service::DenyRequest(), GetDebugger(), mCallbacks, mScriptEnvironmentPtr, mSimulation, OnBreak(), OnContinue(), OnUpdate(), SendState(), and UpdateWhileAtBreak().
Referenced by WsfXIO_ScriptService().
|
protected |
References WsfXIO_RequestScriptSessionResponsePkt::cBREAKPOINT_ADDED, WsfXIO_ScriptCommandPkt::cCLEAR_BREAKPOINT, WsfXIO_ScriptCommandPkt::cRESUME, WsfXIO_ScriptCommandPkt::cSET_BREAKPOINT, WsfXIO_ScriptCommandPkt::cSTEP_INTO, WsfXIO_ScriptCommandPkt::cSTEP_OUT, WsfXIO_ScriptCommandPkt::cSTEP_OVER, GetDebugger(), GetSubscription(), WsfXIO_RequestScriptSessionResponsePkt::mBreakpointId, WsfXIO_ScriptCommandPkt::mBreakpointId, WsfXIO_ScriptCommandPkt::mCommandType, WsfXIO_ScriptCommandPkt::mCondition, WsfXIO_RequestScriptSessionResponsePkt::mFilePath, WsfXIO_ScriptCommandPkt::mFilePath, WsfXIO_RequestScriptSessionResponsePkt::mLineNumber, WsfXIO_ScriptCommandPkt::mLineNumber, WsfXIO_RequestScriptSessionResponsePkt::mSimTime, mSimulation, WsfXIO_RequestScriptSessionResponsePkt::mState, and WsfXIO_Subscription::SendResponse().
Referenced by WsfXIO_ScriptService().
|
protected |
References WsfXIO_RequestScriptDataPkt::cCALLSTACK_LISTING, WsfXIO_RequestScriptDataPkt::cCONTEXT_INFO, WsfXIO_RequestScriptDataPkt::cCONTEXT_VARIABLES, WsfXIO_RequestScriptDataPkt::cSCOPE_DETAILS, WsfXIO_RequestScriptDataPkt::cSCRIPT_DETAILS, WsfXIO_RequestScriptDataPkt::cVARIABLE_QUERY, ExpressionEval(), WsfXIO_Connection::GetConnectionId(), GetEntryFromEnumerationScript(), WsfXIO_EncodedPointer::GetPointer(), InitializeEnumerateScripts(), IsExpressionQuery(), WsfXIO_RequestScriptDataResponsePkt::ScriptDetails::mArgNames, WsfXIO_RequestScriptDataResponsePkt::mCallstackData, WsfXIO_RequestScriptDataResponsePkt::CallstackData::mCallstackEntries, WsfXIO_ScriptService::ExpressionResult::mCompiled, WsfXIO_RequestScriptDataPkt::VariableQuery::mContext, WsfXIO_RequestScriptDataResponsePkt::mContexts, WsfXIO_RequestScriptDataResponsePkt::mContextVariables, mDebugEnumerateGlobalScripts, WsfXIO_RequestScriptDataPkt::VariableQuery::mEntryAddresses, mEvaluatedExpressions, WsfXIO_RequestScriptDataPkt::VariableQuery::mExpressionReferenceNumber, WsfXIO_RequestScriptDataResponsePkt::BreakpointData::mFilePath, WsfXIO_RequestScriptDataResponsePkt::ScriptDetails::mFirstLine, WsfXIO_ResponsePkt::mFromProvider, WsfXIO_RequestScriptDataPkt::mInformationType, mInitializedEnumerateScripts, WsfXIO_RequestScriptDataResponsePkt::ScriptDetails::mLastLine, WsfXIO_RequestScriptDataResponsePkt::BreakpointData::mLineNumber, WsfXIO_RequestScriptDataResponsePkt::ScriptDetails::mLocalVariableNames, WsfXIO_RequestScriptDataResponsePkt::ContextVariableData::mNames, WsfXIO_RequestScriptDataResponsePkt::ScriptScopeData::mParentScope, WsfXIO_RequestScriptDataResponsePkt::ScriptDetails::mPrototype, WsfXIO_ResponsePkt::mRequestId, WsfXIO_ScriptService::ExpressionResult::mReturnValue, WsfXIO_RequestScriptDataPkt::mScope, WsfXIO_RequestScriptDataResponsePkt::mScopeData, WsfXIO_RequestScriptDataPkt::mScript, WsfXIO_RequestScriptDataPkt::mScriptContext, WsfXIO_RequestScriptDataResponsePkt::mScriptDetailsPtr, mScriptEnvironmentPtr, WsfXIO_RequestScriptDataResponsePkt::BreakpointData::mScriptId, WsfXIO_RequestScriptDataResponsePkt::ScriptDetails::mScriptName, WsfXIO_RequestScriptDataResponsePkt::ScriptScopeData::mScripts, mSimulation, WsfXIO_RequestScriptDataResponsePkt::ScriptDetails::mSourceFilePath, WsfXIO_RequestScriptDataPkt::VariableQuery::mStackFrame, WsfXIO_RequestDataPkt::mSubscriptionRequestId, WsfXIO_RequestScriptDataResponsePkt::VariableValue::mTypeName, WsfXIO_RequestScriptDataResponsePkt::VariableQueryResult::mValues, WsfXIO_RequestScriptDataPkt::VariableQuery::mVariableName, WsfXIO_RequestScriptDataPkt::mVariableQueries, WsfXIO_RequestScriptDataResponsePkt::mVariableValues, PackValue(), WsfXIO_Connection::Send(), and WsfXIO_EncodedPointer::SetPointer().
Referenced by WsfXIO_ScriptService().
|
protected |
References classPtr, mDebugEnumerateGlobalScripts, mDebugEnumerateGobalsScript, mDebugEnumerateScripts, mInitializedEnumerateScripts, and mSimulation.
Referenced by HandleScriptDataRequest(), and SendState().
|
protected |
References mEvaluatedExpressions, and SendState().
Referenced by HandleRequest().
|
protected |
References SendState().
Referenced by HandleRequest().
|
protected |
References WsfXIO_Interface::AdvanceTime(), WsfXIO_Service::GetInterface(), and mSimulation.
Referenced by HandleRequest().
|
protected |
References GetEntry().
Referenced by GetEntry(), GetEntryFromEnumerationScript(), and HandleScriptDataRequest().
|
protected |
|
protected |
References WsfXIO_RequestScriptSessionResponsePkt::cAT_BREAKPOINT, WsfXIO_RequestScriptSessionResponsePkt::cAT_EXCEPTION, WsfXIO_RequestScriptSessionResponsePkt::cPAUSED, WsfXIO_RequestScriptSessionResponsePkt::cRUNNING, GetDebugger(), GetSubscription(), InitializeEnumerateScripts(), mDebugEnumerateGlobalScripts, WsfXIO_RequestScriptSessionResponsePkt::mExceptionDescription, WsfXIO_RequestScriptSessionResponsePkt::mFilePath, WsfXIO_RequestScriptSessionResponsePkt::InitialData::mGlobalEnumerateScripts, WsfXIO_RequestScriptSessionResponsePkt::mInitialData, mInitializedEnumerateScripts, WsfXIO_RequestScriptSessionResponsePkt::mLineNumber, WsfXIO_RequestScriptSessionResponsePkt::mSimTime, mSimulation, WsfXIO_RequestScriptSessionResponsePkt::mState, and WsfXIO_Subscription::SendResponse().
Referenced by HandleRequest(), OnBreak(), and OnContinue().
|
protected |
References StoreScript().
Referenced by HandleInformationRequest().
|
protected |
Stores a script to a packet.
References WsfObject::GetName(), WsfPlatformPart::GetPartType(), WsfScriptManager::GetTypes(), WsfXIO_ScriptListPkt::Argument::mArgumentName, WsfXIO_ScriptListPkt::Script::mArguments, WsfXIO_ScriptListPkt::Argument::mArgumentType, WsfXIO_ScriptListPkt::Script::mName, WsfXIO_ScriptListPkt::Script::mPartName, WsfXIO_ScriptListPkt::Script::mPartType, and WsfXIO_ScriptListPkt::mScripts.
Referenced by StoreAllScripts().
|
overridevirtual |
Called when a subscription has been canceled May be called due to lost connection, destroyed simulation entity, or cancellation request
Reimplemented from WsfXIO_ServiceT< WsfXIO_RequestScriptSessionPkt, WsfXIO_SimService >.
References mSimulation, and WsfXIO_ServiceT< T, SERVICE_TYPE >::SubscriptionCancelledT().
|
protected |
References WsfXIO_Interface::AdvanceTime(), WsfXIO_Service::GetInterface(), and mSimulation.
Referenced by HandleRequest().
|
protected |
Referenced by HandleRequest(), and WsfXIO_ScriptService().
|
protected |
Referenced by HandleScriptDataRequest(), InitializeEnumerateScripts(), and SendState().
|
protected |
Referenced by InitializeEnumerateScripts(), and WsfXIO_ScriptService().
|
protected |
Referenced by GetEntry(), and InitializeEnumerateScripts().
|
protected |
Referenced by ExpressionEval(), HandleScriptDataRequest(), and OnBreak().
|
protected |
Referenced by HandleScriptDataRequest(), InitializeEnumerateScripts(), SendState(), and WsfXIO_ScriptService().
|
protected |
Referenced by WsfXIO_ScriptService().
|
protected |
Referenced by GetEntryFromEnumerationScript(), HandleRequest(), HandleScriptDataRequest(), and WsfXIO_ScriptService().
|
protected |
Referenced by GetDebugger(), GetEntryFromEnumerationScript(), HandleExecute(), HandleInformationRequest(), HandleRequest(), HandleScriptCommand(), HandleScriptDataRequest(), InitializeEnumerateScripts(), OnUpdate(), SendState(), SubscriptionCancelledT(), UpdateWhileAtBreak(), and WsfXIO_ScriptService().