1 #ifndef _TANGOHKLADAPTERFACTORY_H_
2 #define _TANGOHKLADAPTERFACTORY_H_
6 #include <hkl/hkl-geometry-factory.h>
7 #include <omnithread.h>
10 namespace Diffractometer_ns
13 class TangoHKLAdapter
;
16 namespace Diffractometer_ns
18 typedef std::map
<Diffractometer
*, TangoHKLAdapter
*> adapterMap_t
;
21 * Class which create an association between HKL Library, Diffractometer and Pseudo Axis
23 class TangoHKLAdapterFactory
26 static TangoHKLAdapterFactory
*instance(void);
28 // register/unregister Diffractometer device
29 TangoHKLAdapter
* attach_diffractometer_device(Diffractometer
*device
, HklGeometryType type
);
31 void detach_diffractometer_device(Diffractometer
*device
);
33 TangoHKLAdapter
*get_diffractometer_adapter(std::string
const & diffractometerProxyName
);
38 TangoHKLAdapterFactory() {};
41 virtual ~TangoHKLAdapterFactory(void);
45 adapterMap_t _adapterMap
;
47 static TangoHKLAdapterFactory
*_instance
;
51 #endif //_TANGOHKLADAPTERFACTORY_H_