WSF
WsfXIO_TaskService Class Reference

#include <WsfXIO_TaskService.hpp>

Inheritance diagram for WsfXIO_TaskService:
Collaboration diagram for WsfXIO_TaskService:

Classes

struct  SubscriptionData

Public Member Functions

 WsfXIO_TaskService (WsfXIO_Simulation &aXIO_Simulation)
 ~WsfXIO_TaskService () override
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 WsfTaskProcessorFindTaskProcessor (WsfSimulation &aSimulation, size_t aPlatformIndex, WsfStringId &aProcessorNameId)

Protected Types

typedef std::vector< SubscriptionData * > SubscriptionList
typedef std::pair< size_t, WsfStringIdProcessorId
typedef std::map< ProcessorId, SubscriptionDataSubscriptionDataMap
Protected Types inherited from WsfXIO_Service
using SubscriptionMap = std::map<WsfXIO_SubscriptionId, WsfXIO_Subscription*>

Protected Member Functions

void HandleRequest (WsfXIO_TaskRequestPkt &aPkt)
void HandleCommand (WsfXIO_TaskCommandPkt &aPkt)
void UpdateCallbacks ()
void SendInitial (SubscriptionData &aData)
void TaskAccepted (double aSimTime, const WsfTask *aTaskPtr, const WsfTrack *aTrackPtr)
 Simulation observer for TaskAccepted.
void TaskAssigned (double aSimTime, const WsfTask *aTaskPtr, const WsfTrack *aTrackPtr)
 Simulation observer for TaskAssigned.
void TaskCanceled (double aSimTime, const WsfTask *aTaskPtr)
 Simulation observer for TaskCanceled.
void TaskCompleted (double aSimTime, const WsfTask *aTaskPtr, WsfStringId aStatus)
 Simulation observer for TaskCompleted.
void GetProcessorIds (const WsfTask &aTask, ProcessorId &aAssigner, ProcessorId &aAssignee)
void GetSubscriptions (const WsfTask &aTask, SubscriptionList &aAssignerSubscriptions, SubscriptionList &aAssigneeSubscriptions)
void SubscriptionCancelled (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)
virtual void RemovingSubscription (WsfXIO_Subscription *aSubscriptionPtr)

Protected Attributes

WsfXIO_SimulationmXIO_Simulation
WsfSimulationmSimulation
SubscriptionDataMap mSubscriptionsInfo
UtCallbackHolder mTaskCallbacks
Protected Attributes inherited from WsfXIO_Service
UtCallbackHolder mCallbacks
WsfXIO_InterfacemInterfacePtr

Member Typedef Documentation

◆ ProcessorId

typedef std::pair<size_t, WsfStringId> WsfXIO_TaskService::ProcessorId
protected

◆ SubscriptionDataMap

◆ SubscriptionList

typedef std::vector<SubscriptionData*> WsfXIO_TaskService::SubscriptionList
protected

Constructor & Destructor Documentation

◆ WsfXIO_TaskService()

◆ ~WsfXIO_TaskService()

WsfXIO_TaskService::~WsfXIO_TaskService ( )
override

Member Function Documentation

◆ FindTaskProcessor()

WsfTaskProcessor * WsfXIO_TaskService::FindTaskProcessor ( WsfSimulation & aSimulation,
size_t aPlatformIndex,
WsfStringId & aProcessorNameId )
static

Find a task processor on a platform.

Parameters
aSimulationThe simulation containing the platform.
aPlatformIndexThe index of the platform to be searched.
aProcessorNameIdThe name of the task processor on the platform.
Returns
Pointer to the task processor, or nullptr if it could not be found.

References WsfComponentList::RoleIterator< T >::AtEnd(), WsfSimulation::GetPlatformByIndex(), and platformPtr.

Referenced by HandleCommand(), and HandleRequest().

◆ GetProcessorIds()

void WsfXIO_TaskService::GetProcessorIds ( const WsfTask & aTask,
ProcessorId & aAssigner,
ProcessorId & aAssignee )
protected

◆ GetSubscriptions()

void WsfXIO_TaskService::GetSubscriptions ( const WsfTask & aTask,
SubscriptionList & aAssignerSubscriptions,
SubscriptionList & aAssigneeSubscriptions )
protected

◆ HandleCommand()

◆ HandleRequest()

◆ SendInitial()

◆ SubscriptionCancelled()

void WsfXIO_TaskService::SubscriptionCancelled ( WsfXIO_Subscription * aSubscriptionPtr)
overrideprotectedvirtual

Reimplemented from WsfXIO_Service.

References mSimulation, mSubscriptionsInfo, and UpdateCallbacks().

◆ TaskAccepted()

void WsfXIO_TaskService::TaskAccepted ( double aSimTime,
const WsfTask * aTaskPtr,
const WsfTrack * aTrackPtr )
protected

◆ TaskAssigned()

void WsfXIO_TaskService::TaskAssigned ( double aSimTime,
const WsfTask * aTaskPtr,
const WsfTrack * aTrackPtr )
protected

◆ TaskCanceled()

void WsfXIO_TaskService::TaskCanceled ( double aSimTime,
const WsfTask * aTaskPtr )
protected

◆ TaskCompleted()

void WsfXIO_TaskService::TaskCompleted ( double aSimTime,
const WsfTask * aTaskPtr,
WsfStringId aStatus )
protected

◆ UpdateCallbacks()

Member Data Documentation

◆ mSimulation

WsfSimulation& WsfXIO_TaskService::mSimulation
protected

◆ mSubscriptionsInfo

SubscriptionDataMap WsfXIO_TaskService::mSubscriptionsInfo
protected

◆ mTaskCallbacks

UtCallbackHolder WsfXIO_TaskService::mTaskCallbacks
protected

Referenced by UpdateCallbacks().

◆ mXIO_Simulation

WsfXIO_Simulation& WsfXIO_TaskService::mXIO_Simulation
protected

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