void MiscModule_Impl::playSysConfigSound() { module::TTConfig* pTTConfig = module::getSysConfigModule()->getSystemConfig(); if (!pTTConfig) { return; } if (pTTConfig->sysBaseFlag & module::BASE_FLAG_NOSOUNDWHENMSG) { if (pTTConfig->sysSoundTypeBaseFlag == module::MUSIC_SOUND_DINGDONG) { playSound(getDataDir() + _T("Sound\\duoduo_dingdong.wav")); } else if (pTTConfig->sysSoundTypeBaseFlag == module::MUSIC_SOUND_KEYBOARD) { playSound(getDataDir() + _T("Sound\\duoduo_keyboard.wav")); } else if (pTTConfig->sysSoundTypeBaseFlag == module::MUSIC_SOUND_DINGLIN) { playSound(getDataDir() + _T("Sound\\message.wav")); } else if (pTTConfig->sysSoundTypeBaseFlag == module::MUSIC_SOUND_CALLMSG) { playSound(getDataDir() + _T("Sound\\duoduo_callmsg.wav")); } } }
void Environment::initializeConfig() { try { config = new ConfigFileParser( Path::FromUnixPath(getDataDir() + "/private.cfg")); } catch (const std::invalid_argument& e) { config = new ConfigFileParser( Path::FromUnixPath(getDataDir() + "/main.cfg")); } }
FilePtr FileSystem::getFile (const std::string& filename) const { if (!getAbsoluteWritePath().empty()) { const std::string path = getAbsoluteWritePath() + getDataDir() + filename; SDL_RWops *rwopsLocal = createRWops(path); if (rwopsLocal != nullptr) { FilePtr ptr(new File(rwopsLocal, path)); return ptr; } } const std::string path = getDataDir() + filename; SDL_RWops *rwops = createRWops(path); FilePtr ptr(new File(rwops, path)); return ptr; }
wxString Config::getHomePath() const { if (!homePathM.empty()) return homePathM + wxFileName::GetPathSeparator(); else return getDataDir() + wxFileName::GetPathSeparator(); }
static void NPC_DengonWriteString( int meindex, int talker, int id, char *str ) { char filename[256]; snprintf(filename, sizeof(filename), "%s/%s/%d_%d_%d", getDataDir(), DENGONFILEDIR, CHAR_getInt(meindex, CHAR_FLOOR), CHAR_getInt(meindex, CHAR_X), CHAR_getInt(meindex, CHAR_Y)); FILE *f; int line; struct tm tm1; f = fopen(filename, "r+"); if( !f ) return; line = id%DENGONFILELINENUM; fseek( f, line*DENGONFILEENTRYSIZE, SEEK_SET ); fprintf( f, "%010d:",id ); memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1)); fprintf( f, "%s\n %2d/%02d %2d:%02d %s%c", str, tm1.tm_mon +1, tm1.tm_mday, tm1.tm_hour, tm1.tm_min, CHAR_getChar( talker, CHAR_NAME), '\0'); fclose(f); }
void loadHistory(string subreddit, vector<HistoryItem>& history) { string dataDir = getDataDir(); string xmlFile = dataDir + DIR_SEP + subreddit; TiXmlDocument doc(xmlFile.c_str()); if (doc.LoadFile()) { TiXmlElement* root = doc.RootElement(); if (root) { TiXmlElement* historyNode = root->FirstChildElement("history"); while (historyNode) { HistoryItem itm; itm.id = historyNode->Attribute("id"); itm.date = atoi(historyNode->Attribute("date")); history.push_back(itm); historyNode = historyNode->NextSiblingElement("history"); } } } }
//---------------------------------------------------------------------------------------------------------------------- std::string Globals::getDataDirName() { std::string path = getDataDir(); if (path[path.size()-1] == '/') path = path.substr(0, path.size()-1); return path.substr(path.rfind('/') + 1); }
void Settings::saveSettings() const { QFile cfgFile(getDataDir().absoluteFilePath(QCoreApplication::applicationName() + ".cfg")); if (cfgFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) { QJsonDocument cfg_doc(m_settings); cfgFile.write(cfg_doc.toJson()); cfgFile.close(); } }
bool Brewtarget::ensureDirectoriesExist() { bool success; QDir dir; QString errTitle(QObject::tr("Directory Problem")); QString errText(QObject::tr("\"%1\" cannot be read.")); // Check data dir dir.setPath(getDataDir()); if( ! dir.exists() || ! dir.isReadable() ) { QMessageBox::information( 0, errTitle, errText.arg(dir.path()) ); return false; } // Check doc dir dir.setPath(getDocDir()); if( ! dir.exists() || ! dir.isReadable() ) { QMessageBox::information( 0, errTitle, errText.arg(dir.path()) ); return false; } // Check config dir dir.setPath(getConfigDir(&success)); if( !success || ! dir.exists() || ! dir.isReadable() ) { QMessageBox::information( 0, errTitle, errText.arg(dir.path()) ); return false; } // Check/create user data directory dir.setPath(getUserDataDir()); if( !dir.exists() && !dir.mkpath(".") ) { QMessageBox::information( 0, errTitle, errText.arg(dir.path()) ); return false; } return true; }
void Helpers::initPython() { const QString pythonEggCachePath = getDataDir() + "/python-eggs"; qDebug() << "Setting egg cache to" << pythonEggCachePath; QDir dir; dir.mkpath(pythonEggCachePath); QFile::setPermissions(pythonEggCachePath, QFileDevice::ReadOwner | QFileDevice::WriteOwner | QFileDevice::ExeOwner); setenv("PYTHON_EGG_CACHE", pythonEggCachePath.toStdString().c_str(), 1); // need to use standard lib since QProcessEnvironment does not work }
void Brewtarget::setLanguage(QString twoLetterLanguage) { currentLanguage = twoLetterLanguage; qApp->removeTranslator(btTrans); QString filename = QString("bt_%1").arg(twoLetterLanguage); QString dir = QString("%1translations_qm/").arg(getDataDir()); if( btTrans->load( filename, dir ) ) qApp->installTranslator(btTrans); }
static int NPC_DengonReadString( int meindex, int id, char *str ) { char filename[256]; snprintf(filename, sizeof(filename), "%s/%s/%d_%d_%d", getDataDir(), DENGONFILEDIR, CHAR_getInt(meindex, CHAR_FLOOR), CHAR_getInt(meindex, CHAR_X), CHAR_getInt(meindex, CHAR_Y)); char readbuf[DENGONFILEENTRYSIZE*MESSAGEINONEWINDOW]; FILE *f; int maxid, i, sendid, len; char *writeptr, *readptr; maxid = CHAR_getWorkInt( meindex, CHAR_WORKDENGONMAXID ); if( id > maxid ) id = maxid; sendid = id - MESSAGEINONEWINDOW + 1; if( sendid < maxid - DENGONFILELINENUM + 1 ){ sendid = maxid - DENGONFILELINENUM + 1; } if( sendid < 1 ) sendid = 1; writeptr = str; strcpy( writeptr, " 传言板\n"); len = strlen(writeptr); writeptr += len; f = fopen( filename, "r" ); if( !f ) return FALSE; { char buf[DENGONFILEENTRYSIZE]; int wptr = 0; readbuf[0] = '\0'; for( i = 0; i < MESSAGEINONEWINDOW; i ++ ) { fseek( f, ((sendid+i)%DENGONFILELINENUM)*DENGONFILEENTRYSIZE, SEEK_SET ); fread( buf, sizeof(char), DENGONFILEENTRYSIZE , f ); memcpy( &readbuf[wptr], buf,sizeof( buf)); wptr += DENGONFILEENTRYSIZE; } } fclose(f); readptr = readbuf + DENGONFILECOUNTERSIZE; for( i=0;i<MESSAGEINONEWINDOW;i++ ){ snprintf( writeptr, DENGONFILESTRINGSIZE, "%s\n", readptr ); writeptr+= strlen(readptr)+1; readptr+=DENGONFILEENTRYSIZE; } return TRUE; }
TEST(InterpolatorTest, ReferenceAccuracy) { double MAX_DIF = 1.0; double MAX_MEAN_DIF = 1.0 / 256.0; string dir = getDataDir() + "cv/sparse_match_interpolator"; Mat src = imread(getDataDir() + "cv/optflow/RubberWhale1.png",IMREAD_COLOR); ASSERT_FALSE(src.empty()); Mat ref_flow = readOpticalFlow(dir + "/RubberWhale_reference_result.flo"); ASSERT_FALSE(ref_flow.empty()); ifstream file((dir + "/RubberWhale_sparse_matches.txt").c_str()); float from_x,from_y,to_x,to_y; vector<Point2f> from_points; vector<Point2f> to_points; while(file >> from_x >> from_y >> to_x >> to_y) { from_points.push_back(Point2f(from_x,from_y)); to_points.push_back(Point2f(to_x,to_y)); } cv::setNumThreads(cv::getNumberOfCPUs()); Mat res_flow; Ptr<EdgeAwareInterpolator> interpolator = createEdgeAwareInterpolator(); interpolator->setK(128); interpolator->setSigma(0.05f); interpolator->setUsePostProcessing(true); interpolator->setFGSLambda(500.0f); interpolator->setFGSSigma(1.5f); interpolator->interpolate(src,from_points,Mat(),to_points,res_flow); EXPECT_LE(cv::norm(res_flow, ref_flow, NORM_INF), MAX_DIF); EXPECT_LE(cv::norm(res_flow, ref_flow, NORM_L1) , MAX_MEAN_DIF*res_flow.total()); }
int NPC_DengonInit( int meindex ) { char filename[256]; snprintf(filename, sizeof(filename), "%s/%s/%d_%d_%d", getDataDir(), DENGONFILEDIR, CHAR_getInt( meindex, CHAR_FLOOR ), CHAR_getInt( meindex, CHAR_X ), CHAR_getInt( meindex, CHAR_Y )); char tmp[256]; FILE *f; int i,j; int id, maxid; CHAR_setInt( meindex, CHAR_WHICHTYPE, CHAR_TYPEDENGON ); if( ! (f=fopen( filename, "r" )) ){ f = fopen( filename, "w" ); if( f ){ }else{ print( "ERROR:Can't create Dengonfile %s!\n",filename ); return FALSE; } for( j = 0; j < DENGONFILELINENUM; j++ ){ fwrite( "0000000000:", sizeof(char), DENGONFILECOUNTERSIZE, f); for( i=0;i<DENGONFILESTRINGSIZE;i++ ){ fwrite( "\0", sizeof(char),1, f ); } fwrite( "\n", sizeof(char), 1, f); } } id =0; maxid = 0; for( i = 0; i < DENGONFILELINENUM; i++ ){ fseek( f, i*DENGONFILEENTRYSIZE, SEEK_SET ); fread( tmp, sizeof(char), DENGONFILECOUNTERSIZE, f ); tmp[DENGONFILECOUNTERSIZE-1] = '\0'; if( (id=atoi(tmp)) > maxid ) { maxid = id; } } CHAR_setWorkInt( meindex, CHAR_WORKDENGONMAXID, maxid ); fclose(f); return TRUE; }
DirectoryEntries FileSystem::listDirectory (const std::string& basedir, const std::string& subdir) const { #if DIRLIST_NOT_SUPPORTED return Singleton<GameRegistry>::getInstance().getGame()->listDirectory(basedir, subdir); #else DirectoryEntries entriesAll; const std::string sysWritePath = getAbsoluteWritePath() + basedir; if (!sysWritePath.empty()) entriesAll = System.listDirectory(sysWritePath, subdir); const std::string dataDir = getDataDir() + basedir; const DirectoryEntries entries = System.listDirectory(dataDir, subdir); for (const std::string& entry : entries) { entriesAll.push_back(entry); } std::sort(entriesAll.begin(), entriesAll.end()); entriesAll.erase(std::unique(entriesAll.begin(), entriesAll.end()), entriesAll.end()); return entriesAll; #endif }
void saveHistory(string subreddit, vector<HistoryItem>& history) { string dataDir = getDataDir(); string xmlFile = dataDir + DIR_SEP + subreddit; TiXmlDocument doc(xmlFile.c_str()); TiXmlElement root("histories"); for (int i = 0; i < (int)history.size(); i++) { TiXmlElement historyNode("history"); historyNode.SetAttribute("id", history[i].id.c_str()); historyNode.SetAttribute("date", (int)history[i].date); root.InsertEndChild(historyNode); } doc.InsertEndChild(root); doc.SaveFile(); }
DirectoryEntries FileSystem::listDirectory (const std::string& basedir, const std::string& subdir) { DirectoryEntries entriesAll; // TODO: register this in the app #if DIRLIST_NOT_SUPPORTED #include "dir.h" #endif const std::string sysWritePath = getAbsoluteWritePath() + basedir; if (!sysWritePath.empty()) entriesAll = System.listDirectory(sysWritePath, subdir); const std::string dataDir = getDataDir() + basedir; const DirectoryEntries entries = System.listDirectory(dataDir, subdir); for (DirectoryEntriesIter i = entries.begin(); i != entries.end(); ++i) { entriesAll.push_back(*i); } std::sort(entriesAll.begin(), entriesAll.end()); entriesAll.erase(std::unique(entriesAll.begin(), entriesAll.end()), entriesAll.end()); return entriesAll; }
MyWebPage::MyWebPage(QObject *parent) : QWebPage(parent) { auto pNAM = networkAccessManager(); QNetworkDiskCache * pNDC = new QNetworkDiskCache(parent); pNDC->setCacheDirectory(getDataDir()+"/cache"); qint64 size = pNDC->cacheSize(); size = pNDC->maximumCacheSize(); const qint64 desired = 1024*1024*1024; if (size < desired) { pNDC->setMaximumCacheSize(desired); size = pNDC->maximumCacheSize(); } QString dir = pNDC->cacheDirectory(); pNAM->setCache(pNDC); auto cj = new CookieJar(parent); pNAM->setCookieJar(cj); }
MPackage openProjectPackage(const char* projName) { MEngine* engine = MEngine::getInstance(); MSystemContext* system = engine->getSystemContext(); char projFile[256]; getLocalFilename(projFile, system->getWorkingDirectory(), projName); char* ext = strstr(projFile, ".mproj"); if(ext == 0) { return 0; } sprintf(ext, ".npk"); char packFile[256]; getGlobalFilename(packFile, getDataDir(), projFile); MPackageManager* packageManager = engine->getPackageManager(); MPackage package = packageManager->openPackage(packFile); return package; }
void execute(const char* projName) { MEngine* engine = MEngine::getInstance(); MSystemContext* system = engine->getSystemContext(); char filename[256]; char destFilename[256]; #ifdef WIN32 const char* pluginName = "Game.dll"; #elif __APPLE__ const char* pluginName = "Game.dylib"; #elif linux const char* pluginName = "Game.so"; #endif getGlobalFilename(filename, system->getWorkingDirectory(), pluginName); getGlobalFilename(destFilename, getDataDir(), pluginName); if(isFileExist(filename)) { copyFile(filename, destFilename); } }
CookieJar::~CookieJar() { saveCookies(getDataDir()+fname); }
namespace U2 { QString getTestDir(){ bool ok; int i = qgetenv("UGENE_GUI_TEST_SUITE_NUMBER").toInt(&ok); #ifdef Q_OS_MAC if ( ok && i>1){ return QString("../../../../../../test%1/").arg(i-1); }else{ return QString("../../../../../../test/"); } #else if ( ok && i>1){ return QString("../../test%1/").arg(i-1); }else{ return QString("../../test/"); } #endif } QString getDataDir(){ bool ok; int i = qgetenv("UGENE_GUI_TEST_SUITE_NUMBER").toInt(&ok); #ifdef Q_OS_MAC if ( ok && i>1 ){ return QString("data%1/").arg(i-1); }else{ return QString("data/"); } #else if ( ok && i>1){ return QString("../../data%1/").arg(i-1); }else{ return QString("../../data/"); } #endif } QString getScreenshotDir(){ QString result; #ifdef Q_OS_MAC result = "../../../../../../screenshotFol/"; #else QString guiTestOutputDirectory = qgetenv("GUI_TESTING_OUTPUT"); if(guiTestOutputDirectory.isEmpty()){ result = QDir::homePath() + "/gui_testing_output/" + QDate::currentDate().toString("dd.MM.yyyy") + "/screenshots/"; }else{ result = guiTestOutputDirectory + "/gui_testing_output/" + QDate::currentDate().toString("dd.MM.yyyy") + "/screenshots/"; } #endif return result; } const QString UGUITest::testDir = getTestDir(); const QString UGUITest::dataDir = getDataDir(); const QString UGUITest::sandBoxDir = testDir + "_common_data/scenarios/sandbox/"; const QString UGUITest::screenshotDir = getScreenshotDir(); } // namespace
void Settings::load() { QFile cfgFile(getDataDir().absoluteFilePath(QCoreApplication::applicationName() + ".cfg")); if (cfgFile.open(QIODevice::ReadOnly)) { m_settings = QJsonDocument::fromJson(cfgFile.readAll()).object(); cfgFile.close(); if (!m_settings.contains("walletFile")) { m_addressBookFile = getDataDir().absoluteFilePath(QCoreApplication::applicationName() + ".addressbook"); } else { m_addressBookFile = m_settings.value("walletFile").toString(); m_addressBookFile.replace(m_addressBookFile.lastIndexOf(".wallet"), 7, ".addressbook"); } if (!m_settings.contains(OPTION_LANGUAGE)) { m_currentLang = "uk"; } if (!m_settings.contains(OPTION_CONNECTION)) { m_connectionMode = "auto"; } if (!m_settings.contains(OPTION_DAEMON_PORT)) { m_daemonPort = CryptoNote::RPC_DEFAULT_PORT; } } else { m_addressBookFile = getDataDir().absoluteFilePath(QCoreApplication::applicationName() + ".addressbook"); } if (m_settings.contains(OPTION_LANGUAGE)) { m_currentLang = m_settings.value(OPTION_LANGUAGE).toString(); } if (m_settings.contains(OPTION_CONNECTION)) { m_connectionMode = m_settings.value(OPTION_CONNECTION).toString(); } if (!m_settings.contains(OPTION_DAEMON_PORT)) { m_settings.insert(OPTION_DAEMON_PORT, CryptoNote::RPC_DEFAULT_PORT); // default daemon port } if (!m_settings.contains("tracking")) { m_settings.insert("tracking", false); } QStringList defaultPoolList; defaultPoolList << "pool.brazukcoin.com:3333" << "pool2.democats.org:45570" << "bzk.sberex.com:3333" << "mine.bzk.mypool.online:32350" << "bzk-eu1.miningpool.org.ua:3333"; if (!m_settings.contains(OPTION_MINING_POOLS)) { setMiningPoolList(QStringList() << defaultPoolList); } else { QStringList poolList = getMiningPoolList(); Q_FOREACH (const QString& pool, defaultPoolList) { if (!poolList.contains(pool)) { poolList << pool; } } setMiningPoolList(poolList); } QStringList defaultNodesList; defaultNodesList << "node.brazukcoin.com:32348" << "node.bzk.mypool.online:32348"; // "pool2.democats.org:7671" if (!m_settings.contains(OPTION_RPCNODES)) { setRpcNodesList(QStringList() << defaultNodesList); } else { QStringList nodesList = getRpcNodesList(); Q_FOREACH (const QString& node, defaultNodesList) { if (!nodesList.contains(node)) { nodesList << node; } } setRpcNodesList(nodesList); } if (!m_settings.contains("recentWallets")) { QStringList recentWallets; if (m_settings.contains("walletFile")) { recentWallets.prepend(m_settings.value("walletFile").toString()); } else { recentWallets.prepend(getDataDir().absoluteFilePath(QCoreApplication::applicationName() + ".wallet")); } m_settings.insert("recentWallets", QJsonArray::fromStringList(recentWallets)); } }
QString Settings::getWalletFile() const { return m_settings.contains("walletFile") ? m_settings.value("walletFile").toString() : getDataDir().absoluteFilePath(QCoreApplication::applicationName() + ".wallet"); }
std::string Paths::vehicle(const std::string & vehicle) { return getDataDir("vehicles/" + vehicle + "/"); }
std::string Paths::part(const std::string & part) { return getDataDir("parts/" + part + "/"); }
std::string Paths::world(const std::string & world) { return getDataDir("worlds/"); }
std::string Paths::area(const std::string & area) { return getDataDir("areas/" + area + "/"); }
CString MiscModule_Impl::getEmotionFilesDir() { return getDataDir() + _T("Emotion\\Face\\"); }
CookieJar::CookieJar(QObject *parent) : QNetworkCookieJar(parent) { loadCookies(getDataDir()+fname); }