X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fhla%2FRTI13Federate.hxx;h=651756edb36e9ff4902df0bdb3241d2c3e80e7d7;hb=f665431132c2302cfd2acf7e294b4161da5b1448;hp=6f3b9b03b0802fe733223c6014641f429c696823;hpb=bd999ca090853e68acb7b0f4aab3d875afd8c010;p=simgear.git diff --git a/simgear/hla/RTI13Federate.hxx b/simgear/hla/RTI13Federate.hxx index 6f3b9b03..651756ed 100644 --- a/simgear/hla/RTI13Federate.hxx +++ b/simgear/hla/RTI13Federate.hxx @@ -37,36 +37,43 @@ public: RTI13Federate(const std::list& stringList); virtual ~RTI13Federate(); - virtual bool createFederationExecution(const std::string& federation, const std::string& objectModel); - virtual bool destroyFederationExecution(const std::string& federation); + /// Create a federation execution + /// Semantically this methods should be static, + virtual FederationManagementResult createFederationExecution(const std::string& federation, const std::string& objectModel); + virtual FederationManagementResult destroyFederationExecution(const std::string& federation); /// Join with federateName the federation execution federation - virtual bool join(const std::string& federateType, const std::string& federation); + virtual FederationManagementResult join(const std::string& federateType, const std::string& federation); virtual bool resign(); /// Synchronization Point handling virtual bool registerFederationSynchronizationPoint(const std::string& label, const RTIData& tag); - virtual bool waitForFederationSynchronizationPointAnnounced(const std::string& label); + virtual bool getFederationSynchronizationPointAnnounced(const std::string& label); virtual bool synchronizationPointAchieved(const std::string& label); - virtual bool waitForFederationSynchronized(const std::string& label); + virtual bool getFederationSynchronized(const std::string& label); /// Time management virtual bool enableTimeConstrained(); virtual bool disableTimeConstrained(); + virtual bool getTimeConstrainedEnabled(); virtual bool enableTimeRegulation(const SGTimeStamp& lookahead); virtual bool disableTimeRegulation(); + virtual bool modifyLookahead(const SGTimeStamp& timeStamp); + virtual bool getTimeRegulationEnabled(); - virtual bool timeAdvanceRequestBy(const SGTimeStamp& dt); - virtual bool timeAdvanceRequest(const SGTimeStamp& fedTime); + virtual bool timeAdvanceRequest(const SGTimeStamp& timeStamp); + virtual bool timeAdvanceRequestAvailable(const SGTimeStamp& timeStamp); + virtual bool getTimeAdvancePending(); virtual bool queryFederateTime(SGTimeStamp& timeStamp); - virtual bool modifyLookahead(const SGTimeStamp& timeStamp); virtual bool queryLookahead(SGTimeStamp& timeStamp); + virtual bool queryGALT(SGTimeStamp& timeStamp); + virtual bool queryLITS(SGTimeStamp& timeStamp); /// Process messages - virtual bool tick(); - virtual bool tick(const double& minimum, const double& maximum); + virtual bool processMessage(); + virtual bool processMessages(const double& minimum, const double& maximum); virtual RTI13ObjectClass* createObjectClass(const std::string& name, HLAObjectClass* hlaObjectClass); @@ -81,10 +88,6 @@ private: RTI::FederateHandle _federateHandle; bool _joined; - /// The timeout for the single callback tick function in - /// syncronous operations that need to wait for a callback - double _tickTimeout; - /// RTI connection SGSharedPtr _ambassador;