// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License

namespace Azure.Iot.Operations.ProtocolCompiler.UnitTests
{
    using System.Collections.Generic;
    using System.Text.Json.Serialization;

    public class TestCommandLine
    {
        [JsonPropertyName("things")]
        public string[] ThingFiles { get; set; } = [];

        [JsonPropertyName("clientThings")]
        public string[] ClientThingFiles { get; set; } = [];

        [JsonPropertyName("serverThings")]
        public string[] ServerThingFiles { get; set; } = [];

        [JsonPropertyName("schemas")]
        public string[] SchemaFiles { get; set; } = [];

        [JsonPropertyName("typeNamer")]
        public string? TypeNamerFile { get; set; }

        [JsonPropertyName("outDir")]
        public string? OutputDir { get; set; }

        [JsonPropertyName("workingDir")]
        public string? WorkingDir { get; set; }

        [JsonPropertyName("namespace")]
        public string? GenNamespace { get; set; }

        [JsonPropertyName("common")]
        public string? CommonNamespace { get; set; }

        [JsonPropertyName("target")]
        public string? SdkTarget { get; set; }

        [JsonPropertyName("sdkPath")]
        public string? SdkPath { get; set; }

        [JsonPropertyName("lang")]
        public string? Language { get; set; }

        [JsonPropertyName("noProj")]
        public bool NoProj { get; set; }

        [JsonPropertyName("defaultImpl")]
        public bool DefaultImpl { get; set; }
    }
}
