29 template class ::IceInternal::Handle<::armarx::DataFieldIdentifier>;
33 DataFieldIdentifier::DataFieldIdentifier(std::string dataFieldIdentifierStr)
35 const std::string tmpStr = dataFieldIdentifierStr +
"..";
37 const size_t pos1 = tmpStr.find_first_of(
".") + 1;
38 const size_t pos2 = tmpStr.find_first_of(
".", pos1);
39 observerName = tmpStr.substr(0, pos1 - 1);
40 channelName = tmpStr.substr(pos1, pos2 - pos1);
41 if (pos2 < dataFieldIdentifierStr.size())
44 datafieldName = dataFieldIdentifierStr.substr(pos2 + 1);
48 DataFieldIdentifier::DataFieldIdentifier(std::string observerName, std::string channelName, std::string datafieldName)
50 this->observerName = observerName;
51 this->channelName = channelName;
52 this->datafieldName = datafieldName;
56 std::string DataFieldIdentifier::getIdentifierStr()
const
58 return observerName +
"." + channelName +
"." + datafieldName;
63 std::string thisStr = getIdentifierStr();
66 return (thisStr.compare(otherStr) == 0);
71 std::string thisStr = getIdentifierStr();
74 return (thisStr.compare(0, otherStr.length(), otherStr) == 0);