Пример #1
0
void FilesystemConfiguration::setRaw(const std::string& key, const std::string& value)
{
    Path p(keyToPath(key));
    File dir(p);
    dir.createDirectories();
    p.setFileName("data");
    Poco::FileOutputStream ostr(p.toString());
    ostr.write(value.data(), (std::streamsize) value.length());
}
void FilesystemConfiguration::removeRaw(const std::string& key)
{
	Path p(keyToPath(key));
	File dir(p);
	if (dir.exists())
	{
		dir.remove(true);
	}
}
Пример #3
0
void FilesystemConfiguration::enumerate(const std::string& key, Keys& range) const
{
    DirectoryIterator it(keyToPath(key));
    DirectoryIterator end;
    while (it != end)
    {
        if (it->isDirectory())
            range.push_back(it.name());
        ++it;
    }
}
void FilesystemConfiguration::enumerate(const std::string& key, Keys& range) const
{
	Path p(keyToPath(key));
	File dir(p);
	if (!dir.exists())
	{
		return;
	}

	DirectoryIterator it(p);
	DirectoryIterator end;
	while (it != end)
	{
		 if (it->isDirectory())
			range.push_back(it.name());
		++it;
	}
}
Пример #5
0
bool FilesystemConfiguration::getRaw(const std::string& key, std::string& value) const
{
    Path p(keyToPath(key));
    p.setFileName("data");
    File f(p);
    if (f.exists())
    {
        value.reserve((std::string::size_type) f.getSize());
        Poco::FileInputStream istr(p.toString());
        int c = istr.get();
        while (c != std::char_traits<char>::eof())
        {
            value += (char) c;
            c = istr.get();
        }
        return true;
    }
    else return false;
}