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
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;
}