예제 #1
0
파일: server.cpp 프로젝트: cxl000/statefs
 void plugin_add(PluginDir::info_ptr p)
 {
     auto lock(cor::wlock(*this));
     trace() << "Plugin " << p->value() << std::endl;
     auto d = std::make_shared<PluginDir>(this, p);
     add_dir(p->value(), mk_dir_entry(d));
 }
예제 #2
0
파일: server.cpp 프로젝트: plundstr/statefs
 void plugin_add(PluginDir::info_ptr p)
 {
     auto lock(cor::wlock(*this));
     auto name = p->value();
     trace() << "Plugin " << name << std::endl;
     if (dirs.find(name)) {
         std::cerr << "There is already a plugin " << name << "...skipping\n";
         return;
     }
     auto d = std::make_shared<PluginDir>(this, p);
     add_dir(p->value(), mk_dir_entry(d));
 }
예제 #3
0
파일: server.cpp 프로젝트: cxl000/statefs
NamespaceDir::NamespaceDir
(PluginDir::info_ptr p, PluginNsDir::info_ptr ns)
{
    Path path = {"..", "..", "providers", p->value(), ns->value()};
    for (auto prop : ns->props_) {
        path.push_back(prop->value());
        add_symlink(prop->value(), boost::algorithm::join(path, "/"));
        path.pop_back();
    }
}