WPILibC++  trunk
NetworkTableListenerAdapter.cpp
1 /*
2  * NetworkTableListenerAdapter.cpp
3  *
4  * Created on: Oct 17, 2012
5  * Author: Mitchell Wills
6  */
7 
8 #include "networktables/NetworkTableListenerAdapter.h"
9 #include "networktables/NetworkTable.h"
10 
11 
12 
13 NetworkTableListenerAdapter::NetworkTableListenerAdapter(std::string _prefix, ITable* _targetSource, ITableListener* _targetListener) :
14  prefix(_prefix), targetSource(_targetSource), targetListener(_targetListener){}
15 
16 NetworkTableListenerAdapter::~NetworkTableListenerAdapter(){}
17 
18 void NetworkTableListenerAdapter::ValueChanged(ITable* source, const std::string& key, EntryValue value, bool isNew) {//TODO use string cache
19  if(key.compare(0,prefix.size(),prefix)==0){
20  std::string relativeKey = key.substr(prefix.length());
21  if(std::string::npos != relativeKey.find(NetworkTable::PATH_SEPARATOR_CHAR))
22  return;
23  targetListener->ValueChanged(targetSource, relativeKey, value, isNew);
24  }
25 }
26 
Definition: ITable.h:26
void ValueChanged(ITable *source, const std::string &key, EntryValue value, bool isNew)
virtual void ValueChanged(ITable *source, const std::string &key, EntryValue value, bool isNew)=0
Definition: ITable.h:13