internal static unsafe DeployedServicePackageHealthState FromNative(NativeTypes.FABRIC_DEPLOYED_SERVICE_PACKAGE_HEALTH_STATE nativeState) { var deployedServicePackageHealthState = new DeployedServicePackageHealthState(); deployedServicePackageHealthState.ApplicationName = NativeTypes.FromNativeUri(nativeState.ApplicationName); deployedServicePackageHealthState.ServiceManifestName = NativeTypes.FromNativeString(nativeState.ServiceManifestName); deployedServicePackageHealthState.NodeName = NativeTypes.FromNativeString(nativeState.NodeName); deployedServicePackageHealthState.AggregatedHealthState = (HealthState)nativeState.AggregatedHealthState; if (nativeState.Reserved != IntPtr.Zero) { var nativeStateEx1 = (NativeTypes.FABRIC_DEPLOYED_SERVICE_PACKAGE_HEALTH_STATE_EX1 *)nativeState.Reserved; deployedServicePackageHealthState.ServicePackageActivationId = NativeTypes.FromNativeString(nativeStateEx1->ServicePackageActivationId); } return(deployedServicePackageHealthState); }
private static unsafe DeployedApplicationHealth FromNative(NativeTypes.FABRIC_DEPLOYED_APPLICATION_HEALTH *nativeHealth) { var managedHealth = new DeployedApplicationHealth(); managedHealth.AggregatedHealthState = (HealthState)nativeHealth->AggregatedHealthState; managedHealth.HealthEvents = HealthEvent.FromNativeList(nativeHealth->HealthEvents); managedHealth.ApplicationName = NativeTypes.FromNativeUri(nativeHealth->ApplicationName); managedHealth.NodeName = NativeTypes.FromNativeString(nativeHealth->NodeName); managedHealth.DeployedServicePackageHealthStates = DeployedServicePackageHealthState.FromNativeList(nativeHealth->DeployedServicePackageHealthStates); if (nativeHealth->Reserved != IntPtr.Zero) { var nativeHealthEx1 = (NativeTypes.FABRIC_DEPLOYED_APPLICATION_HEALTH_EX1 *)nativeHealth->Reserved; managedHealth.UnhealthyEvaluations = HealthEvaluation.FromNativeList(nativeHealthEx1->UnhealthyEvaluations); if (nativeHealthEx1->Reserved != IntPtr.Zero) { var nativeHealthEx2 = (NativeTypes.FABRIC_DEPLOYED_APPLICATION_HEALTH_EX2 *)nativeHealthEx1->Reserved; managedHealth.HealthStatistics = HealthStatistics.CreateFromNative(nativeHealthEx2->HealthStatistics); } } return(managedHealth); }