function outInfo=sfinfo(arg),
%SFINFO MATLAB Demo helper function for keeping list data.
% outInfo=sfinfo returns a data structure that lists all demos
% for Stateflow.
 
%   Copyright (c) 1995-2000 by The MathWorks, Inc.
%   $Revision: 1.20 $  $Date: 2000/09/15 19:58:04 $
 


  % Initialize demo index number
  n=0;

  n=n+1;

  %
  % List 1
  %
  stateList(n).Name='Stateflow Examples';
  stateList(n).Help= ...
              {'Stateflow provides a complete environment in   '
              ' which you can model all types of reactive      '
              ' systems.  It works closely with Simulink to    '
              ' provide a complete system simulation           '
              ' environment.                                   '
              '                                                '
              ' In addition, Stateflow can produce efficient   '
              ' production-quality code so that you can turn   '
              ' your thoughts and ideas into real systems.     '
              '                                                '};

  stateList(n).DemoList={
      'Sensor Failure Detection (sim)'         %1
      'Bang-Bang control using Temporal Logic' %2
      'Automatic Transmission Control'         %3
      'Electrohydraulic Servomechanism'        %4
      'Home security system'                   %5
      'Stick-Slip Friction Demonstration'      %6
	  'Model of a Hand-Held Game'              %7
      'Yo-Yo control of a Tethered Satellite'  %8
      'Icon Editor GUI Demonstration'          %9
  };
         
  stateList(n).FcnList={
      'fuelsys'                 %1
      'sf_boiler'               %2
      'sf_car'                  %3
      'sf_electrohydraulic'     %4
      'sf_security'             %5
      'sf_stickslip'            %6
      'sf_tictacflow'           %7
      'sf_yoyo'                 %8
      'sfediticon'              %9
  };

  %
  % List 2
  %
  n=n+1;

 
if nargin == 0,
  %
  % Return the stateflow list.
  %
  outInfo=stateList;

else,
  %
  % Return demo and fcn list for appropriate category of the Simulink
  % demo so that we can show cross product features that apply to industry.
  %
  switch(arg),
    case 'auto',
      simDemoList = {
        stateList(1).DemoList{1}
        stateList(1).DemoList{2}
        stateList(1).DemoList{3}
      };

      simFcnList = {
        stateList(1).FcnList{1}
        stateList(1).FcnList{2}
        stateList(1).FcnList{3}
      };

    case 'aero',
      simDemoList = {
        stateList(1).DemoList{4}
      };

      simFcnList = {
        stateList(1).FcnList{4}
      };

    otherwise,
        error('unexpected category');
    end

    outInfo = {simDemoList, simFcnList};
end



