X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fhla%2FHLAArrayDataType.hxx;h=87be38517b7c34aad14c48391d283cf171350a80;hb=201cb61f842ef50a19438e3872ba22e588fa1afc;hp=a38f05bcaae88c53399204e2aedb29877164e59e;hpb=08cb2039c53cff49e93e621621a9796b1c43f574;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