* implemente the initialized attribut.
[diffractometer.git] / src / PseudoAxisAdapter.h
blob0ccd2976ecf5e8904a5f67650535ed7aa29493db
1 #ifndef __PSEUDOAXIS_ADAPTER_H__
2 #define __PSEUDOAXIS_ADAPTER_H__
4 #include <tango.h>
6 #include <hkl/hkl-geometry-factory.h>
7 #include <hkl/hkl-pseudoaxis-factory.h>
9 #include "AxisAdapter.h"
10 #include "Matrix.h"
12 namespace Diffractometer_ns {
14 //forwar declaration
15 class TangoHKLAdapter;
17 class PseudoAxisAdapter {
18 friend class TangoHKLAdapter;
20 public:
21 PseudoAxisAdapter(TangoHKLAdapter & hklAdapter, HklPseudoAxis *pseudo_read, HklPseudoAxis *pseudo_write);
22 virtual ~PseudoAxisAdapter(void);
24 double const & get_read(void) const {return _read;}
25 double const & get_write(void) const {return _write;}
26 Tango::DevState const & get_state(void) const {return _state;}
27 std::string const & get_status(void) const {return _status;}
28 Matrix<char *> const &get_mode_names(void) const {return _mode_names;}
29 void get_mode_parameters(Tango::DevVarDoubleStringArray *argout);
30 void set_mode_parameters(const Tango::DevVarDoubleStringArray *argin);
31 bool is_ready(void);
32 Tango::DevString *get_mode(void) const;
33 void set_mode(Tango::DevString const & mode);
34 Tango::DevBoolean get_initialized(void);
35 void set_initialized(Tango::DevBoolean initialized);
36 void on(void);
37 private:
38 TangoHKLAdapter &_hklAdapter;
39 std::string _devicename;
40 HklPseudoAxis *_pseudo_r;
41 HklPseudoAxis *_pseudo_w;
42 double _read;
43 double _write;
44 std::vector<AxisAdapter *> _axes;
45 Tango::DevState _state;
46 std::string _status;
47 bool _ready;
48 Matrix<char *> _mode_names;
50 void update(void);
51 void to_proxies(void);
56 #endif // __PSEUDOAXIS_ADAPTER_H__