-- IDL module extracted from ITU-T Z.165 (05/2012)
// *************************************************************************
// Interface definition for the TTCN 3 Runtime Interface
// *************************************************************************
module triInterface
{
//
// *************************************************************************
// Types
// *************************************************************************
//
// Connection
native TriPortIdType;
typedef sequence<TriPortIdType> TriPortIdListType;
native TriComponentIdType;
typedef sequence<TriComponentIdType> TriComponentIdListType;
// Communication
native TriMessageType;
native TriAddressType;
typedef sequence<TriAddressType> TriAddressListType;
native TriSignatureIdType;
native TriParameterType;
typedef sequence<TriParameterType> TriParameterListType;
native TriExceptionType;
// Timing
native TriTimerIdType;
native TriTimerDurationType;
// Miscellaneous
native TriFunctionIdType;
native TriTestCaseIdType;
native TriStatusType;
//
// *************************************************************************
// Interfaces
// *************************************************************************
//
//
// *************************************************************************
// The communication interface (Ref: TRI Definition: 5.5)
// *************************************************************************
//
interface triCommunication
{
// Reset operation
// Ref: TRI Definition 5.5.1
TriStatusType triSAReset();
// Connection handling operations
// Ref: TRI Definition 5.5.2.1
TriStatusType triExecuteTestCase(in TriTestCaseIdType testCaseId,
in TriPortIdListType tsiPortList);
// Ref: TRI Definition 5.5.2.2
TriStatusType triMap(in TriPortIdType compPortId, in TriPortIdType tsiPortId);
// Ref: TRI Definition 5.5.2.3
TriStatusType triMapParam(in TriPortIdType compPortId, in TriPortIdType tsiPortId, in TriParameterListType paramList);
// Ref: TRI Definition 5.5.2.4
TriStatusType triUnmap(in TriPortIdType compPortId, in TriPortIdType tsiPortId);
// Ref: TRI Definition 5.5.2.5
TriStatusType triUnmapParam(in TriPortIdType compPortId, in TriPortIdType tsiPortId, in TriParameterListType paramList);
// Ref: TRI Definition 5.5.2.6
TriStatusType triEndTestCase();
// Message based communication operations
// Ref: TRI Definition 5.5.3.1
TriStatusType triSend(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriAddressType SUTaddress, in TriMessageType sendMessage);
// Ref: TRI Definition 5.5.3.2
TriStatusType triSendBC(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriMessageType sendMessage);
// Ref: TRI Definition 5.5.3.3
TriStatusType triSendMC(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriAddressListType SUTaddresses, in TriMessageType sendMessage);
// Ref: TRI Definition 5.5.3.4
void triEnqueueMsg(in TriPortIdType tsiPortId , in TriAddressType SUTaddress,
in TriComponentIdType componentId, in TriMessageType receivedMessage);
// Procedure based communication operations
// Ref: TRI Definition 5.5.4.1
TriStatusType triCall(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriAddressType SUTaddress, in TriSignatureIdType signatureId,
in TriParameterListType parameterList);
// Ref: TRI Definition 5.5.4.2
TriStatusType triCallBC(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriSignatureIdType signatureId,
in TriParameterListType parameterList);
// Ref: TRI Definition 5.5.4.3
TriStatusType triCallMC(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriAddressListType SUTaddresses, in TriSignatureIdType signatureId,
in TriParameterListType parameterList);
// Ref: TRI Definition 5.5.4.4
TriStatusType triReply(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriAddressType SUTaddress, in TriSignatureIdType signatureId,
in TriParameterListType parameterList, in TriParameterType returnValue );
// Ref: TRI Definition 5.5.4.5
TriStatusType triReplyBC(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriSignatureIdType signatureId,
in TriParameterListType parameterList, in TriParameterType returnValue );
// Ref: TRI Definition 5.5.4.6
TriStatusType triReplyMC(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriAddressListType SUTaddresses, in TriSignatureIdType signatureId,
in TriParameterListType parameterList, in TriParameterType returnValue );
// Ref: TRI Definition 5.5.4.7
TriStatusType triRaise(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriAddressType SUTaddress, in TriSignatureIdType signatureId,
in TriExceptionType exc);
// Ref: TRI Definition 5.5.4.8
TriStatusType triRaiseBC(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriSignatureIdType signatureId,
in TriExceptionType exc);
// Ref: TRI Definition 5.5.4.9
TriStatusType triRaiseMC(in TriComponentIdType componentId, in TriPortIdType tsiPortId,
in TriAddressListType SUTaddresses, in TriSignatureIdType signatureId,
in TriExceptionType exc);
// Ref: TRI Definition 5.5.4.10
void triEnqueueCall(in TriPortIdType tsiPortId, in TriAddressType SUTaddress,
in TriComponentIdType componentId, in TriSignatureIdType signatureId,
in TriParameterListType parameterList );
// Ref: TRI Definition 5.5.4.11
void triEnqueueReply(in TriPortIdType tsiPortId, in TriAddressType SUTaddress,
in TriComponentIdType componentId, in TriSignatureIdType signatureId,
in TriParameterListType parameterList, in TriParameterType returnValue );
// Ref: TRI Definition 5.5.4.12
void triEnqueueException(in TriPortIdType tsiPortId, in TriAddressType SUTaddress,
in TriComponentIdType componentId, in TriSignatureIdType signatureId,
in TriExceptionType exc);
// Miscellaneous operations
// Ref: TRI Definition 5.5.5.1
TriStatusType triSUTactionInformal(in string description);
};
//
// *************************************************************************
// The platform interface (Ref: TRI Definition: 5.6)
// *************************************************************************
//
interface triPlatform
{
// Reset Operation
// Ref: TRI Definition 5.6.1
TriStatusType triPAReset();
// Timer handling operations
// Ref: TRI Definition 5.6.2.1
TriStatusType triStartTimer(in TriTimerIdType timerId,
in TriTimerDurationType timerDuration);
// Ref: TRI Definition 5.6.2.2
TriStatusType triStopTimer(in TriTimerIdType timerId);
// Ref: TRI Definition 5.6.2.3
TriStatusType triReadTimer(in TriTimerIdType timerId,
out TriTimerDurationType elapsedTime);
// Ref: TRI Definition 5.6.2.4
TriStatusType triTimerRunning(in TriTimerIdType timerId, out boolean running);
// Ref: TRI Definition 5.6.2.5
void triTimeout(in TriTimerIdType timerId);
// Miscellaneous operations
// Ref: TRI Definition 5.6.3.1
TriStatusType triExternalFunction(in TriFunctionIdType functionId,
inout TriParameterListType parameterList,
out TriParameterType returnValue);
};
};