72 TypeIDMap &typeHandlers = typeRegistry();
73 boost::python::type_info typeInfo(typeObject);
74 if (typeHandlers.find(typeInfo) == typeHandlers.end()) {
75 typeHandlers.emplace(typeInfo, std::shared_ptr<PropertyValueHandler>(handler));
77 throw std::invalid_argument(std::string(
"TypeRegistry::subscribe() - A handler has already "
78 "registered for type '") +
79 typeInfo.name() +
"'");
90 TypeIDMap &typeHandlers = typeRegistry();
91 TypeIDMap::const_iterator itr = typeHandlers.find(boost::python::type_info(typeObject));
92 if (itr != typeHandlers.end()) {
93 return *(itr->second);
95 throw std::invalid_argument(std::string(
"TypeRegistry::retrieve(): No PropertyValueHandler "
96 "registered for type '") +
97 boost::python::type_info(typeObject).
name() +
"'");