classdef HostOperatingSystemSupport < target.Data

    properties (Dependent)
        Linux (1, 1) logical
        Mac (1, 1) logical
        Windows (1, 1) logical
    end

    methods

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

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

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

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

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

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

    methods (Static)

        function varargout = All()
            [varargout{1:nargout}] = target.internal.HostOperatingSystemSupport.All();
            [varargout{:}] = targetframework.internal.user.commandline.matlab.Helpers.wrapValues(varargout{:});
        end

        function varargout = LinuxOnly()
            [varargout{1:nargout}] = target.internal.HostOperatingSystemSupport.LinuxOnly();
            [varargout{:}] = targetframework.internal.user.commandline.matlab.Helpers.wrapValues(varargout{:});
        end

        function varargout = MacOnly()
            [varargout{1:nargout}] = target.internal.HostOperatingSystemSupport.MacOnly();
            [varargout{:}] = targetframework.internal.user.commandline.matlab.Helpers.wrapValues(varargout{:});
        end

        function varargout = WindowsOnly()
            [varargout{1:nargout}] = target.internal.HostOperatingSystemSupport.WindowsOnly();
            [varargout{:}] = targetframework.internal.user.commandline.matlab.Helpers.wrapValues(varargout{:});
        end
    end

    methods (Static, Access = protected)

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

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

%   Copyright 2021-2022 The MathWorks, Inc.