classdef (Hidden = true) StandaloneSILPILWrapperUtils < rtw.pil.SILPILWrapperUtils
%STANDALONESILPILWRAPPERUTILS SIL/PIL model reference code interface utilities
%
%   This is an undocumented class. Its methods and properties are likely to
%   change without warning from one release to the next.

%   Copyright 2010-2019 The MathWorks, Inc.
          
    methods
        % constructor
        function this = StandaloneSILPILWrapperUtils(silPILInterface, ...
                                            infoStruct, ...
                                            clientInterface, ...
                                            ~, ...
                                            lXilCompInfo)

                                        % call super class constructor                             
            this@rtw.pil.SILPILWrapperUtils(silPILInterface, ...
                                            infoStruct, ...
                                            clientInterface, ...
                                            [], ...
                                            lXilCompInfo);
                                        
            info = this.getInfoStruct.modelInterface;
            
            
            % Check that the model has inports
            if isfield(info,'Inports')  
                if isscalar(info.Inports)
                    inports{1} = info.Inports;
                else
                    inports = info.Inports;
                end
                
                for i = 1:numel(inports)
                    this.InportDirectFeedThrough(i) = inports{i}.DirectFeedThrough; %Caching DirectFeedThrough
                end
                
                
            else
                this.InportDirectFeedThrough = [];
            end            
            
        end  
    end
     
    
    methods (Access = 'protected')                                   
        function warnForUnsupportedTunableParameters = warnForUnsupportedTunableParameters(this) %#ok<MANU>
            % for backwards compatibility with behaviour when parameter
            % tuning was not supported, warn.
            warnForUnsupportedTunableParameters = true;
        end       
        
    end
end
