WSF
WsfExchange::Transactor Class Reference

#include <WsfExchange.hpp>

Inheritance diagram for WsfExchange::Transactor:
Collaboration diagram for WsfExchange::Transactor:

Public Member Functions

 Transactor ()
 ~Transactor () override
bool Initialize (double aSimTime, WsfExchangeProcessor *aProcessorPtr)
WsfSimulationGetSimulation () const
bool IsReady () const
bool IsInProgress () const
bool ContinueToOffer () const
bool AlwaysHonorRate () const
bool IsEnabled () const
bool IsOfferor () const
bool IsRequester () const
bool IsHookedToFuel () const
bool IsHookedToPayload () const
bool IsExclusiveHook () const
WsfStringId ContainerNameId () const
ContainerContainerPtr ()
const ContainerContainerPtr () const
double TimeOutClockInterval () const
std::string OwningPlatformName () const
std::string OppositePlatformName () const
std::string RequestorPlatformName () const
std::string ResponderPlatformName () const
std::string MyFullName () const
bool RequestFrom (double aSimTime, const WsfPlatform *aSupplierPtr, const Tender &aTender)
void Cancel (double aSimTime)
bool DebugEnabled () const
bool IsService () const
void DebugDump (double aSimTime, const Query &aQuery, ut::log::MessageStream &aMessageStream) const
void SetIsOfferor (bool aValue)
void SetContinueToOffer (bool aValue)
void SetIsHookedToPayload (bool aValue)
void SetIsHookedToFuel (bool aValue)
void SetTimeOutClockInterval (double aValue)
void SetProximityLimit (double aValue)
double ProximityLimit () const
QueryGetQuery ()
QueryGetQueryPtr ()
const QueryGetQuery () const
bool ProcessInput (UtInput &aInput)
bool ExchangeQueried (double aSimTime, const Query &aQuery)
void TakeQueuedAction (double aSimTime, unsigned int aRequestId, bool aIsTimeOut)
bool ReserveAll (double aSimTime)
bool ReserveTender (double aSimTime, const Tender &aTender)
bool ReserveFor (double aSimTime, const Tender &aTender, WsfPlatform *aReceiverPtr)
void ResetUserAmounts ()
bool IsInConflictWith (const Transactor &aRhs) const
bool SetDesiredTender (const Tender &aTender)
bool SetOfferedTender (const Tender &aTender)
void Disable ()
const char * GetScriptClassName () const
Public Member Functions inherited from WsfNamed
 WsfNamed ()
 WsfNamed (WsfStringId aName)
 WsfNamed (const WsfNamed &)=default
WsfNamedoperator= (const WsfNamed &)=default
virtual ~WsfNamed ()=default
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)

Static Public Member Functions

static bool IsState (WsfStringId aState)
static bool IsEvent (WsfStringId aEventId)
static bool LoadInstance (UtInput &aInput, Transactor *&aInstancePtr)
static unsigned int NextSerialRequestId ()
static void ResetNextSerialRequestId ()

Detailed Description

Transactor of goods or services. Identifies the potential platforms involved in the exchange. A unique RequestId is held to distinguish this among a number of Transactions that may be going on simultaneously. Note that this Transactor does not "own" the produce or service, as it is stored in the Container. But as a broker, he is allowed to commit and hold a particular quantity for the transaction being considered at the moment.

Constructor & Destructor Documentation

◆ Transactor()

WsfExchange::Transactor::Transactor ( )

◆ ~Transactor()

WsfExchange::Transactor::~Transactor ( )
override

Member Function Documentation

◆ AlwaysHonorRate()

bool WsfExchange::Transactor::AlwaysHonorRate ( ) const
inline

◆ Cancel()

void WsfExchange::Transactor::Cancel ( double aSimTime)

Referenced by TakeQueuedAction().

◆ ContainerNameId()

WsfStringId WsfExchange::Transactor::ContainerNameId ( ) const
inline

◆ ContainerPtr() [1/2]

Container * WsfExchange::Transactor::ContainerPtr ( )
inline

Referenced by RequestFrom().

◆ ContainerPtr() [2/2]

const Container * WsfExchange::Transactor::ContainerPtr ( ) const
inline

◆ ContinueToOffer()

bool WsfExchange::Transactor::ContinueToOffer ( ) const
inline

◆ DebugDump()

void WsfExchange::Transactor::DebugDump ( double aSimTime,
const Query & aQuery,
ut::log::MessageStream & aMessageStream ) const

◆ DebugEnabled()

bool WsfExchange::Transactor::DebugEnabled ( ) const

◆ Disable()

void WsfExchange::Transactor::Disable ( )

References simTime.

Referenced by ResetUserAmounts().

◆ ExchangeQueried()

◆ GetQuery() [1/2]

◆ GetQuery() [2/2]

const Query & WsfExchange::Transactor::GetQuery ( ) const
inline

◆ GetQueryPtr()

Query * WsfExchange::Transactor::GetQueryPtr ( )
inline

◆ GetScriptClassName()

const char * WsfExchange::Transactor::GetScriptClassName ( ) const

References RequestFrom(), and Transactor().

◆ GetSimulation()

WsfSimulation * WsfExchange::Transactor::GetSimulation ( ) const

◆ Initialize()

◆ IsEnabled()

bool WsfExchange::Transactor::IsEnabled ( ) const
inline

◆ IsEvent()

◆ IsExclusiveHook()

bool WsfExchange::Transactor::IsExclusiveHook ( ) const
inline

◆ IsHookedToFuel()

bool WsfExchange::Transactor::IsHookedToFuel ( ) const
inline

◆ IsHookedToPayload()

bool WsfExchange::Transactor::IsHookedToPayload ( ) const
inline

◆ IsInConflictWith()

bool WsfExchange::Transactor::IsInConflictWith ( const Transactor & aRhs) const

References WsfNamed::GetNameId(), and Transactor().

Referenced by ResetUserAmounts().

◆ IsInProgress()

bool WsfExchange::Transactor::IsInProgress ( ) const
inline

◆ IsOfferor()

bool WsfExchange::Transactor::IsOfferor ( ) const
inline

Referenced by RequestFrom(), and ReserveTender().

◆ IsReady()

bool WsfExchange::Transactor::IsReady ( ) const
inline

◆ IsRequester()

bool WsfExchange::Transactor::IsRequester ( ) const
inline

◆ IsService()

bool WsfExchange::Transactor::IsService ( ) const
inline

Referenced by Initialize(), and RequestFrom().

◆ IsState()

◆ LoadInstance()

bool WsfExchange::Transactor::LoadInstance ( UtInput & aInput,
Transactor *& aInstancePtr )
static

◆ MyFullName()

std::string WsfExchange::Transactor::MyFullName ( ) const

References WsfNamed::GetName(), and WsfObject::GetName().

Referenced by DebugDump(), and Initialize().

◆ NextSerialRequestId()

unsigned int WsfExchange::Transactor::NextSerialRequestId ( )
static

◆ OppositePlatformName()

std::string WsfExchange::Transactor::OppositePlatformName ( ) const

◆ OwningPlatformName()

std::string WsfExchange::Transactor::OwningPlatformName ( ) const

◆ ProcessInput()

bool WsfExchange::Transactor::ProcessInput ( UtInput & aInput)

◆ ProximityLimit()

double WsfExchange::Transactor::ProximityLimit ( ) const
inline

◆ RequestFrom()

◆ RequestorPlatformName()

std::string WsfExchange::Transactor::RequestorPlatformName ( ) const

◆ ReserveAll()

bool WsfExchange::Transactor::ReserveAll ( double aSimTime)

References ReserveTender().

◆ ReserveFor()

bool WsfExchange::Transactor::ReserveFor ( double aSimTime,
const Tender & aTender,
WsfPlatform * aReceiverPtr )

◆ ReserveTender()

bool WsfExchange::Transactor::ReserveTender ( double aSimTime,
const Tender & aTender )

◆ ResetNextSerialRequestId()

void WsfExchange::Transactor::ResetNextSerialRequestId ( )
static

◆ ResetUserAmounts()

void WsfExchange::Transactor::ResetUserAmounts ( )

◆ ResponderPlatformName()

std::string WsfExchange::Transactor::ResponderPlatformName ( ) const

◆ SetContinueToOffer()

void WsfExchange::Transactor::SetContinueToOffer ( bool aValue)
inline

◆ SetDesiredTender()

bool WsfExchange::Transactor::SetDesiredTender ( const Tender & aTender)

◆ SetIsHookedToFuel()

void WsfExchange::Transactor::SetIsHookedToFuel ( bool aValue)
inline

◆ SetIsHookedToPayload()

void WsfExchange::Transactor::SetIsHookedToPayload ( bool aValue)
inline

◆ SetIsOfferor()

void WsfExchange::Transactor::SetIsOfferor ( bool aValue)
inline

◆ SetOfferedTender()

◆ SetProximityLimit()

void WsfExchange::Transactor::SetProximityLimit ( double aValue)
inline

◆ SetTimeOutClockInterval()

void WsfExchange::Transactor::SetTimeOutClockInterval ( double aValue)
inline

◆ TakeQueuedAction()

void WsfExchange::Transactor::TakeQueuedAction ( double aSimTime,
unsigned int aRequestId,
bool aIsTimeOut )

◆ TimeOutClockInterval()

double WsfExchange::Transactor::TimeOutClockInterval ( ) const
inline

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