-- 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);
}
}