private void AddToGrainInterfaceToClassMap(Type grainClass, IEnumerable <Type> grainInterfaces, bool isUnordered) { var placement = GrainTypeData.GetPlacementStrategy(grainClass, this.defaultPlacementStrategy); foreach (var iface in grainInterfaces) { var isPrimaryImplementor = IsPrimaryImplementor(grainClass, iface); grainInterfaceMap.AddEntry(iface, grainClass, placement, isPrimaryImplementor); } if (isUnordered) { grainInterfaceMap.AddToUnorderedList(grainClass); } }
private void AddToGrainInterfaceToClassMap(Type grainClass, IEnumerable <Type> grainInterfaces, bool isUnordered) { var grainClassCompleteName = TypeUtils.GetFullName(grainClass); var grainClassTypeCode = CodeGeneration.GrainInterfaceData.GetGrainClassTypeCode(grainClass); var placement = GrainTypeData.GetPlacementStrategy(grainClass); foreach (var iface in grainInterfaces) { var ifaceCompleteName = TypeUtils.GetFullName(iface); var ifaceName = TypeUtils.GetRawClassName(ifaceCompleteName); var isPrimaryImplementor = IsPrimaryImplementor(grainClass, iface); var ifaceId = CodeGeneration.GrainInterfaceData.GetGrainInterfaceId(iface); grainInterfaceMap.AddEntry(ifaceId, iface, grainClassTypeCode, ifaceName, grainClassCompleteName, grainClass.Assembly.CodeBase, placement, isPrimaryImplementor); } if (isUnordered) { grainInterfaceMap.AddToUnorderedList(grainClassTypeCode); } }
private void AddToGrainInterfaceToClassMap(Type grainClass, IEnumerable <Type> grainInterfaces, bool isUnordered) { var grainTypeInfo = grainClass.GetTypeInfo(); var grainClassCompleteName = TypeUtils.GetFullName(grainTypeInfo); var isGenericGrainClass = grainTypeInfo.ContainsGenericParameters; var grainClassTypeCode = GrainInterfaceUtils.GetGrainClassTypeCode(grainClass); var placement = GrainTypeData.GetPlacementStrategy(grainClass, this.defaultPlacementStrategy); var registrationStrategy = GrainTypeData.GetMultiClusterRegistrationStrategy(grainClass); foreach (var iface in grainInterfaces) { var ifaceCompleteName = TypeUtils.GetFullName(iface); var ifaceName = TypeUtils.GetRawClassName(ifaceCompleteName); var isPrimaryImplementor = IsPrimaryImplementor(grainClass, iface); var ifaceId = GrainInterfaceUtils.GetGrainInterfaceId(iface); grainInterfaceMap.AddEntry(ifaceId, iface, grainClassTypeCode, ifaceName, grainClassCompleteName, grainTypeInfo.Assembly.CodeBase, isGenericGrainClass, placement, registrationStrategy, isPrimaryImplementor); } if (isUnordered) { grainInterfaceMap.AddToUnorderedList(grainClassTypeCode); } }