classdef (Abstract) IRtIOStreamApplicationService < handle
    %IRTIOSTREAMAPPLICATIONSERVICE Service interface to allow PIL and other 
    %connectivity workflows to run executables on the target platform

%   Copyright 2020-2023 The MathWorks, Inc.
        
    methods (Abstract)
        
        % Starts the specified application on the target platform with he
        % specified arguments
        start(this, application, debuggingInfo, topContext);
        
        % Returns true if the rtiostream application is running, false
        % otherwise
        value = getIsRunning(this);
        
        % Stops the running application started by a call to 'start'
        stop(this);
        
        % Gets the current rtw.connectivity.RtIOStream object for the
        % host connection to the target
        value = getRtIOStreamInstance(this);        
        
        % Get the target send buffer size in bytes
        value = getSendBufferSize(this);
        
        % Get the target receive buffer size in bytes
        value = getReceiveBufferSize(this);
        
        % Continue execution in the debugger if stopped at a valid
        % breakpoint
        continueDebuggerExecution(this, validBreakpoints);

	% Display target stdout, stderr
        displayStandardMessages(this);

        % get time to wait for graceful termination for SIL
        timeout = getTimeoutForTermination(this);
    end
end
