void FRiderSourceCodeAccessModule::GenerateSlnAccessors()

in Source/RiderSourceCodeAccess/Private/RiderSourceCodeAccessorModule.cpp [37:60]


void FRiderSourceCodeAccessModule::GenerateSlnAccessors(const TArray<FInstallInfo>& InstallInfos)
{
#if PLATFORM_WINDOWS
	if(InstallInfos.Num() == 0) return;
	
	if(InstallInfos.Num() > 1)
	{
		for (const FInstallInfo& InstallInfo : InstallInfos)
		{
			TSharedRef<FRiderSourceCodeAccessor> RiderSourceCodeAccessor = MakeShareable(new FRiderSourceCodeAccessor());
			RiderSourceCodeAccessor->Init(InstallInfo, FRiderSourceCodeAccessor::EProjectModel::Sln);
			IModularFeatures::Get().RegisterModularFeature(FRiderSourceCodeAccessor::FeatureType(), &RiderSourceCodeAccessor.Get());
			RiderSourceCodeAccessors.Add(RiderSourceCodeAccessor->GetFName(), RiderSourceCodeAccessor);
		}

	}

	const TSharedRef<FRiderSourceCodeAccessor> RiderSourceCodeAccessor = MakeShareable(new FRiderSourceCodeAccessor());
	RiderSourceCodeAccessor->Init(InstallInfos.Last(), FRiderSourceCodeAccessor::EProjectModel::Sln,
	                              FRiderSourceCodeAccessor::EAccessType::Aggregate);
	IModularFeatures::Get().RegisterModularFeature(FRiderSourceCodeAccessor::FeatureType(), &RiderSourceCodeAccessor.Get());
	RiderSourceCodeAccessors.Add(TEXT("Rider"), RiderSourceCodeAccessor);
#endif
}