]> git.mxchange.org Git - simgear.git/blobdiff - simgear/hla/HLAObjectClass.hxx
hla: Use HLADataElementIndices for HLAInteractionClass.
[simgear.git] / simgear / hla / HLAObjectClass.hxx
index 6a04f4a12f2ecb41b6ca5471316028e21de344a2..97596d40a837b173132c344da31c3d0397cef789 100644 (file)
@@ -77,6 +77,10 @@ public:
     /// Return the index, path pair for the given string path
     HLADataElement::IndexPathPair getIndexPathPair(const std::string& path) const;
 
+    /// Get the attribute data element index for the given path, return true if successful
+    bool getDataElementIndex(HLADataElementIndex& dataElementIndex, const std::string& path) const;
+    HLADataElementIndex getDataElementIndex(const std::string& path) const;
+
     virtual bool subscribe();
     virtual bool unsubscribe();
 
@@ -100,6 +104,11 @@ public:
     const SGSharedPtr<InstanceCallback>& getInstanceCallback() const
     { return _instanceCallback; }
 
+    virtual void discoverInstance(HLAObjectInstance& objectInstance, const RTIData& tag);
+    virtual void removeInstance(HLAObjectInstance& objectInstance, const RTIData& tag);
+    virtual void registerInstance(HLAObjectInstance& objectInstance);
+    virtual void deleteInstance(HLAObjectInstance& objectInstance);
+
     // Is called by the default registration callback if installed
     // Should register the already known object instances of this class.
     virtual void startRegistration() const;
@@ -120,7 +129,9 @@ public:
 
     /// Create a new instance of this class.
     virtual HLAObjectInstance* createObjectInstance(const std::string& name);
-    virtual HLAObjectInstance* createObjectInstance(); // deprecated
+
+    virtual void createAttributeDataElements(HLAObjectInstance& objectInstance);
+    virtual HLADataElement* createAttributeDataElement(HLAObjectInstance& objectInstance, unsigned index);
 
 private:
     HLAObjectClass(const HLAObjectClass&);