]> git.mxchange.org Git - simgear.git/blobdiff - simgear/hla/HLAFixedRecordDataElement.hxx
hla: Fixes for the data element index implementation.
[simgear.git] / simgear / hla / HLAFixedRecordDataElement.hxx
index d99719d0536af94ba307aaa6ce34b979b0796018..a614d619b2d06007056a0809a4cbf951d29ad8f5 100644 (file)
@@ -30,6 +30,9 @@ public:
     HLAAbstractFixedRecordDataElement(const HLAFixedRecordDataType* dataType);
     virtual ~HLAAbstractFixedRecordDataElement();
 
+    virtual void accept(HLADataElementVisitor& visitor);
+    virtual void accept(HLAConstDataElementVisitor& visitor) const;
+
     virtual bool decode(HLADecodeStream& stream);
     virtual bool encode(HLAEncodeStream& stream) const;
 
@@ -55,6 +58,12 @@ public:
     HLAFixedRecordDataElement(const HLAFixedRecordDataType* dataType);
     virtual ~HLAFixedRecordDataElement();
 
+    virtual bool setDataType(const HLADataType* dataType);
+
+    virtual bool setDataElement(HLADataElementIndex::const_iterator begin, HLADataElementIndex::const_iterator end, HLADataElement* dataElement);
+    virtual HLADataElement* getDataElement(HLADataElementIndex::const_iterator begin, HLADataElementIndex::const_iterator end);
+    virtual const HLADataElement* getDataElement(HLADataElementIndex::const_iterator begin, HLADataElementIndex::const_iterator end) const;
+
     virtual bool decodeField(HLADecodeStream& stream, unsigned i);
     virtual bool encodeField(HLAEncodeStream& stream, unsigned i) const;
 
@@ -67,6 +76,9 @@ public:
     void setField(unsigned index, HLADataElement* value);
     void setField(const std::string& name, HLADataElement* value);
 
+protected:
+    virtual void _setStamp(Stamp* stamp);
+
 private:
     typedef std::vector<SGSharedPtr<HLADataElement> > FieldVector;
     FieldVector _fieldVector;