classdef TargetConnection < target.Connection

    properties (Dependent)
        ConnectionProperties target.ConnectionProperties {mustBeScalarOrEmpty}
        Target target.physical.Component {mustBeScalarOrEmpty}
        TargetConnectionProperties target.ConnectionProperties {mustBeScalarOrEmpty}
    end

    methods

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

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

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

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

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

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

    methods (Static, Access = protected)

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

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

%   Copyright 2021-2022 The MathWorks, Inc.