hla: Rename AttributePathPair to StringPathPair.

This way of addressing attribute data elements
should also be used for parameters. So, name it a little
more neutral.
This commit is contained in:
Mathias Froehlich 2012-02-18 16:49:17 +01:00
parent 4683e7e9c9
commit c39926dd72
4 changed files with 20 additions and 17 deletions

View File

@ -152,11 +152,11 @@ HLADataElement::toString(const Path& path)
return s; return s;
} }
HLADataElement::AttributePathPair HLADataElement::StringPathPair
HLADataElement::toAttributePathPair(const std::string& s) HLADataElement::toStringPathPair(const std::string& s)
{ {
Path path; Path path;
// Skip the initial attribute name if given // Skip the initial attribute/parameter name if given
std::string::size_type i = s.find_first_of("[."); std::string::size_type i = s.find_first_of("[.");
std::string attribute = s.substr(0, i); std::string attribute = s.substr(0, i);
while (i < s.size()) { while (i < s.size()) {
@ -171,7 +171,7 @@ HLADataElement::toAttributePathPair(const std::string& s)
if (10 <= v) { if (10 <= v) {
SG_LOG(SG_NETWORK, SG_WARN, "HLADataElement: invalid character in array subscript for \"" SG_LOG(SG_NETWORK, SG_WARN, "HLADataElement: invalid character in array subscript for \""
<< s << "\" at \"" << attribute << toString(path) << "\"!"); << s << "\" at \"" << attribute << toString(path) << "\"!");
return AttributePathPair(); return StringPathPair();
} }
index *= 10; index *= 10;
index += v; index += v;
@ -186,7 +186,7 @@ HLADataElement::toAttributePathPair(const std::string& s)
if (s.size() <= ++i) { if (s.size() <= ++i) {
SG_LOG(SG_NETWORK, SG_WARN, "HLADataElement: invalid terminating '.' for \"" SG_LOG(SG_NETWORK, SG_WARN, "HLADataElement: invalid terminating '.' for \""
<< s << "\"!"); << s << "\"!");
return AttributePathPair(); return StringPathPair();
} }
std::string::size_type e = s.find_first_of("[.", i); std::string::size_type e = s.find_first_of("[.", i);
path.push_back(s.substr(i, e - i)); path.push_back(s.substr(i, e - i));
@ -195,7 +195,7 @@ HLADataElement::toAttributePathPair(const std::string& s)
} }
} }
return AttributePathPair(attribute, path); return StringPathPair(attribute, path);
} }
} }

View File

@ -150,15 +150,18 @@ public:
SGSharedPtr<Data> _data; SGSharedPtr<Data> _data;
}; };
typedef std::list<PathElement> Path; typedef std::list<PathElement> Path;
typedef std::pair<std::string, Path> AttributePathPair; typedef std::pair<std::string, Path> StringPathPair;
typedef StringPathPair AttributePathPair; // deprecated
typedef std::pair<unsigned, Path> IndexPathPair; typedef std::pair<unsigned, Path> IndexPathPair;
static std::string toString(const Path& path); static std::string toString(const Path& path);
static std::string toString(const AttributePathPair& path) static std::string toString(const StringPathPair& path)
{ return path.first + toString(path.second); } { return path.first + toString(path.second); }
static AttributePathPair toAttributePathPair(const std::string& s); static StringPathPair toStringPathPair(const std::string& s);
static AttributePathPair toAttributePathPair(const std::string& s) // deprecated
{ return toStringPathPair(s); }
static Path toPath(const std::string& s) static Path toPath(const std::string& s)
{ return toAttributePathPair(s).second; } { return toStringPathPair(s).second; }
private: private:
// SGSharedPtr<const TimeStamp> _timeStamp; // SGSharedPtr<const TimeStamp> _timeStamp;

View File

@ -138,22 +138,22 @@ HLAObjectClass::setAttributeUpdateType(unsigned index, HLAUpdateType updateType)
} }
HLADataElement::IndexPathPair HLADataElement::IndexPathPair
HLAObjectClass::getIndexPathPair(const HLADataElement::AttributePathPair& attributePathPair) const HLAObjectClass::getIndexPathPair(const HLADataElement::StringPathPair& stringPathPair) const
{ {
unsigned index = getAttributeIndex(attributePathPair.first); unsigned index = getAttributeIndex(stringPathPair.first);
if (getNumAttributes() <= index) { if (getNumAttributes() <= index) {
SG_LOG(SG_NETWORK, SG_ALERT, "HLAObjectClass::getIndexPathPair(\"" SG_LOG(SG_NETWORK, SG_ALERT, "HLAObjectClass::getIndexPathPair(\""
<< HLADataElement::toString(attributePathPair) << HLADataElement::toString(stringPathPair)
<< "\"): Could not resolve attribute \"" << attributePathPair.first << "\"): Could not resolve attribute \"" << stringPathPair.first
<< "\" for object class \"" << getName() << "\"!"); << "\" for object class \"" << getName() << "\"!");
} }
return HLADataElement::IndexPathPair(index, attributePathPair.second); return HLADataElement::IndexPathPair(index, stringPathPair.second);
} }
HLADataElement::IndexPathPair HLADataElement::IndexPathPair
HLAObjectClass::getIndexPathPair(const std::string& path) const HLAObjectClass::getIndexPathPair(const std::string& path) const
{ {
return getIndexPathPair(HLADataElement::toAttributePathPair(path)); return getIndexPathPair(HLADataElement::toStringPathPair(path));
} }
bool bool

View File

@ -48,7 +48,7 @@ public:
HLAUpdateType getAttributeUpdateType(unsigned index) const; HLAUpdateType getAttributeUpdateType(unsigned index) const;
void setAttributeUpdateType(unsigned index, HLAUpdateType updateType); void setAttributeUpdateType(unsigned index, HLAUpdateType updateType);
HLADataElement::IndexPathPair getIndexPathPair(const HLADataElement::AttributePathPair&) const; HLADataElement::IndexPathPair getIndexPathPair(const HLADataElement::StringPathPair&) const;
HLADataElement::IndexPathPair getIndexPathPair(const std::string& path) const; HLADataElement::IndexPathPair getIndexPathPair(const std::string& path) const;
bool subscribe(const std::set<unsigned>& indexSet, bool active); bool subscribe(const std::set<unsigned>& indexSet, bool active);