00001 00002 #ifndef _EPICS_TYPESUPPORTMANAGERCAC_H 00003 #define _EPICS_TYPESUPPORTMANAGERCAC_H 00004 00005 #include <string> 00006 #include <map> 00007 00008 #include "epics/dds/cac/TypeSupportCAC.h" 00009 00010 namespace EPICS { 00011 00014 class TypeSupportManagerCAC 00015 { 00016 00017 public: 00018 00020 ~TypeSupportManagerCAC(); 00021 00023 static TypeSupportManagerCAC* get_instance(); 00024 00025 public: 00026 00028 void set_typesupport(TypeSupportCAC_ptr ts); 00029 00031 TypeSupportCAC_ptr get_typesupport(const char* type_name); 00032 00033 protected: 00034 00036 TypeSupportManagerCAC(); 00037 00038 protected: 00039 00041 static TypeSupportManagerCAC* s_instance; 00042 00044 std::map<std::string, TypeSupportCAC_ptr> m_typeSupports; 00045 00046 }; 00047 } 00048 00049 00050 #endif /* _TYPESUPPORTMANAGERCAC_H */ 00051