]> git.mxchange.org Git - simgear.git/blobdiff - simgear/hla/HLAFixedRecordDataType.hxx
HTTP terra sync: fix hash cache handling
[simgear.git] / simgear / hla / HLAFixedRecordDataType.hxx
index 17c32ac4151586e08a7b8cfba10b118dc2c07a36..5858c792285ad1f5880bace239ef3aba98c6be24 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2009 - 2010  Mathias Froehlich - Mathias.Froehlich@web.de
+// Copyright (C) 2009 - 2012  Mathias Froehlich - Mathias.Froehlich@web.de
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Library General Public
@@ -36,6 +36,8 @@ public:
 
     virtual const HLAFixedRecordDataType* toFixedRecordDataType() const;
 
+    virtual void releaseDataTypeReferences();
+
     virtual bool decode(HLADecodeStream& stream, HLAAbstractFixedRecordDataElement& value) const;
     virtual bool encode(HLAEncodeStream& stream, const HLAAbstractFixedRecordDataElement& value) const;
 
@@ -67,6 +69,9 @@ public:
 
     void addField(const std::string& name, const HLADataType* dataType);
 
+protected:
+    virtual void _recomputeAlignmentImplementation();
+
 private:
     struct Field {
         Field(const std::string& name, const HLADataType* dataType) :
@@ -76,6 +81,8 @@ private:
 
         const HLADataType* getDataType() const
         { return _dataType.get(); }
+        void releaseDataTypeReferences()
+        { _dataType = 0; }
 
     private:
         std::string _name;