]> git.mxchange.org Git - simgear.git/blobdiff - simgear/hla/RTI13Federate.hxx
hla: Use HLADataElementIndices for HLAInteractionClass.
[simgear.git] / simgear / hla / RTI13Federate.hxx
index 651756edb36e9ff4902df0bdb3241d2c3e80e7d7..ac6c5855e47ad566e8dc1609b886d0b201414081 100644 (file)
@@ -25,6 +25,7 @@
 #include <RTI.hh>
 
 #include "RTIFederate.hxx"
+#include "RTI13InteractionClass.hxx"
 #include "RTI13ObjectClass.hxx"
 #include "RTI13ObjectInstance.hxx"
 
@@ -45,6 +46,7 @@ public:
     /// Join with federateName the federation execution 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);
@@ -64,6 +66,7 @@ public:
 
     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);
@@ -75,7 +78,12 @@ public:
     virtual bool processMessage();
     virtual bool processMessages(const double& minimum, const double& maximum);
 
+    // helper functions for the above
+    bool _tick();
+    bool _tick(const double& minimum, const double& maximum);
+
     virtual RTI13ObjectClass* createObjectClass(const std::string& name, HLAObjectClass* hlaObjectClass);
+    virtual RTI13InteractionClass* createInteractionClass(const std::string& name, HLAInteractionClass* interactionClass);
 
     virtual RTI13ObjectInstance* getObjectInstance(const std::string& name);
     void insertObjectInstance(RTI13ObjectInstance* objectInstance);