WSF
WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE > Class Template Reference

#include <WsfXIO_Service.hpp>

Inherits SERVICE_TYPE.

Public Types

using SessionType = SESSION_TYPE
using RequestType = REQUEST_TYPE

Public Member Functions

 WsfXIO_SessionServiceT (WsfXIO_Interface *aInterfacePtr)
WsfXIO_SubscriptionCreateSubscription (RequestType &aRequest)
 Create a subscription from a request.
virtual void SubscriptionCancelledT (WsfXIO_Subscription *aSubscriptionPtr, SessionType &aSession)
WsfXIO_SubscriptionFindSubscription (WsfXIO_Connection *aConnectionPtr, int aSubscriptionId)
void AddRequiredPlatform (WsfPlatform &aPlatform, WsfXIO_Subscription *aSubscriptionPtr)

Protected Types

using RequestMapT = std::map<WsfXIO_SubscriptionId, SessionType*>

Protected Member Functions

virtual void SubscriptionCancelled (WsfXIO_Subscription *aSubscriptionPtr)
const RequestMapTGetRequests () const

Detailed Description

template<typename SESSION_TYPE, typename REQUEST_TYPE, typename SERVICE_TYPE>
class WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE >

A type of service where each request is allocated its own 'session' object. SESSION_TYPE A class derived from WsfXIO_ServiceSession. An instance of this session type is created along with the subscription. See CreateSubscription(). REQUEST_TYPE A request packet class used for this subscription provider must be derived from WsfXIO_SubscriptionRequestPkt.

Member Typedef Documentation

◆ RequestMapT

template<typename SESSION_TYPE, typename REQUEST_TYPE, typename SERVICE_TYPE>
using WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE >::RequestMapT = std::map<WsfXIO_SubscriptionId, SessionType*>
protected

◆ RequestType

template<typename SESSION_TYPE, typename REQUEST_TYPE, typename SERVICE_TYPE>
using WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE >::RequestType = REQUEST_TYPE

◆ SessionType

template<typename SESSION_TYPE, typename REQUEST_TYPE, typename SERVICE_TYPE>
using WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE >::SessionType = SESSION_TYPE

Constructor & Destructor Documentation

◆ WsfXIO_SessionServiceT()

template<typename SESSION_TYPE, typename REQUEST_TYPE, typename SERVICE_TYPE>
WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE >::WsfXIO_SessionServiceT ( WsfXIO_Interface * aInterfacePtr)
inline

Member Function Documentation

◆ AddRequiredPlatform()

template<typename SESSION_TYPE, typename REQUEST_TYPE, typename SERVICE_TYPE>
void WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE >::AddRequiredPlatform ( WsfPlatform & aPlatform,
WsfXIO_Subscription * aSubscriptionPtr )
inline

◆ CreateSubscription()

template<typename SESSION_TYPE, typename REQUEST_TYPE, typename SERVICE_TYPE>
WsfXIO_Subscription * WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE >::CreateSubscription ( RequestType & aRequest)
inline

Create a subscription from a request.

References WsfXIO_Subscription::GetId().

◆ FindSubscription()

template<typename SESSION_TYPE, typename REQUEST_TYPE, typename SERVICE_TYPE>
WsfXIO_Subscription * WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE >::FindSubscription ( WsfXIO_Connection * aConnectionPtr,
int aSubscriptionId )
inline

◆ GetRequests()

template<typename SESSION_TYPE, typename REQUEST_TYPE, typename SERVICE_TYPE>
const RequestMapT & WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE >::GetRequests ( ) const
inlineprotected

◆ SubscriptionCancelled()

template<typename SESSION_TYPE, typename REQUEST_TYPE, typename SERVICE_TYPE>
virtual void WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE >::SubscriptionCancelled ( WsfXIO_Subscription * aSubscriptionPtr)
inlineprotectedvirtual

◆ SubscriptionCancelledT()

template<typename SESSION_TYPE, typename REQUEST_TYPE, typename SERVICE_TYPE>
virtual void WsfXIO_SessionServiceT< SESSION_TYPE, REQUEST_TYPE, SERVICE_TYPE >::SubscriptionCancelledT ( WsfXIO_Subscription * aSubscriptionPtr,
SessionType & aSession )
inlinevirtual

Called when a subscription has been canceled May be called due to lost connection, destroyed simulation entity, or cancellation request

Referenced by SubscriptionCancelled().


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