internal static unsafe RestartNodeDescriptionUsingNodeName CreateFromNative(IntPtr nativeRaw) { NativeTypes.FABRIC_RESTART_NODE_DESCRIPTION_USING_NODE_NAME native = *(NativeTypes.FABRIC_RESTART_NODE_DESCRIPTION_USING_NODE_NAME *)nativeRaw; string nodeName = NativeTypes.FromNativeString(native.NodeName); BigInteger nodeInstance = new BigInteger(native.NodeInstance); bool shouldCreateFabricDump = NativeTypes.FromBOOLEAN(native.ShouldCreateFabricDump); CompletionMode completionMode = CompletionMode.Invalid; switch (native.CompletionMode) { case NativeTypes.FABRIC_COMPLETION_MODE.FABRIC_COMPLETION_MODE_DO_NOT_VERIFY: completionMode = CompletionMode.DoNotVerify; break; case NativeTypes.FABRIC_COMPLETION_MODE.FABRIC_COMPLETION_MODE_VERIFY: completionMode = CompletionMode.Verify; break; default: completionMode = CompletionMode.Invalid; break; } return(new RestartNodeDescriptionUsingNodeName(nodeName, nodeInstance, shouldCreateFabricDump, completionMode)); }
internal IntPtr ToNative(PinCollection pinCollection) { var nativeRestartNodeDescriptionUsingNodeName = new NativeTypes.FABRIC_RESTART_NODE_DESCRIPTION_USING_NODE_NAME(); nativeRestartNodeDescriptionUsingNodeName.NodeName = pinCollection.AddObject(this.NodeName); // make it Utility.To... nativeRestartNodeDescriptionUsingNodeName.NodeInstance = (ulong)this.NodeInstance; nativeRestartNodeDescriptionUsingNodeName.ShouldCreateFabricDump = NativeTypes.ToBOOLEAN(this.ShouldCreateFabricDump); switch (this.CompletionMode) { case CompletionMode.DoNotVerify: nativeRestartNodeDescriptionUsingNodeName.CompletionMode = NativeTypes.FABRIC_COMPLETION_MODE.FABRIC_COMPLETION_MODE_DO_NOT_VERIFY; break; case CompletionMode.Verify: nativeRestartNodeDescriptionUsingNodeName.CompletionMode = NativeTypes.FABRIC_COMPLETION_MODE.FABRIC_COMPLETION_MODE_VERIFY; break; default: nativeRestartNodeDescriptionUsingNodeName.CompletionMode = NativeTypes.FABRIC_COMPLETION_MODE.FABRIC_COMPLETION_MODE_INVALID; break; } return(pinCollection.AddBlittable(nativeRestartNodeDescriptionUsingNodeName)); }