28 template class ::IceInternal::Handle<::armarx::DataFieldIdentifier>;
32 DataFieldIdentifier::DataFieldIdentifier(std::string dataFieldIdentifierStr)
34 const std::string tmpStr = dataFieldIdentifierStr +
"..";
36 const size_t pos1 = tmpStr.find_first_of(
".") + 1;
37 const size_t pos2 = tmpStr.find_first_of(
".", pos1);
38 observerName = tmpStr.substr(0, pos1 - 1);
39 channelName = tmpStr.substr(pos1, pos2 - pos1);
40 if (pos2 < dataFieldIdentifierStr.size())
43 datafieldName = dataFieldIdentifierStr.substr(pos2 + 1);
47 DataFieldIdentifier::DataFieldIdentifier(std::string observerName,
48 std::string channelName,
49 std::string datafieldName)
51 this->observerName = observerName;
52 this->channelName = channelName;
53 this->datafieldName = datafieldName;
57 DataFieldIdentifier::getIdentifierStr()
const
59 return observerName +
"." + channelName +
"." + datafieldName;
65 std::string thisStr = getIdentifierStr();
68 return (thisStr.compare(otherStr) == 0);
74 std::string thisStr = getIdentifierStr();
77 return (thisStr.compare(0, otherStr.length(), otherStr) == 0);