classdef PILProtocol < target.CommunicationProtocolStack

    properties (Dependent)
        ByteInputOutputOnly (1, 1) logical
        OpenTimeout (1, 1) uint32
        ReceiveBufferSize (1, 1) uint32
        ReceiveTimeout (1, 1) uint32
        SendBufferSize (1, 1) uint32
        SendTimeout (1, 1) uint32
    end

    methods

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

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

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

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

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

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

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

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

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

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

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

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

    methods (Static, Access = protected)

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

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

%   Copyright 2021-2022 The MathWorks, Inc.