internal static VideoSink DeserializeVideoSink(JsonElement element) { string videoName = default; Optional <VideoCreationProperties> videoCreationProperties = default; string localMediaCachePath = default; string localMediaCacheMaximumSizeMiB = default; string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("videoName")) { videoName = property.Value.GetString(); continue; } if (property.NameEquals("videoCreationProperties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } videoCreationProperties = VideoCreationProperties.DeserializeVideoCreationProperties(property.Value); continue; } if (property.NameEquals("localMediaCachePath")) { localMediaCachePath = property.Value.GetString(); continue; } if (property.NameEquals("localMediaCacheMaximumSizeMiB")) { localMediaCacheMaximumSizeMiB = property.Value.GetString(); continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new VideoSink(type, name, inputs, videoName, videoCreationProperties.Value, localMediaCachePath, localMediaCacheMaximumSizeMiB)); }
internal static MotionDetectionProcessor DeserializeMotionDetectionProcessor(JsonElement element) { Optional <MotionDetectionSensitivity> sensitivity = default; Optional <bool> outputMotionRegion = default; Optional <string> eventAggregationWindow = default; string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("sensitivity")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } sensitivity = new MotionDetectionSensitivity(property.Value.GetString()); continue; } if (property.NameEquals("outputMotionRegion")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } outputMotionRegion = property.Value.GetBoolean(); continue; } if (property.NameEquals("eventAggregationWindow")) { eventAggregationWindow = property.Value.GetString(); continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new MotionDetectionProcessor(type, name, inputs, Optional.ToNullable(sensitivity), Optional.ToNullable(outputMotionRegion), eventAggregationWindow.Value)); }
internal static SignalGateProcessor DeserializeSignalGateProcessor(JsonElement element) { Optional <string> activationEvaluationWindow = default; Optional <string> activationSignalOffset = default; Optional <string> minimumActivationTime = default; Optional <string> maximumActivationTime = default; string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("activationEvaluationWindow")) { activationEvaluationWindow = property.Value.GetString(); continue; } if (property.NameEquals("activationSignalOffset")) { activationSignalOffset = property.Value.GetString(); continue; } if (property.NameEquals("minimumActivationTime")) { minimumActivationTime = property.Value.GetString(); continue; } if (property.NameEquals("maximumActivationTime")) { maximumActivationTime = property.Value.GetString(); continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new SignalGateProcessor(type, name, inputs, activationEvaluationWindow.Value, activationSignalOffset.Value, minimumActivationTime.Value, maximumActivationTime.Value)); }
internal static HttpExtension DeserializeHttpExtension(JsonElement element) { EndpointBase endpoint = default; ImageProperties image = default; Optional <SamplingOptions> samplingOptions = default; string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("endpoint")) { endpoint = EndpointBase.DeserializeEndpointBase(property.Value); continue; } if (property.NameEquals("image")) { image = ImageProperties.DeserializeImageProperties(property.Value); continue; } if (property.NameEquals("samplingOptions")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } samplingOptions = SamplingOptions.DeserializeSamplingOptions(property.Value); continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new HttpExtension(type, name, inputs, endpoint, image, samplingOptions.Value)); }
internal static ProcessorNodeBase DeserializeProcessorNodeBase(JsonElement element) { if (element.TryGetProperty("@type", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "#Microsoft.VideoAnalyzer.CognitiveServicesVisionProcessor": return(CognitiveServicesVisionProcessor.DeserializeCognitiveServicesVisionProcessor(element)); case "#Microsoft.VideoAnalyzer.ExtensionProcessorBase": return(ExtensionProcessorBase.DeserializeExtensionProcessorBase(element)); case "#Microsoft.VideoAnalyzer.GrpcExtension": return(GrpcExtension.DeserializeGrpcExtension(element)); case "#Microsoft.VideoAnalyzer.HttpExtension": return(HttpExtension.DeserializeHttpExtension(element)); case "#Microsoft.VideoAnalyzer.LineCrossingProcessor": return(LineCrossingProcessor.DeserializeLineCrossingProcessor(element)); case "#Microsoft.VideoAnalyzer.MotionDetectionProcessor": return(MotionDetectionProcessor.DeserializeMotionDetectionProcessor(element)); case "#Microsoft.VideoAnalyzer.ObjectTrackingProcessor": return(ObjectTrackingProcessor.DeserializeObjectTrackingProcessor(element)); case "#Microsoft.VideoAnalyzer.SignalGateProcessor": return(SignalGateProcessor.DeserializeSignalGateProcessor(element)); } } string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new ProcessorNodeBase(type, name, inputs)); }
internal static FileSink DeserializeFileSink(JsonElement element) { string baseDirectoryPath = default; string fileNamePattern = default; string maximumSizeMiB = default; string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("baseDirectoryPath")) { baseDirectoryPath = property.Value.GetString(); continue; } if (property.NameEquals("fileNamePattern")) { fileNamePattern = property.Value.GetString(); continue; } if (property.NameEquals("maximumSizeMiB")) { maximumSizeMiB = property.Value.GetString(); continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new FileSink(type, name, inputs, baseDirectoryPath, fileNamePattern, maximumSizeMiB)); }
internal static ObjectTrackingProcessor DeserializeObjectTrackingProcessor(JsonElement element) { Optional <ObjectTrackingAccuracy> accuracy = default; string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("accuracy")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } accuracy = new ObjectTrackingAccuracy(property.Value.GetString()); continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new ObjectTrackingProcessor(type, name, inputs, Optional.ToNullable(accuracy))); }
internal static LineCrossingProcessor DeserializeLineCrossingProcessor(JsonElement element) { IList <NamedLineBase> lines = default; string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("lines")) { List <NamedLineBase> array = new List <NamedLineBase>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NamedLineBase.DeserializeNamedLineBase(item)); } lines = array; continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new LineCrossingProcessor(type, name, inputs, lines)); }
internal static SinkNodeBase DeserializeSinkNodeBase(JsonElement element) { if (element.TryGetProperty("@type", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "#Microsoft.VideoAnalyzer.FileSink": return(FileSink.DeserializeFileSink(element)); case "#Microsoft.VideoAnalyzer.IotHubMessageSink": return(IotHubMessageSink.DeserializeIotHubMessageSink(element)); case "#Microsoft.VideoAnalyzer.VideoSink": return(VideoSink.DeserializeVideoSink(element)); } } string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new SinkNodeBase(type, name, inputs)); }
internal static IotHubMessageSink DeserializeIotHubMessageSink(JsonElement element) { string hubOutputName = default; string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("hubOutputName")) { hubOutputName = property.Value.GetString(); continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new IotHubMessageSink(type, name, inputs, hubOutputName)); }
internal static ExtensionProcessorBase DeserializeExtensionProcessorBase(JsonElement element) { if (element.TryGetProperty("@type", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "#Microsoft.VideoAnalyzer.GrpcExtension": return(GrpcExtension.DeserializeGrpcExtension(element)); case "#Microsoft.VideoAnalyzer.HttpExtension": return(HttpExtension.DeserializeHttpExtension(element)); } } EndpointBase endpoint = default; ImageProperties image = default; Optional <SamplingOptions> samplingOptions = default; string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("endpoint")) { endpoint = EndpointBase.DeserializeEndpointBase(property.Value); continue; } if (property.NameEquals("image")) { image = ImageProperties.DeserializeImageProperties(property.Value); continue; } if (property.NameEquals("samplingOptions")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } samplingOptions = SamplingOptions.DeserializeSamplingOptions(property.Value); continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new ExtensionProcessorBase(type, name, inputs, endpoint, image, samplingOptions.Value)); }
internal static CognitiveServicesVisionProcessor DeserializeCognitiveServicesVisionProcessor(JsonElement element) { EndpointBase endpoint = default; Optional <ImageProperties> image = default; Optional <SamplingOptions> samplingOptions = default; SpatialAnalysisOperationBase operation = default; string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("endpoint")) { endpoint = EndpointBase.DeserializeEndpointBase(property.Value); continue; } if (property.NameEquals("image")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } image = ImageProperties.DeserializeImageProperties(property.Value); continue; } if (property.NameEquals("samplingOptions")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } samplingOptions = SamplingOptions.DeserializeSamplingOptions(property.Value); continue; } if (property.NameEquals("operation")) { operation = SpatialAnalysisOperationBase.DeserializeSpatialAnalysisOperationBase(property.Value); continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new CognitiveServicesVisionProcessor(type, name, inputs, endpoint, image.Value, samplingOptions.Value, operation)); }