-- CS module extracted from ITU-T Z.165.1 (05/2012)

namespace Etsi.Ttcn3.XTri { public interface ITriBoolean { bool BooleanValue { get; set; } } public interface IQualifiedName { string ModuleName { get; } string BaseName { get; } bool Equals(IQualifiedName name); } public interface ITriPortId { string PortName { get; } ITriComponentId Component { get; } bool IsArray { get; } int PortIndex { get; } IQualifiedName PortTypeName { get; } } public interface ITriPortIdList : System.Collections.IEnumerable { int Size { get; } bool IsEmpty { get; } ITriPortId this[int index] { get; } } public interface ITriComponentId { string ComponentId { get; } string ComponentName { get; } IQualifiedName ComponentTypeName { get; } bool Equals(ITriComponentId comp); } public interface ITriComponentIdList : System.Collections.IEnumerable { int Size { get; } bool IsEmpty { get; } ITriComponentId this[int index] { get; } void Clear(); void Add(ITriComponentId comp); } public interface ITriMessage { byte[] EncodedMessage { get; set; } int NumberOfBits { get; } void SetEncodedMessage(byte[] data, int numberOfBits); bool Equals(ITriMessage msg); } public interface ITriAddress { byte[] EncodedAddress { get; set; } bool Equals(ITriAddress addr); } public interface ITriAddressList : System.Collections.IEnumerable { int Size { get; } bool IsEmpty { get; } ITriAddress this[int index] { get; } void Clear(); void Add(ITriAddress addr); } public interface ITriSignatureId : IQualifiedName { } public interface ITriParameter { string ParameterName { get; set; } TriParameterPassingMode ParameterPassingMode { get; set; } byte[] EncodedParameter { get; set; } } public interface ITriParameterList : System.Collections.IEnumerable { int Size { get; } bool IsEmpty { get; } ITriParameterId this[int index] { get; } void Clear(); void Add(ITriParameter comp); } public interface ITriException { byte[] EncodedException { get; set; } bool Equals(ITriException exception); } public interface ITriTimerId { string TimerName { get; } bool Equals(ITriTimerId timer); } public interface ITriTimerDuration { double Duration { get; set; } bool Equals(ITriTimerDuration duration); } public interface ITriFunctionId : IQualifiedName { } public interface ITriTestCaseId : IQualifiedName { } public enum TriStatus { TriOk = 0, TriError = -1 } public interface IXTriCommunicationSA { // Reset operation // Ref: TRI-Definition 5.5.1 TriStatus XTriMapParam(ITriPortId compPortId, ITriPortId tsiPortId, ITciValueList parameterList); // Ref: TRI-Definition 5.5.2.3 TriStatus XTriUnmapParam(ITriPortId compPortId, ITriPortId tsiPortId, ITciValueList parameterList); // Ref: TRI-Definition 5.5.2.4 // Message based communication operations // Ref: TRI-Definition 5.5.3.1 TriStatus XTriSend(ITriComponentId componentId, ITriPortId tsiPortId, ITciValue address, ITciValue sentMessage); // Ref: TRI-Definition 5.5.3.2 TriStatus XTriSendBC(ITriComponentId componentId, ITriPortId tsiPortId, ITciValue sentMessage); // Ref: TRI-Definition 5.5.3.3 TriStatus XTriSendMC(ITriComponentId componentId, ITriPortId tsiPortId, ITciValueList addresses, ITciValue sentMessage); // Procedure based communication operations // Ref: TRI-Definition 5.5.4.1 TriStatus XTriCall(ITriComponentId componentId, ITriPortId tsiPortId, ITciValue sutAddress, ITriSignatureId signatureId, ITciValueList parameterList); // Ref: TRI-Definition 5.5.4.2 TriStatus XTriCallBC(ITriComponentId componentId, ITriPortId tsiPortId, ITriSignatureId signatureId, ITciValueList parameterList); // Ref: TRI-Definition 5.5.4.3 TriStatus XTriCallMC(ITriComponentId componentId, ITriPortId tsiPortId, ITciValueList sutAddresses, ITriSignatureId signatureId, ITciValueList parameterList); // Ref: TRI-Definition 5.5.4.4 TriStatus XTriReply(ITriComponentId componentId, ITriPortId tsiPortId, ITciValue sutAddress, ITriSignatureId signatureId, ITciValueList parameterList, ITciValue returnValue); // Ref: TRI-Definition 5.5.4.5 TriStatus XTriReplyBC(ITriComponentId componentId, ITriPortId tsiPortId, ITriSignatureId signatureId, ITciValueList parameterList, ITciValue returnValue); // Ref: TRI-Definition 5.5.4.6 TriStatus XTriReplyMC(ITriComponentId componentId, ITriPortId tsiPortId, ITciValueList sutAddresses, ITriSignatureId signatureId, ITciValueList parameterList, ITciValue returnValue); // Ref: TRI-Definition 5.5.4.7 TriStatus XTriRaise(ITriComponentId componentId, ITriPortId tsiPortId, ITciValue sutAddress, ITriSignatureId signatureId, ITciValue exc); // Ref: TRI-Definition 5.5.4.8 TriStatus XTriRaiseBC(ITriComponentId componentId, ITriPortId tsiPortId, ITriSignatureId signatureId, ITciValue exc); // Ref: TRI-Definition 5.5.4.9 TriStatus XTriRaiseMC(ITriComponentId componentId, ITriPortId tsiPortId, ITciValueList sutAddresses, ITriSignatureId signatureId, ITciValue exc); } public interface IXTriCommunicationTE { // Message based communication operations // Ref: TRI-Definition 5.5.3.4 void XTriEnqueueMessage(ITriPortId tsiPortId, Object sutAddress, ITriComponentId componentId, Object msg); // Procedure based communication operations // Ref: TRI-Definition 5.5.4.10 void XTriEnqueueCall(ITriPortId tsiPortId, Object sutAddress, ITriComponentId componentId, ITriSignatureId signatureId, ITciValueList parameterList); // Ref: TRI-Definition 5.5.4.10 void XTriEnqueueReply(ITriPortId tsiPortId, Object sutAddress, ITriComponentId componentId, ITriSignatureId signatureId, ITciValueList parameterList, ITciValue returnValue); // Ref: TRI-Definition 5.5.4.11 void XTriEnqueueException(ITriPortId tsiPortId, Object sutAddress, ITriComponentId componentId, ITriSignatureId signatureId, Object exc); // Ref: TRI Definition 5.5.3.5 ITciValue XTriConvert(Object value, ITciType typeHypothesis); } public interface IXTriPlatformPA { // Ref: TRI-Definition 5.6.1 // Miscellaneous operations // Ref: TRI-Definition 5.6.3.1 TriStatus XTriExternalFunction(ITriFunctionId functionId, ITciValueList parameterList, ITciValue returnValue); } public interface ITriPlatformTE { // Ref: TRI-Definition 5.6.2.5 void TriTimeout(ITriTimerId timerId); } }