X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fhla%2FHLAObjectClass.hxx;h=f4453c7c47553abbe714c465566358e9eac383a5;hb=9fd90e26f7da96ec968ad22dc20fc0041bc02136;hp=ba6ee5c911cf632c10cd3c5202b4614c9c46156a;hpb=d4db4fcac304c44e97d8db51f94cd25117b3956d;p=simgear.git diff --git a/simgear/hla/HLAObjectClass.hxx b/simgear/hla/HLAObjectClass.hxx index ba6ee5c9..f4453c7c 100644 --- a/simgear/hla/HLAObjectClass.hxx +++ b/simgear/hla/HLAObjectClass.hxx @@ -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& 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&);