]> git.mxchange.org Git - simgear.git/blobdiff - simgear/hla/RTI13Federate.hxx
cppbind: automatic conversion of SGReferenced derived pointers.
[simgear.git] / simgear / hla / RTI13Federate.hxx
index 651756edb36e9ff4902df0bdb3241d2c3e80e7d7..9f6373712c5b1cfeebf18a62f60d00ba470b6276 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);
@@ -72,10 +75,15 @@ public:
     virtual bool queryLITS(SGTimeStamp& timeStamp);
 
     /// Process messages
-    virtual bool processMessage();
-    virtual bool processMessages(const double& minimum, const double& maximum);
+    virtual ProcessMessageResult processMessage();
+    virtual ProcessMessageResult processMessages(const double& minimum, const double& maximum);
+
+    // helper functions for the above
+    ProcessMessageResult _tick();
+    ProcessMessageResult _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);