classdef BaseCallerFunctionInfo < handle
%BASECALLERFUNCTIONINFO: Additional interface for caller client function (in
% Client/Server semantics) and Queued Messages

% Copyright 2017-2018 The MathWorks, Inc.

properties (SetAccess = immutable, GetAccess = private)
FcnId = -1;
IsDefined = [];
end

methods (Abstract)
writeCallToFunction(this, writer, simStructArg, argsVarName, argPointerAccessString);
argPointerAccessString = defineArgsForSLCall(this, writer, argVarName);
writeSfunctionDataAssignmentForSLCall(this, sfunObj, writer, argVarName);
end
methods
function this = BaseCallerFunctionInfo( ...
fcnId, ...
isDefined)
this.FcnId = fcnId;
this.IsDefined = isDefined;
end

function fcnId = getFcnId(this)
% unique identifier for this caller function
fcnId = this.FcnId;
end

function isDefined = getIsDefined(this)
isDefined = this.IsDefined;
end
end
end