예제 #1
0
        /// <summary>
        /// Serializes the object to JSON.
        /// </summary>
        /// <param name="writer">The <see cref="T: Newtonsoft.Json.JsonWriter" /> to write to.</param>
        /// <param name="obj">The object to serialize to JSON.</param>
        internal static void Serialize(JsonWriter writer, NodeHealthStateFilter obj)
        {
            // Required properties are always serialized, optional properties are serialized when not null.
            writer.WriteStartObject();
            if (obj.NodeNameFilter != null)
            {
                writer.WriteProperty(obj.NodeNameFilter, "NodeNameFilter", JsonWriterExtensions.WriteStringValue);
            }

            if (obj.HealthStateFilter != null)
            {
                writer.WriteProperty(obj.HealthStateFilter, "HealthStateFilter", JsonWriterExtensions.WriteIntValue);
            }

            writer.WriteEndObject();
        }
예제 #2
0
        internal IntPtr ToNative(PinCollection pinCollection)
        {
            var nativeClusterHealthChunkQueryDescription = new NativeTypes.FABRIC_CLUSTER_HEALTH_CHUNK_QUERY_DESCRIPTION();

            if (this.ClusterHealthPolicy != null)
            {
                nativeClusterHealthChunkQueryDescription.ClusterHealthPolicy = this.ClusterHealthPolicy.ToNative(pinCollection);
            }

            nativeClusterHealthChunkQueryDescription.ApplicationHealthPolicyMap = this.ApplicationHealthPolicies.ToNative(pinCollection);

            nativeClusterHealthChunkQueryDescription.ApplicationFilters = ApplicationHealthStateFilter.ToNativeList(pinCollection, this.ApplicationFilters);
            nativeClusterHealthChunkQueryDescription.NodeFilters        = NodeHealthStateFilter.ToNativeList(pinCollection, this.NodeFilters);

            return(pinCollection.AddBlittable(nativeClusterHealthChunkQueryDescription));
        }