X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fhla%2FHLAFixedRecordDataType.hxx;h=5858c792285ad1f5880bace239ef3aba98c6be24;hb=aa679ffb86390a7f17ec776e52e5dcf9494b04b1;hp=17c32ac4151586e08a7b8cfba10b118dc2c07a36;hpb=44ff23b227dcc1f3efbd10a4df4d8b723165c11c;p=simgear.git diff --git a/simgear/hla/HLAFixedRecordDataType.hxx b/simgear/hla/HLAFixedRecordDataType.hxx index 17c32ac4..5858c792 100644 --- a/simgear/hla/HLAFixedRecordDataType.hxx +++ b/simgear/hla/HLAFixedRecordDataType.hxx @@ -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;