Example #1
0
ptr_dir direction::get_direction(std::string name)
{
	if (m_data.find(name) == m_data.end())
	{
		return tmp_dir(nullptr, [](direction*) {});
	}
	auto ptr = m_data[name];
	if (ptr->mod.type == file_type::folder) {
		return tmp_dir((direction*)ptr->open(), [](direction*) {});
	}
	return tmp_dir(nullptr, [](direction*) {});
}
Example #2
0
void StorageSetOrJoinBase::restore()
{
    Poco::File tmp_dir(path + "tmp/");
    if (!tmp_dir.exists())
    {
        tmp_dir.createDirectories();
        return;
    }

    static const auto file_suffix = ".bin";
    static const auto file_suffix_size = strlen(".bin");

    Poco::DirectoryIterator dir_end;
    for (Poco::DirectoryIterator dir_it(path); dir_end != dir_it; ++dir_it)
    {
        const auto & name = dir_it.name();

        if (dir_it->isFile()
            && endsWith(name, file_suffix)
            && dir_it->getSize() > 0)
        {
            /// Calculate the maximum number of available files with a backup to add the following files with large numbers.
            UInt64 file_num = parse<UInt64>(name.substr(0, name.size() - file_suffix_size));
            if (file_num > increment)
                increment = file_num;

            restoreFromFile(dir_it->path());
        }
    }
}
Example #3
0
void StorageSetOrJoinBase::restore()
{
	Poco::File tmp_dir(path + "tmp/");
	if (!tmp_dir.exists())
	{
		tmp_dir.createDirectories();
		return;
	}

	static const auto file_suffix = ".bin";
	static const auto file_suffix_size = strlen(".bin");

	Poco::DirectoryIterator dir_end;
	for (Poco::DirectoryIterator dir_it(path); dir_end != dir_it; ++dir_it)
	{
		const auto & name = dir_it.name();

		if (dir_it->isFile()
			&& endsWith(name, file_suffix)
			&& dir_it->getSize() > 0)
		{
			/// Вычисляем максимальный номер имеющихся файлов с бэкапом, чтобы добавлять следующие файлы с большими номерами.
			UInt64 file_num = parse<UInt64>(name.substr(0, name.size() - file_suffix_size));
			if (file_num > increment)
				increment = file_num;

			restoreFromFile(dir_it->path());
		}
	}
}
Example #4
0
int msg_distribution::read_all_host_lists_info(const string &host_info_dir)
{
	if (!host_info_dir.empty())
	{
		fsys::path tmp_dir(host_info_dir);
		if (fsys::exists(tmp_dir))
		{
			boost_error_code ec;
			fsys::directory_iterator search_dir(tmp_dir, ec);
			for (auto item : search_dir)
			{
				auto file = item.path();
				if (!fsys::is_directory(file) && file.extension().string() == ".xml")
				{
					auto file_name = file.string();
					read_host_info(file_name);
				}
			}
		}
	}
	if (0 < s_host_listen_lists.size())
	{
		return s_host_listen_lists.size();
	}
	else
	{
		return -1;
	}
}
Example #5
0
QString Filesystem::tmp_file( const QString& base )
{
	QTemporaryFile file( tmp_dir()+"/"+base );
	file.setAutoRemove( false );
	file.open();
	file.close();
	return file.fileName();
}
    void WebPage::add_sub_directory_files_to_list(const QDir dir, QFileInfoList& list)
    {
        QFileInfoList tmp = dir.entryInfoList(QDir::Files);
        list << tmp;

        tmp = dir.entryInfoList(QDir::Dirs | QDir::NoDot | QDir::NoDotDot);
        for (int i = 0; i < tmp.size(); ++i)
        {
            QDir tmp_dir(tmp[i].absoluteFilePath());
            add_sub_directory_files_to_list(tmp_dir, list);
        }
    }
char *SMTPFileSystem::expandTmpDir(char *tmp)
{
    if (!tmp) {
        tmp = strdup("/tmp/simple-mtpfs-XXXXXX");
    } else {
        std::string tmp_dir(tmp);
        auto it = tmp_dir.find('~');
        for (; it != std::string::npos; it = tmp_dir.find('~'))
            tmp_dir.replace(it, 1, getenv("HOME"));
        tmp_dir += "XXXXXX";
        free(static_cast<void*>(tmp));
        tmp = strdup(tmp_dir.c_str());
        if (!tmp)
            return nullptr;
    }
    return mktemp(tmp);
}
Example #8
0
void Filesystem::info()
{
	INFOLOG( QString( "Tmp dir                    : %1" ).arg( tmp_dir() ) );
	INFOLOG( QString( "Images dir                 : %1" ).arg( img_dir() ) );
	INFOLOG( QString( "Documentation dir          : %1" ).arg( doc_dir() ) );
	INFOLOG( QString( "Internationalization dir   : %1" ).arg( i18n_dir() ) );
	INFOLOG( QString( "Demos dir                  : %1" ).arg( demos_dir() ) );
	INFOLOG( QString( "XSD dir                    : %1" ).arg( xsd_dir() ) );
	INFOLOG( QString( "System drumkit dir         : %1" ).arg( sys_drumkits_dir() ) );
	INFOLOG( QString( "System wide core cfg file  : %1" ).arg( sys_core_config() ) );
	INFOLOG( QString( "System wide gui cfg file   : %1" ).arg( sys_gui_config() ) );
	INFOLOG( QString( "Empty sample               : %1" ).arg( empty_sample() ) );
	INFOLOG( QString( "Empty song                 : %1" ).arg( empty_song() ) );
	INFOLOG( QString( "Click file                 : %1" ).arg( click_file() ) );
	INFOLOG( QString( "User drumkit dir           : %1" ).arg( usr_drumkits_dir() ) );
	INFOLOG( QString( "Songs dir                  : %1" ).arg( songs_dir() ) );
	INFOLOG( QString( "Patterns dir               : %1" ).arg( patterns_dir() ) );
	INFOLOG( QString( "Playlists dir              : %1" ).arg( playlists_dir() ) );
	INFOLOG( QString( "Cache dir                  : %1" ).arg( cache_dir() ) );
	INFOLOG( QString( "Repositories cache dir     : %1" ).arg( cache_dir() ) );
	INFOLOG( QString( "User core cfg file         : %1" ).arg( usr_core_config() ) );
	INFOLOG( QString( "User gui cfg file          : %1" ).arg( usr_gui_config() ) );
}