]> git.mxchange.org Git - simgear.git/blobdiff - simgear/hla/HLAObjectClass.hxx
hla: Remove HLADataElement::Path based attribute handling.
[simgear.git] / simgear / hla / HLAObjectClass.hxx
index ba6ee5c911cf632c10cd3c5202b4614c9c46156a..f4453c7c47553abbe714c465566358e9eac383a5 100644 (file)
@@ -72,10 +72,9 @@ public:
     /// Sets the publication type of the attribute with the given index to publicationType
     void setAttributePublicationType(unsigned index, HLAPublicationType publicationType);
 
-    /// Return the index, path pair for the given string path pair
-    HLADataElement::IndexPathPair getIndexPathPair(const HLADataElement::StringPathPair&) const;
-    /// 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 +99,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;
@@ -121,6 +125,9 @@ public:
     /// Create a new instance of this class.
     virtual HLAObjectInstance* createObjectInstance(const std::string& name);
 
+    virtual void createAttributeDataElements(HLAObjectInstance& objectInstance);
+    virtual HLADataElement* createAttributeDataElement(HLAObjectInstance& objectInstance, unsigned index);
+
 private:
     HLAObjectClass(const HLAObjectClass&);
     HLAObjectClass& operator=(const HLAObjectClass&);