X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fhla%2FRTI13Federate.hxx;h=9b8341d2dc833d2a066b8975bc05d7b3094a3de6;hb=95ddc04a734d56d917c94e4bc952e9ac78637ba6;hp=6f3b9b03b0802fe733223c6014641f429c696823;hpb=bd999ca090853e68acb7b0f4aab3d875afd8c010;p=simgear.git diff --git a/simgear/hla/RTI13Federate.hxx b/simgear/hla/RTI13Federate.hxx index 6f3b9b03..9b8341d2 100644 --- a/simgear/hla/RTI13Federate.hxx +++ b/simgear/hla/RTI13Federate.hxx @@ -37,36 +37,45 @@ 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(); + virtual bool getJoined() const; /// 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 flushQueueRequest(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 +90,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;