- _serviceable_node = node->getChild("serviceable", 0, true);
- _setting_node = node->getChild("setting-inhg", 0, true);
- _press_alt_node = node->getChild("pressure-alt-ft", 0, true);
- _mode_c_node = node->getChild("mode-c-alt-ft", 0, true);
- _altitude_node = node->getChild("indicated-altitude-ft", 0, true);
-
- if (_setting_node->getDoubleValue() == 0)
- _setting_node->setDoubleValue(29.921260);
+ _serviceable_node = _rootNode->getChild("serviceable", 0, true);
+ _press_alt_node = _rootNode->getChild("pressure-alt-ft", 0, true);
+ _mode_c_node = _rootNode->getChild("mode-c-alt-ft", 0, true);
+ _altitude_node = _rootNode->getChild("indicated-altitude-ft", 0, true);
+}
+
+void
+Altimeter::bind()
+{
+ _tiedProperties.Tie("setting-inhg", this, &Altimeter::getSettingInHg, &Altimeter::setSettingInHg );
+ _tiedProperties.Tie("setting-hpa", this, &Altimeter::getSettingHPa, &Altimeter::setSettingHPa );
+}
+
+void
+Altimeter::unbind()
+{
+ _tiedProperties.Untie();