From 88a299953d587e050f6d76c160dcc65c4904f503 Mon Sep 17 00:00:00 2001 From: System User Date: Wed, 15 Apr 2009 11:32:49 +0200 Subject: [PATCH] * move the pseudo_axis_related_axes_update in the PseudoAxisAdapter constructor --- src/PseudoAxisAdapter.cpp | 44 +++++++++++++++++++++++++++++++------------- src/PseudoAxisAdapter.h | 3 ++- src/TangoHKLAdapter.cpp | 23 +---------------------- src/TangoHKLAdapter.h | 2 -- 4 files changed, 34 insertions(+), 38 deletions(-) rewrite src/PseudoAxisAdapter.cpp (63%) diff --git a/src/PseudoAxisAdapter.cpp b/src/PseudoAxisAdapter.cpp dissimilarity index 63% index 61cc346..defa00c 100644 --- a/src/PseudoAxisAdapter.cpp +++ b/src/PseudoAxisAdapter.cpp @@ -1,13 +1,31 @@ -#include "TangoHKLAdapter.h" -#include "PseudoAxisAdapter.h" - -namespace DiffractometerDevice_ns -{ - - PseudoAxisAdapter::PseudoAxisAdapter(HklPseudoAxis *pseudo_r, HklPseudoAxis *pseudo_w) - { - this->_pseudo_r = pseudo_r; - this->_pseudo_w = pseudo_w; - this->_state = Tango::UNKNOWN; - } -} +#include "TangoHKLAdapter.h" +#include "PseudoAxisAdapter.h" + +namespace DiffractometerDevice_ns +{ + + PseudoAxisAdapter::PseudoAxisAdapter(TangoHKLAdapter &hklAdapter, HklPseudoAxis *pseudo_r, HklPseudoAxis *pseudo_w): + _hklAdapter(hklAdapter), + _pseudo_r(pseudo_r), + _pseudo_w(pseudo_w) + { + size_t len; + size_t i, j; + char const **names; + std::vector &axes = hklAdapter.get_axes(); + + _state = Tango::UNKNOWN; + + _axes.clear(); + len = HKL_LIST_LEN(_pseudo_r->engine->mode->axes_names); + names = _pseudo_r->engine->mode->axes_names; + for(i=0; isimulated); } - void TangoHKLAdapter::pseudo_axis_related_axes_update(PseudoAxisAdapter * buffer) - { - size_t len; - size_t i, j; - char const **names; - - buffer->_axes.clear(); - - len = HKL_LIST_LEN(buffer->_pseudo_r->engine->mode->axes_names); - names = buffer->_pseudo_r->engine->mode->axes_names; - for(i=0; i_axes.push_back(&axis); - continue; - } - } - } - void TangoHKLAdapter::update_lambda(void) { if (_lambdaAttributeProxy && !this->simulated) { @@ -1186,10 +1166,9 @@ namespace DiffractometerDevice_ns _diffractometer->engines_w, name); if(pseudo_r && pseudo_w) { - buffer = new PseudoAxisAdapter(pseudo_r, pseudo_w); try { - this->pseudo_axis_related_axes_update(buffer); + buffer = new PseudoAxisAdapter(*this, pseudo_r, pseudo_w); _pseudoAxes.push_back(buffer); } catch (Tango::DevFailed) diff --git a/src/TangoHKLAdapter.h b/src/TangoHKLAdapter.h index c799905..43b30e3 100644 --- a/src/TangoHKLAdapter.h +++ b/src/TangoHKLAdapter.h @@ -261,8 +261,6 @@ namespace DiffractometerDevice_ns { double _ux; double _uy; double _uz; - - void pseudo_axis_related_axes_update(PseudoAxisAdapter *buffer); }; } -- 2.11.4.GIT