+ /// Default create function. Creates a default interaction class
+ virtual HLAInteractionClass* createInteractionClass(const std::string& name);
+
+ /// Get the object class of a given name
+ HLAObjectClass* getObjectClass(const std::string& name);
+ const HLAObjectClass* getObjectClass(const std::string& name) const;
+ /// Default create function. Creates a default object class
+ virtual HLAObjectClass* createObjectClass(const std::string& name);
+
+ /// Get the object instance of a given name
+ HLAObjectInstance* getObjectInstance(const std::string& name);
+ const HLAObjectInstance* getObjectInstance(const std::string& name) const;
+ virtual HLAObjectInstance* createObjectInstance(HLAObjectClass* objectClass, const std::string& name);
+
+ /// Tells the main exec loop to continue or not.
+ void setDone(bool done);
+ bool getDone() const;
+
+ /// The user overridable slot that is called to set up an object model
+ /// By default, depending on the set up rti version, the apropriate
+ /// bool read{RTI13,RTI1516,RTI1516E}ObjectModelTemplate(const std::string& objectModel);
+ /// method is called.
+ /// Note that the RTI13 files do not contain any information about the data types.
+ /// A user needs to set up the data types and assign them to the object classes/
+ /// interaction classes theirselves.
+ /// Past reading the object model, it is still possible to change the subscription/publication
+ /// types without introducing traffic on the backend rti.
+ virtual bool readObjectModel();
+
+ virtual bool subscribe();
+ virtual bool publish();
+
+ virtual bool init();
+ virtual bool update();
+ virtual bool shutdown();
+
+ virtual bool exec();