WSF
WsfXIO_ScriptService Class Reference

Handles requests for script listings, and remote script execution. More...

#include <WsfXIO_ScriptService.hpp>

Inheritance diagram for WsfXIO_ScriptService:
Collaboration diagram for WsfXIO_ScriptService:

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_SubscriptionCreateSubscription (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_SubscriptionFindSubscription (WsfXIO_Connection *aConnectionPtr, int aSubscriptionId)
WsfXIO_InterfaceGetInterface () 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 Member Functions

WsfXIO_RequestScriptDataResponsePkt::VariableValue PackValue (const UtScriptData &aEntry, std::vector< int > aIndex)
WsfXIO_RequestScriptDataResponsePkt::VariableValue PackValue (UtScriptData aEntry)
WsfXIO_RequestScriptDataResponsePkt::VariableValue GetEntry (UtScriptData aBaseEntry, std::vector< int > &aEntryIndex)
WsfXIO_RequestScriptDataResponsePkt::VariableValue GetEntryFromEnumerationScript (UtScript *aEnumScriptPtr, UtScriptData *aBaseEntry, std::vector< int > &aAddress)
WsfXIO_SubscriptionGetSubscription ()
void OnBreak (UtScriptDebugger::BreakType aBreakType)
void OnContinue ()
void OnUpdate ()
void SendState (UtScriptDebugger::BreakType aBreakType, bool aIsInitialSend=false)
void HandleRequest (WsfXIO_RequestScriptSessionPkt &aPkt)
void HandleInformationRequest (WsfXIO_InformationRequestPkt &aPkt)
void HandleScriptDataRequest (WsfXIO_RequestScriptDataPkt &aPkt)
void HandleExecute (WsfXIO_ScriptExecutePkt &aPkt)
void HandleScriptCommand (WsfXIO_ScriptCommandPkt &aPkt)
void UpdateWhileAtBreak ()
void StoreScript (WsfPlatformPart *aPartPtr, UtScript *aScript, WsfXIO_ScriptListPkt &aPkt)
 Stores a script to a packet.
void StoreAllScripts (WsfPlatformPart *aPartPtr, UtScriptContext *aInstancePtr, WsfXIO_ScriptListPkt &aPkt)
void InitializeEnumerateScripts ()
ExpressionResultExpressionEval (ExpressionId aExpressionId, UtScriptExecutor &aContextExecutor, UtScriptExecutorProgramCounter *pc, std::string aExpression)
UtScriptDebugger * GetDebugger ()
Protected Member Functions inherited from WsfXIO_ServiceT< WsfXIO_RequestScriptSessionPkt, WsfXIO_SimService >
void SubscriptionCancelled (WsfXIO_Subscription *aSubscriptionPtr) override
const WsfXIO_RequestScriptSessionPktFindRequest (WsfXIO_SubscriptionId aId) const
const RequestMapTGetRequests () const
Protected Member Functions inherited from WsfXIO_SimService
void RemovingSubscription (WsfXIO_Subscription *aSubscriptionPtr) override
Protected Member Functions inherited from WsfXIO_Service
void DenyRequest (WsfXIO_RequestDataPkt &aRequest)
void HandleDisconnect (WsfXIO_Connection *aConnection)
void AddSubscription (WsfXIO_Subscription *aSubscriptionPtr)
bool RemoveSubscription (WsfXIO_Subscription *aSubscriptionPtr)
WsfXIO_SubscriptionCreateSubscription (WsfXIO_RequestDataPkt &aRequest)
void HandleCancellation (WsfXIO_SubscriptionCancelPkt &aPkt)
const SubscriptionMap GetSubscriptions () const
WsfXIO_SubscriptionFindSubscription (const WsfXIO_SubscriptionId &aSubscriptionId)

Protected Attributes

int mNextExpressionId
WsfSimulationmSimulation
UtCallbackHolder mCallbacks
UtScriptEnvironment * mScriptEnvironmentPtr
std::map< ExpressionId, ExpressionResultmEvaluatedExpressions
bool mInitializedEnumerateScripts
std::map< UtScriptClass *, UtScript * > mDebugEnumerateScripts
std::map< std::string, UtScript * > mDebugEnumerateGlobalScripts
UtScript * mDebugEnumerateGobalsScript
Protected Attributes inherited from WsfXIO_Service
UtCallbackHolder mCallbacks
WsfXIO_InterfacemInterfacePtr

Detailed Description

Handles requests for script listings, and remote script execution.

Member Typedef Documentation

◆ BaseClassType

◆ ExpressionId

using WsfXIO_ScriptService::ExpressionId = std::pair<int, int>
protected

◆ ScriptMap

Constructor & Destructor Documentation

◆ WsfXIO_ScriptService()

Member Function Documentation

◆ CheckParams() [1/2]

bool WsfXIO_ScriptService::CheckParams ( const std::vector< std::string > & aArgTypes,
std::vector< UtScriptData > & aParams,
WsfPlatform * aContextPlatformPtr,
UtScriptTypes * aScriptTypes,
WsfSimulation * aSimulationPtr )
static

◆ CheckParams() [2/2]

bool WsfXIO_ScriptService::CheckParams ( UtScript * aScriptPtr,
std::vector< UtScriptData > & aParams,
WsfPlatform * aContextPlatformPtr,
UtScriptTypes * aScriptTypes,
WsfSimulation * aSimulationPtr )
static

◆ ExpressionEval()

WsfXIO_ScriptService::ExpressionResult * WsfXIO_ScriptService::ExpressionEval ( ExpressionId aExpressionId,
UtScriptExecutor & aContextExecutor,
UtScriptExecutorProgramCounter * pc,
std::string aExpression )
protected

◆ GetDebugger()

UtScriptDebugger * WsfXIO_ScriptService::GetDebugger ( )
protected

◆ GetEntry()

◆ GetEntryFromEnumerationScript()

◆ GetSubscription()

WsfXIO_Subscription * WsfXIO_ScriptService::GetSubscription ( )
inlineprotected

◆ HandleExecute()

◆ HandleInformationRequest()

◆ HandleRequest()

◆ HandleScriptCommand()

◆ HandleScriptDataRequest()

void WsfXIO_ScriptService::HandleScriptDataRequest ( WsfXIO_RequestScriptDataPkt & aPkt)
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().

◆ InitializeEnumerateScripts()

void WsfXIO_ScriptService::InitializeEnumerateScripts ( )
protected

◆ OnBreak()

void WsfXIO_ScriptService::OnBreak ( UtScriptDebugger::BreakType aBreakType)
protected

References mEvaluatedExpressions, and SendState().

Referenced by HandleRequest().

◆ OnContinue()

void WsfXIO_ScriptService::OnContinue ( )
protected

References SendState().

Referenced by HandleRequest().

◆ OnUpdate()

void WsfXIO_ScriptService::OnUpdate ( )
protected

◆ PackValue() [1/2]

WsfXIO_RequestScriptDataResponsePkt::VariableValue WsfXIO_ScriptService::PackValue ( const UtScriptData & aEntry,
std::vector< int > aIndex )
protected

◆ PackValue() [2/2]

◆ SendState()

◆ StoreAllScripts()

void WsfXIO_ScriptService::StoreAllScripts ( WsfPlatformPart * aPartPtr,
UtScriptContext * aInstancePtr,
WsfXIO_ScriptListPkt & aPkt )
protected

References StoreScript().

Referenced by HandleInformationRequest().

◆ StoreScript()

◆ SubscriptionCancelledT()

void WsfXIO_ScriptService::SubscriptionCancelledT ( WsfXIO_Subscription * aSubscriptionPtr,
WsfXIO_RequestScriptSessionPkt & aRequest )
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().

◆ UpdateWhileAtBreak()

void WsfXIO_ScriptService::UpdateWhileAtBreak ( )
protected

Member Data Documentation

◆ mCallbacks

UtCallbackHolder WsfXIO_ScriptService::mCallbacks
protected

◆ mDebugEnumerateGlobalScripts

std::map<std::string, UtScript*> WsfXIO_ScriptService::mDebugEnumerateGlobalScripts
protected

◆ mDebugEnumerateGobalsScript

UtScript* WsfXIO_ScriptService::mDebugEnumerateGobalsScript
protected

◆ mDebugEnumerateScripts

std::map<UtScriptClass*, UtScript*> WsfXIO_ScriptService::mDebugEnumerateScripts
protected

◆ mEvaluatedExpressions

std::map<ExpressionId, ExpressionResult> WsfXIO_ScriptService::mEvaluatedExpressions
protected

◆ mInitializedEnumerateScripts

bool WsfXIO_ScriptService::mInitializedEnumerateScripts
protected

◆ mNextExpressionId

int WsfXIO_ScriptService::mNextExpressionId
protected

Referenced by WsfXIO_ScriptService().

◆ mScriptEnvironmentPtr

UtScriptEnvironment* WsfXIO_ScriptService::mScriptEnvironmentPtr
protected

◆ mSimulation


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved