コード例 #1
0
AIInterfaceKey CAIInterfaceLibraryInfo::GetKey() const {

	const std::string& sn = GetInfo(AI_INTERFACE_PROPERTY_SHORT_NAME);
	const std::string& v = GetInfo(AI_INTERFACE_PROPERTY_VERSION);
	AIInterfaceKey key = AIInterfaceKey(sn, v);

	return key;
}
コード例 #2
0
ファイル: AILibraryManager.cpp プロジェクト: eXLabT/spring
AIInterfaceKey CAILibraryManager::FindFittingInterfaceSpecifier(
		const std::string& shortName,
		const std::string& minVersion,
		const IAILibraryManager::T_interfaceSpecs& keys) {

	std::set<AIInterfaceKey>::const_iterator key;
	int minDiff = INT_MAX;
	AIInterfaceKey fittingKey = AIInterfaceKey(); // unspecified key
	for (key=keys.begin(); key!=keys.end(); key++) {
		if (shortName == key->GetShortName()) {
			int diff = IAILibraryManager::VersionCompare(key->GetVersion(), minVersion);
			if (diff >= 0 && diff < minDiff) {
				fittingKey = *key;
				minDiff = diff;
			}
		}
	}

	return fittingKey;
}