/// Return the name of this object class
const std::string& getName() const;
+ /// return the federate this class belongs to
+ const SGWeakPtr<HLAFederate>& getFederate() const;
+
/// Return the number of attributes in this object class
unsigned getNumAttributes() const;
/// 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();
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;
/// 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&);