hla: detect string and opaque data types.
This commit is contained in:
parent
7ffc84fb86
commit
d951a55be0
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2009 - 2010 Mathias Froehlich - Mathias.Froehlich@web.de
|
||||
// Copyright (C) 2009 - 2011 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
|
||||
@ -22,7 +22,9 @@
|
||||
namespace simgear {
|
||||
|
||||
HLAArrayDataType::HLAArrayDataType(const std::string& name) :
|
||||
HLADataType(name)
|
||||
HLADataType(name),
|
||||
_isOpaque(false),
|
||||
_isString(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -51,6 +53,18 @@ HLAArrayDataType::setElementDataType(const HLADataType* elementDataType)
|
||||
_elementDataType = elementDataType;
|
||||
}
|
||||
|
||||
void
|
||||
HLAArrayDataType::setIsOpaque(bool isOpaque)
|
||||
{
|
||||
_isOpaque = isOpaque;
|
||||
}
|
||||
|
||||
void
|
||||
HLAArrayDataType::setIsString(bool isString)
|
||||
{
|
||||
_isString = isString;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
HLAFixedArrayDataType::HLAFixedArrayDataType(const std::string& name) :
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2009 - 2010 Mathias Froehlich - Mathias.Froehlich@web.de
|
||||
// Copyright (C) 2009 - 2011 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
|
||||
@ -42,8 +42,18 @@ public:
|
||||
const HLADataType* getElementDataType() const
|
||||
{ return _elementDataType.get(); }
|
||||
|
||||
void setIsOpaque(bool isOpaque);
|
||||
bool getIsOpaque() const
|
||||
{ return _isOpaque; }
|
||||
|
||||
void setIsString(bool isString);
|
||||
bool getIsString() const
|
||||
{ return _isString; }
|
||||
|
||||
private:
|
||||
SGSharedPtr<const HLADataType> _elementDataType;
|
||||
bool _isOpaque;
|
||||
bool _isString;
|
||||
};
|
||||
|
||||
class HLAFixedArrayDataType : public HLAArrayDataType {
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2009 - 2010 Mathias Froehlich - Mathias.Froehlich@web.de
|
||||
// Copyright (C) 2009 - 2011 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
|
||||
@ -439,6 +439,15 @@ HLAOMTXmlVisitor::getArrayDataType(const std::string& dataTypeName, HLAOMTXmlVis
|
||||
}
|
||||
arrayDataType->setElementDataType(elementDataType.get());
|
||||
|
||||
// Check if this should be a string data type
|
||||
if (elementDataType->toBasicDataType()) {
|
||||
if (dataTypeName == "HLAopaqueData") {
|
||||
arrayDataType->setIsOpaque(true);
|
||||
} else if (dataTypeName.find("String") != std::string::npos || dataTypeName.find("string") != std::string::npos) {
|
||||
arrayDataType->setIsString(true);
|
||||
}
|
||||
}
|
||||
|
||||
return arrayDataType;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user