X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fhla%2FHLAArrayDataType.hxx;h=87be38517b7c34aad14c48391d283cf171350a80;hb=da6b395008a9b22c8e1ca1a1fcbf21d688a5a185;hp=a38f05bcaae88c53399204e2aedb29877164e59e;hpb=d951a55be0b032350e04d68d561bb21dfa69ec87;p=simgear.git diff --git a/simgear/hla/HLAArrayDataType.hxx b/simgear/hla/HLAArrayDataType.hxx index a38f05bc..87be3851 100644 --- a/simgear/hla/HLAArrayDataType.hxx +++ b/simgear/hla/HLAArrayDataType.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2009 - 2011 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 @@ -35,6 +35,8 @@ public: virtual const HLAArrayDataType* toArrayDataType() const; + virtual void releaseDataTypeReferences(); + virtual bool decode(HLADecodeStream& stream, HLAAbstractArrayDataElement& value) const = 0; virtual bool encode(HLAEncodeStream& stream, const HLAAbstractArrayDataElement& value) const = 0; @@ -50,6 +52,9 @@ public: bool getIsString() const { return _isString; } +protected: + virtual void _recomputeAlignmentImplementation(); + private: SGSharedPtr _elementDataType; bool _isOpaque; @@ -85,12 +90,15 @@ public: virtual bool decode(HLADecodeStream& stream, HLAAbstractArrayDataElement& value) const; virtual bool encode(HLAEncodeStream& stream, const HLAAbstractArrayDataElement& value) const; - void setSizeDataType(const HLADataType* sizeDataType); - const HLADataType* getSizeDataType() const + void setSizeDataType(const HLABasicDataType* sizeDataType); + const HLABasicDataType* getSizeDataType() const { return _sizeDataType.get(); } +protected: + virtual void _recomputeAlignmentImplementation(); + private: - SGSharedPtr _sizeDataType; + SGSharedPtr _sizeDataType; }; } // namespace simgear