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*) {}); }
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()); } } }
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()); } } }
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; } }
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); }
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() ) ); }