classdef (Hidden = true) CodeInterfaceFactory < handle
%CODEINTERFACEFACTORY Factory for SIL/PIL code interface objects
%
%   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 (Abstract)
       % CodeInfoUtils
       codeInfoUtils = createCodeInfoUtils(this, ...
                                           codeInfoPath, ...
                                           clientInterface,...
                                           configInterface, ...
                                           componentName, ...
                                           runValidation);
       
       % SILPILWrapperUtils
       silPILWrapperUtils = createSILPILWrapperUtils(this, ...
                                              silPILInterface, ...
                                              infoStruct, ...
                                              clientInterface,...
                                              topModelOriginalParams, ...
                                              lXilCompInfo);
       % Sfunction
       hostSfun = createHostSfunction(this, ...
                           silPILWrapperUtils, ...
                           sfunSourcePath, ...
                           sfunBinDir);
       
       % TargetInterface
       targetInterface = createTargetInterface(this, ...
                             silPILWrapperUtils, ...
                             pilInterfaceTarget);                              
    end        
end
