X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fhla%2FRTIFederate.hxx;h=7372ee6a388aaeda65e743c99ed4ce0640d1356c;hb=624dae59582744e5a032a28e74a37a027244dd17;hp=94d692b0d87917c714613e8b4639e6f17abe3f53;hpb=5708ec5a89ff21868068a67815cd2771b96c11c4;p=simgear.git diff --git a/simgear/hla/RTIFederate.hxx b/simgear/hla/RTIFederate.hxx index 94d692b0..7372ee6a 100644 --- a/simgear/hla/RTIFederate.hxx +++ b/simgear/hla/RTIFederate.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2009 - 2011 Mathias Froehlich - Mathias.Froehlich@web.de +// Copyright (C) 2009 - 2012 Mathias Froehlich - Mathias.Froehlich@web.de // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -20,6 +20,7 @@ #include #include "simgear/structure/SGWeakReferenced.hxx" +#include "RTIInteractionClass.hxx" #include "RTIObjectClass.hxx" #include "RTIObjectInstance.hxx" @@ -66,6 +67,7 @@ public: virtual bool timeAdvanceRequest(const SGTimeStamp& fedTime) = 0; virtual bool timeAdvanceRequestAvailable(const SGTimeStamp& timeStamp) = 0; + virtual bool flushQueueRequest(const SGTimeStamp& timeStamp) = 0; virtual bool getTimeAdvancePending() = 0; virtual bool queryFederateTime(SGTimeStamp& timeStamp) = 0; @@ -73,12 +75,18 @@ public: virtual bool queryGALT(SGTimeStamp& timeStamp) = 0; virtual bool queryLITS(SGTimeStamp& timeStamp) = 0; + enum ProcessMessageResult { + ProcessMessagePending, + ProcessMessageLast, + ProcessMessageFatal + }; + /// Process messages - virtual bool processMessage() = 0; - virtual bool processMessages(const double& minimum, const double& maximum) = 0; + virtual ProcessMessageResult processMessage() = 0; + virtual ProcessMessageResult processMessages(const double& minimum, const double& maximum) = 0; virtual RTIObjectClass* createObjectClass(const std::string& name, HLAObjectClass* hlaObjectClass) = 0; - // virtual RTIInteractionClass* createInteractionClass(const std::string& name) = 0; + virtual RTIInteractionClass* createInteractionClass(const std::string& name, HLAInteractionClass* interactionClass) = 0; virtual RTIObjectInstance* getObjectInstance(const std::string& name) = 0;