ds::cfg::Settings& EngineCfg::editSettings(const std::string& name) { if (name.empty()) { DS_DBG_CODE(throw std::runtime_error("EngineCfg::editSettings() on empty name")); return mEditEmptySettings; } if (mSettings.empty()) { DS_DBG_CODE(throw std::runtime_error("EngineCfg::editSettings() on empty mSettings")); return mEditEmptySettings; } auto it = mSettings.find(name); if (it == mSettings.end()) { DS_DBG_CODE(throw std::runtime_error("EngineCfg::editSettings() settings does not exist")); return mEditEmptySettings; } return it->second; }
const ds::cfg::NinePatch& EngineCfg::getNinePatch(const std::string& name) const { if (name.empty()) { DS_DBG_CODE(throw std::runtime_error("EngineCfg::getNinePatch() on empty name")); return mEmptyNinePatchCfg; } if (mNinePatchCfg.empty()) { DS_DBG_CODE(throw std::runtime_error("EngineCfg::getNinePatch() on empty mNinePatchCfg (key=" + name + ")")); return mEmptyNinePatchCfg; } auto it = mNinePatchCfg.find(name); if (it == mNinePatchCfg.end()) { DS_DBG_CODE(throw std::runtime_error("EngineCfg::getNinePatch() cfg does not exist")); return mEmptyNinePatchCfg; } return it->second; }
ds::EngineService& SpriteEngine::private_getService(const std::string& str) { ds::EngineService* s = mData.mServices[str]; if (!s) { const std::string msg = "Service (" + str + ") does not exist"; DS_DBG_CODE(DS_LOG_ERROR(msg)); throw std::runtime_error(msg); } return *s; }
void Client::Request::run() { int errorCode = 0; SqlDatabase resourceDB(mDatabase, SQLITE_OPEN_READONLY, &errorCode); if (errorCode != SQLITE_OK) { DS_DBG_CODE(std::cout << "ds::query::Client::Request: Unable to access the resource database (SQLite error " << errorCode << ")."); } else { SqlResultBuilder qrb(mResult, resourceDB.rawSelect(mQuery)); qrb.build(); ResultBuilder::setRequestTime(mResult, mRequestTime); ResultBuilder::setClientId(mResult, mRunId); } }
bool Resource::Id::tryParse(const std::string& s) { static const char TYPE_A[] = { CMS_TYPE, APP_TYPE }; static const std::string TAG_A[] = { "cms:", "app:" }; for (int k=0; k<2; ++k) { Id v; if (try_parse(s, TAG_A[k], TYPE_A[k], v)) { *this = v; return true; } } DS_DBG_CODE(std::cout << "ERROR ds::resource_id::tryParse() illegal input (" << s << ")" << std::endl); return false; }
Pdf &Pdf::setResourceId(const ds::Resource::Id &resourceId) { try { ds::Resource res; if (mEngine.getResources().get(resourceId, res)) { Sprite::setSizeAll(res.getWidth(), res.getHeight(), mDepth); std::string filename = res.getAbsoluteFilePath(); setResourceFilename(filename); } } catch (std::exception const& ex) { DS_DBG_CODE(std::cout << "ERROR Pdf::setResourceFilename() ex=" << ex.what() << std::endl); return *this; } return *this; }
bool Client::runAsync( const std::string& database, const std::string& query, Poco::Timestamp* sendTime, int* id) { if (database.empty() || query.empty()) { DS_DBG_CODE(std::cout << "ERROR ds::query::Client() empty value database=" << database << " query=" << query << std::endl); return false; } std::unique_ptr<Request> r(std::move(mCache.next())); if (!r) return false; r->mRunId = (mRunId++); r->mDatabase = database; r->mQuery = query; r->mResult.clear(); r->mTalkback.clear(); if (id) *id = r->mRunId; return mManager.sendRequest(ds::unique_dynamic_cast<WorkRequest, Request>(r), sendTime); }