Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
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);
	}
}
Ejemplo n.º 5
0
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;
}
Ejemplo n.º 6
0
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;
}
Ejemplo n.º 7
0
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);
}