12#ifndef WSFEXCHANGEPROCESSOR_HPP
13#define WSFEXCHANGEPROCESSOR_HPP
18#include "UtCallbackHolder.hpp"
20#include "wsf_export.h"
83 static UtScriptClass*
CreateScriptClass(
const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
93 double aProximityLimit = std::numeric_limits<double>::max());
127 std::vector<WsfExchange::Transactor> mTransactors;
128 std::vector<CommodityCapability> mCapabilityPairs;
129 std::vector<Supplier> mKnownSuppliers;
130 std::vector<WsfExchange::Container> mContainers;
131 UtCallbackHolder mCallbacks;
132 bool mIgnoreProxChecks;
133 bool mAllTransAreInstant;
134 UtScript* mOnTransactionCompleteScriptPtr;
135 UtScript* mOnRequestFailedScriptPtr;
136 UtScriptClass* mTransactorClassPtr;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
WsfExchangeProcessor(WsfScenario &aScenario)
Definition WsfExchangeProcessor.cpp:53
std::vector< size_t > PayloadProviders()
Definition WsfExchangeProcessor.cpp:715
void ExchangeRequestFailed(double aSimTime, const WsfExchange::Transactor &aTransactor, const WsfExchange::Query &aQuery)
Definition WsfExchangeProcessor.cpp:239
void ExchangeNegotiated(double aSimTime, const WsfExchange::Query &aQuery)
WsfExchangeProcessor & operator=(const WsfExchangeProcessor &)=delete
static UtScriptClass * CreateScriptClass(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfExchangeProcessor.cpp:47
void SetSupplierAbility(size_t aPlatformIndex, WsfExchange::CapabilityType aCapabilityType, bool aIsCapable)
Definition WsfExchangeProcessor.cpp:356
void PlatformCapabilityChanged(double aSimTime, WsfPlatform *aPlatformPtr, WsfStringId aCapabilityId, bool aIsCapable)
Definition WsfExchangeProcessor.cpp:678
void ExchangeQueried(double aSimTime, const WsfExchange::Query &aQuery)
Definition WsfExchangeProcessor.cpp:212
std::vector< size_t > VehicleRepairers()
Definition WsfExchangeProcessor.cpp:743
std::vector< size_t > FuelProviders()
Definition WsfExchangeProcessor.cpp:729
WsfPlatform * ClosestPossibleProvider(WsfStringId aCommodityOrServiceId, double aProximityLimit=std::numeric_limits< double >::max())
Definition WsfExchangeProcessor.cpp:424
bool AddCapability(WsfStringId aCommodityTypeId)
std::vector< size_t > VehicleRecoverers()
Definition WsfExchangeProcessor.cpp:757
void ExchangeCompleted(double aSimTime, const WsfExchange::Transactor &aTransactor, const WsfExchange::Query &aQuery)
Definition WsfExchangeProcessor.cpp:281
bool ForceTransactionsInstantaneous() const
Definition WsfExchangeProcessor.hpp:58
void RemoveSupplier(size_t aPlatformIndex)
Definition WsfExchangeProcessor.cpp:342
bool IgnoreAllProximityChecks() const
Definition WsfExchangeProcessor.hpp:57
Definition WsfExchange.hpp:312
Callback Query class.
Definition WsfExchange.hpp:164
Definition WsfExchange.hpp:356
WsfProcessor(const WsfScenario &aScenario)
Definition WsfProcessor.cpp:25
const char * GetScriptClassName() const override
Definition WsfProcessor.cpp:63
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
UT_DECLARE_SCRIPT_METHOD(FuelProviders)
UT_DECLARE_SCRIPT_METHOD(ClosestPossibleProvider)
UT_DECLARE_SCRIPT_METHOD(PayloadProviders)
UT_DECLARE_SCRIPT_METHOD(VehicleRecoverers)
UT_DECLARE_SCRIPT_METHOD(FindTransactor)
UT_DECLARE_SCRIPT_METHOD(VehicleRepairers)
WsfScriptExchangeProcessorClass(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfExchangeProcessor.cpp:811
UT_DECLARE_SCRIPT_METHOD(FindContainer)
WsfScriptProcessorClass(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfScriptProcessorClass.cpp:31
WsfProcessor * Clone() const override
Definition WsfScriptProcessor.cpp:97
WsfScriptProcessor(const WsfScenario &aScenario)
Definition WsfScriptProcessor.cpp:30
bool Initialize(double aSimTime) override
Definition WsfScriptProcessor.cpp:104
bool ProcessInput(UtInput &aInput) override
Definition WsfScriptProcessor.cpp:186
CapabilityType
Definition WsfExchange.hpp:278
@ cNO_CAPABILITY
Definition WsfExchange.hpp:286
WsfStringId mCommodityTypeId
Definition WsfExchangeProcessor.hpp:105
CommodityCapability(WsfStringId aCommodityTypeId, WsfExchange::CapabilityType aCapability)
Definition WsfExchangeProcessor.hpp:99
WsfExchange::CapabilityType mCapability
Definition WsfExchangeProcessor.hpp:106
bool mAbilities[WsfExchange::cNO_CAPABILITY]
Definition WsfExchangeProcessor.hpp:117
void Nullify()
Definition WsfExchangeProcessor.cpp:783
Supplier(size_t aPlatformIndex)
Definition WsfExchangeProcessor.cpp:776
bool IsCapableOf(WsfExchange::CapabilityType aAbility) const
Definition WsfExchangeProcessor.cpp:802
size_t mPlatformIndex
Definition WsfExchangeProcessor.hpp:116
bool SetCapability(WsfExchange::CapabilityType aAbility, bool aIsCapable)
Definition WsfExchangeProcessor.cpp:793