internal static unsafe ServiceGroupMemberType CreateFromNative( NativeTypes.FABRIC_SERVICE_GROUP_MEMBER_TYPE_QUERY_RESULT_ITEM nativeResultItem) { NativeTypes.FABRIC_SERVICE_GROUP_TYPE_MEMBER_DESCRIPTION_LIST *nativeMemberList = (NativeTypes.FABRIC_SERVICE_GROUP_TYPE_MEMBER_DESCRIPTION_LIST *)nativeResultItem.ServiceGroupMemberTypeDescription; ICollection <ServiceGroupTypeMemberDescription> serviceGroupMemberTypeDescription = new Collection <ServiceGroupTypeMemberDescription>(); for (int i = 0; i < nativeMemberList->Count; i++) { serviceGroupMemberTypeDescription.Add( ServiceGroupTypeMemberDescription.CreateFromNative(nativeMemberList->Items + (i * Marshal.SizeOf(typeof(NativeTypes.FABRIC_SERVICE_GROUP_TYPE_MEMBER_DESCRIPTION))), true)); } return(new ServiceGroupMemberType( serviceGroupMemberTypeDescription, NativeTypes.FromNativeString(nativeResultItem.ServiceManifestVersion), NativeTypes.FromNativeString(nativeResultItem.ServiceManifestName))); }
internal static unsafe ServiceGroupTypeDescription CreateFromNative(IntPtr descriptionPtr) { NativeTypes.FABRIC_SERVICE_GROUP_TYPE_DESCRIPTION *nativeDescription = (NativeTypes.FABRIC_SERVICE_GROUP_TYPE_DESCRIPTION *)descriptionPtr; ServiceGroupTypeDescription description = new ServiceGroupTypeDescription(); description.ServiceTypeDescription = ServiceTypeDescription.CreateFromNative(nativeDescription->Description); bool isStateful = (description.ServiceTypeDescription.ServiceTypeKind == ServiceDescriptionKind.Stateful); NativeTypes.FABRIC_SERVICE_GROUP_TYPE_MEMBER_DESCRIPTION_LIST *nativeMemberList = (NativeTypes.FABRIC_SERVICE_GROUP_TYPE_MEMBER_DESCRIPTION_LIST *)nativeDescription->Members; for (int i = 0; i < nativeMemberList->Count; ++i) { description.Members.Add(ServiceGroupTypeMemberDescription.CreateFromNative(nativeMemberList->Items + (i * Marshal.SizeOf(typeof(NativeTypes.FABRIC_SERVICE_GROUP_TYPE_MEMBER_DESCRIPTION))), isStateful)); } description.UseImplicitFactory = NativeTypes.FromBOOLEAN(nativeDescription->UseImplicitFactory); return(description); }