1 #ifndef _TANGOHKLADAPTERFACTORY_H_
2 #define _TANGOHKLADAPTERFACTORY_H_
4 #if ( _MSC_VER && _MSC_VER <= 1200 )
5 // Ce pragma ne devrait pas être dans ce fichier car le warning ne s'affiche
6 // que si l'on compile une version DEBUG de la librairie.
7 // Il faut utiliser l'option de compilation \wd4786 mais elle n'est présente
8 // qu'à partir de VC++7
9 #pragma warning (disable : 4786)
14 #include <hkl/hkl-geometry-factory.h>
16 // forward declaration
17 namespace Diffractometer_ns
20 class TangoHKLAdapter
;
23 namespace Diffractometer_ns
25 typedef std::map
<Diffractometer
*, TangoHKLAdapter
*> adapterMap_t
;
28 * Class which create an association between HKL Library, Diffractometer and Pseudo Axis
30 class TangoHKLAdapterFactory
33 static TangoHKLAdapterFactory
*instance(void);
35 // register/unregister Diffractometer device
36 TangoHKLAdapter
* attach_diffractometer_device(Diffractometer
*device
, HklGeometryType type
);
38 void detach_diffractometer_device(Diffractometer
*device
);
40 TangoHKLAdapter
*get_diffractometer_adapter(std::string
const & diffractometerProxyName
);
45 TangoHKLAdapterFactory() {};
48 virtual ~TangoHKLAdapterFactory(void);
51 adapterMap_t _adapterMap
;
53 static TangoHKLAdapterFactory
*_instance
;
57 #endif //_TANGOHKLADAPTERFACTORY_H_