| 24 | cmVariableWatch::~cmVariableWatch() = default; |
| 25 | |
| 26 | bool cmVariableWatch::AddWatch(std::string const& variable, WatchMethod method, |
| 27 | void* client_data /*=0*/, |
| 28 | DeleteData delete_data /*=0*/) |
| 29 | { |
| 30 | auto p = std::make_shared<cmVariableWatch::Pair>(); |
| 31 | p->Method = method; |
| 32 | p->ClientData = client_data; |
| 33 | p->DeleteDataCall = delete_data; |
| 34 | cmVariableWatch::VectorOfPairs& vp = this->WatchMap[variable]; |
| 35 | for (auto& pair : vp) { |
| 36 | if (pair->Method == method && client_data && |
| 37 | client_data == pair->ClientData) { |
| 38 | // Callback already exists |
| 39 | return false; |
| 40 | } |
| 41 | } |
| 42 | vp.push_back(std::move(p)); |
| 43 | return true; |
| 44 | } |
| 45 | |
| 46 | void cmVariableWatch::RemoveWatch(std::string const& variable, |
| 47 | WatchMethod method, void* client_data /*=0*/) |
no test coverage detected