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