OSVR Framework (Internal Development Docs)  0.6-1962-g59773924
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
PathTreeObserver.cpp
Go to the documentation of this file.
1 
11 // Copyright 2015 Sensics, Inc.
12 //
13 // Licensed under the Apache License, Version 2.0 (the "License");
14 // you may not use this file except in compliance with the License.
15 // You may obtain a copy of the License at
16 //
17 // http://www.apache.org/licenses/LICENSE-2.0
18 //
19 // Unless required by applicable law or agreed to in writing, software
20 // distributed under the License is distributed on an "AS IS" BASIS,
21 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 // See the License for the specific language governing permissions and
23 // limitations under the License.
24 
25 // Internal Includes
27 
28 // Library/third-party includes
29 // - none
30 
31 // Standard includes
32 // - none
33 
34 namespace osvr {
35 namespace common {
36 
37  void PathTreeObserver::notifyEvent(
38  PathTreeEvents e, PathTreeObserver::callback_argument arg) const {
39  auto it = m_handlers.find(e);
40  if (end(m_handlers) != it) {
41  auto &callback = (*it).second;
42  if (callback) {
43  callback(arg);
44  }
45  }
46  }
47 
48  void PathTreeObserver::setEventCallback(
49  PathTreeEvents e, PathTreeObserver::callback_type const &callback) {
50  m_handlers[e] = callback;
51  }
52 
53 } // namespace common
54 } // namespace osvr