-- IDL module extracted from ITU-T Z.165 (03/2011)

// ************************************************************************* // Interface definition for the TTCN3 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: TRIDefinition: 5.5) // ************************************************************************* // interface triCommunication { // Reset operation // Ref: TRIDefinition 5.5.1 TriStatusType triSAReset(); // Connection handling operations // Ref: TRIDefinition 5.5.2.1 TriStatusType triExecuteTestCase(in TriTestCaseIdType testCaseId, in TriPortIdListType tsiPortList); // Ref: TRIDefinition 5.5.2.2 TriStatusType triMap(in TriPortIdType compPortId, in TriPortIdType tsiPortId); // Ref: TRIDefinition 5.5.2.3 TriStatusType triUnmap(in TriPortIdType compPortId, in TriPortIdType tsiPortId); // Ref: TRIDefinition 5.5.2.4 TriStatusType triEndTestCase(); // Message based communication operations // Ref: TRIDefinition 5.5.3.1 TriStatusType triSend(in TriComponentIdType componentId, in TriPortIdType tsiPortId, in TriAddressType SUTaddress, in TriMessageType sendMessage); // Ref: TRIDefinition 5.5.3.2 TriStatusType triSendBC(in TriComponentIdType componentId, in TriPortIdType tsiPortId, in TriMessageType sendMessage); // Ref: TRIDefinition 5.5.3.3 TriStatusType triSendMC(in TriComponentIdType componentId, in TriPortIdType tsiPortId, in TriAddressListType SUTaddresses, in TriMessageType sendMessage); // Ref: TRIDefinition 5.5.3.4 void triEnqueueMsg(in TriPortIdType tsiPortId , in TriAddressType SUTaddress, in TriComponentIdType componentId, in TriMessageType receivedMessage); // Procedure based communication operations // Ref: TRIDefinition 5.5.4.1 TriStatusType triCall(in TriComponentIdType componentId, in TriPortIdType tsiPortId, in TriAddressType SUTaddress, in TriSignatureIdType signatureId, in TriParameterListType parameterList); // Ref: TRIDefinition 5.5.4.2 TriStatusType triCallBC(in TriComponentIdType componentId, in TriPortIdType tsiPortId, in TriSignatureIdType signatureId, in TriParameterListType parameterList); // Ref: TRIDefinition 5.5.4.3 TriStatusType triCallMC(in TriComponentIdType componentId, in TriPortIdType tsiPortId, in TriAddressListType SUTaddresses, in TriSignatureIdType signatureId, in TriParameterListType parameterList); // Ref: TRIDefinition 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: TRIDefinition 5.5.4.5 TriStatusType triReplyBC(in TriComponentIdType componentId, in TriPortIdType tsiPortId, in TriSignatureIdType signatureId, in TriParameterListType parameterList, in TriParameterType returnValue ); // Ref: TRIDefinition 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: TRIDefinition 5.5.4.7 TriStatusType triRaise(in TriComponentIdType componentId, in TriPortIdType tsiPortId, in TriAddressType SUTaddress, in TriSignatureIdType signatureId, in TriExceptionType exc); // Ref: TRIDefinition 5.5.4.8 TriStatusType triRaiseBC(in TriComponentIdType componentId, in TriPortIdType tsiPortId, in TriSignatureIdType signatureId, in TriExceptionType exc); // Ref: TRIDefinition 5.5.4.9 TriStatusType triRaiseMC(in TriComponentIdType componentId, in TriPortIdType tsiPortId, in TriAddressListType SUTaddresses, in TriSignatureIdType signatureId, in TriExceptionType exc); // Ref: TRIDefinition 5.5.4.10 void triEnqueueCall(in TriPortIdType tsiPortId, in TriAddressType SUTaddress, in TriComponentIdType componentId, in TriSignatureIdType signatureId, in TriParameterListType parameterList ); // Ref: TRIDefinition 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: TRIDefinition 5.5.4.12 void triEnqueueException(in TriPortIdType tsiPortId, in TriAddressType SUTaddress, in TriComponentIdType componentId, in TriSignatureIdType signatureId, in TriExceptionType exc); // Miscellaneous operations // Ref: TRIDefinition 5.5.5.1 TriStatusType triSUTactionInformal(in string description); }; // // ************************************************************************* // The platform interface (Ref: TRIDefinition: 5.6) // ************************************************************************* // interface triPlatform { // Reset Operation // Ref: TRIDefinition 5.6.1 TriStatusType triPAReset(); // Timer handling operations // Ref: TRIDefinition 5.6.2.1 TriStatusType triStartTimer(in TriTimerIdType timerId, in TriTimerDurationType timerDuration); // Ref: TRIDefinition 5.6.2.2 TriStatusType triStopTimer(in TriTimerIdType timerId); // Ref: TRIDefinition 5.6.2.3 TriStatusType triReadTimer(in TriTimerIdType timerId, out TriTimerDurationType elapsedTime); // Ref: TRIDefinition 5.6.2.4 TriStatusType triTimerRunning(in TriTimerIdType timerId, out boolean running); // Ref: TRIDefinition 5.6.2.5 void triTimeout(in TriTimerIdType timerId); // Miscellaneous operations // Ref: TRIDefinition 5.6.3.1 TriStatusType triExternalFunction(in TriFunctionIdType functionId, inout TriParameterListType parameterList, out TriParameterType returnValue); }; };