return &filter;
}
-ClassHandler::ClassMethod *ClassHandler::ClassData::_get_method(const char *mname)
+ClassHandler::ClassMethod *ClassHandler::ClassData::_get_method(
+ const std::string& mname)
{
- map<string, ClassHandler::ClassMethod>::iterator iter = methods_map.find(mname);
- if (iter == methods_map.end())
- return NULL;
- return &(iter->second);
+ if (auto iter = methods_map.find(mname); iter != methods_map.end()) {
+ return &(iter->second);
+ } else {
+ return nullptr;
+ }
}
-int ClassHandler::ClassData::get_method_flags(const char *mname)
+int ClassHandler::ClassData::get_method_flags(const std::string& mname)
{
std::lock_guard l(handler->mutex);
ClassMethod *method = _get_method(mname);
std::set<ClassData *> dependencies; /* our dependencies */
std::set<ClassData *> missing_dependencies; /* only missing dependencies */
- ClassMethod *_get_method(const char *mname);
+ ClassMethod *_get_method(const std::string& mname);
ClassMethod *register_method(const char *mname,
int flags,
cls_cxx_filter_factory_t fn);
void unregister_filter(ClassFilter *method);
- ClassMethod *get_method(const char *mname) {
+ ClassMethod *get_method(const std::string& mname) {
std::lock_guard l(handler->mutex);
return _get_method(mname);
}
- int get_method_flags(const char *mname);
+ int get_method_flags(const std::string& mname);
ClassFilter *get_filter(const std::string &filter_name) {
std::lock_guard l(handler->mutex);
r = -EIO;
return r;
}
- int flags = cls->get_method_flags(mname.c_str());
+ int flags = cls->get_method_flags(mname);
if (flags < 0) {
if (flags == -ENOENT)
r = -EOPNOTSUPP;
result = ClassHandler::get_instance().open_class(cname, &cls);
ceph_assert(result == 0); // init_op_flags() already verified this works.
- ClassHandler::ClassMethod *method = cls->get_method(mname.c_str());
+ ClassHandler::ClassMethod *method = cls->get_method(mname);
if (!method) {
dout(10) << "call method " << cname << "." << mname << " does not exist" << dendl;
result = -EOPNOTSUPP;