コード例 #1
0
        NativeCommon.IFabricAsyncOperationContext NativeContainerActivatorService.IFabricContainerActivatorService.BeginDownloadImages(
            IntPtr images,
            uint timeoutMilliseconds,
            NativeCommon.IFabricAsyncOperationCallback callback)
        {
            var imagesList = ContainerImageDescription.CreateFromNativeList(images);
            var timeout    = TimeSpan.FromMilliseconds(timeoutMilliseconds);

            return(Utility.WrapNativeAsyncMethodImplementation(
                       (cancellationToken) => this.activatorService.DownloadImagesAsync(imagesList, timeout),
                       callback,
                       "FabricContainerActivatorServiceBroker.DownloadImagesAsync",
                       ValidateAsyncApi));
        }
コード例 #2
0
        internal static unsafe ContainerImageDescription CreateFromNative(
            NativeTypes.FABRIC_CONTAINER_IMAGE_DESCRIPTION nativeDescription)
        {
            var containerImageDescription = new ContainerImageDescription
            {
                ImageName            = NativeTypes.FromNativeString(nativeDescription.ImageName),
                RepositoryCredential = RepositoryCredentialDescription.CreateFromNative(nativeDescription.RepositoryCredential),
            };

            if (nativeDescription.Reserved != null)
            {
                var nativeParametersEx1 = *((NativeTypes.FABRIC_CONTAINER_IMAGE_DESCRIPTION_EX1 *)nativeDescription.Reserved);
                containerImageDescription.UseDefaultRepositoryCredentials = NativeTypes.FromBOOLEAN(nativeParametersEx1.UseDefaultRepositoryCredentials);

                if (nativeParametersEx1.Reserved != null)
                {
                    var nativeParametersEx2 = *((NativeTypes.FABRIC_CONTAINER_IMAGE_DESCRIPTION_EX2 *)nativeParametersEx1.Reserved);
                    containerImageDescription.UseTokenAuthenticationCredentials = NativeTypes.FromBOOLEAN(nativeParametersEx2.UseTokenAuthenticationCredentials);
                }
            }

            return(containerImageDescription);
        }