classdef EnvironmentConfiguration < target.Data

    properties (Dependent)
        HostOperatingSystemSupport target.HostOperatingSystemSupport {mustBeScalarOrEmpty}
        SetupCommand target.Command {mustBeScalarOrEmpty}
        SystemPaths string {mustBeVector(SystemPaths, "allow-all-empties")}
    end

    methods

        function value = get.HostOperatingSystemSupport(this)
            value = this.wrapValue(this.InnerInstance.HostOperatingSystemSupport);
        end

        function set.HostOperatingSystemSupport(this, value)
            this.InnerInstance.HostOperatingSystemSupport = this.unwrapValue(value, this.InnerInstance.HostOperatingSystemSupport);
        end

        function value = get.SetupCommand(this)
            value = this.wrapValue(this.InnerInstance.SetupCommand);
        end

        function set.SetupCommand(this, value)
            this.InnerInstance.SetupCommand = this.unwrapValue(value, this.InnerInstance.SetupCommand);
        end

        function value = get.SystemPaths(this)
            value = this.InnerInstance.SystemPaths;
        end

        function set.SystemPaths(this, value)
            this.InnerInstance.SystemPaths = value;
        end
    end

    methods (Static, Access = protected)

        function name = getQualifiedName()
            name = "target.EnvironmentConfiguration";
        end

        function name = getQualifiedInnerName()
            name = "target.internal.EnvironmentConfiguration";
        end
    end
end

%   Copyright 2022 The MathWorks, Inc.