/usr/share/titan/help/info/getcall.html is in eclipse-titan 6.3.1-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | <!--
Copyright (c) 2000-2017 Ericsson Telecom AB
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
Baji, Laszlo
Balasko, Jeno
Farkas, Laszlo
Gecse, Roland
Szabados, Kristof
Szabo, Janos Zoltan – initial implementation
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-us">
<title>getcall</title>
</head>
<body bgcolor="#DAD3C5" vlink="#0094D2" link="#003258">
<table align="left" border="0" cellspacing="0" cellpadding="0" valign=top>
<tr>
<td width=105 height=40><a href="https://projects.eclipse.org/projects/tools.titan"><img src="../images/titan_transparent.gif" border=0 width=105 height=40 align="left" alt="Titan"></a></td>
</tr>
</table>
<table border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td><a href="../titan_main.html" alt="contents"><img border="0" src="../images/ao.jpg" width="53" height="40"></a></td>
<td><a href="../titan_index.html" alt="index"><img border="0" src="../images/up.jpg" width="53" height="40"></a></td>
<td><a href="get_stringencoding.html" alt="previous"><img border="0" src="../images/left.jpg" width="53" height="40"></a></td>
<td><a href="getreply.html" alt="next"><img border="0" src="../images/right.jpg" width="53" height="40"></a></td>
</tr>
</table>
<p><br clear="all">
</p>
<hr>
<h1>getcall</h1>
<hr align="left" width="75%">
<p>The operation belongs to the family of procedure-based communication operations. It is used to specify that a test component accepts a procedure calls from the system under test or from another
test component.
<ul>
<li>The operation can be used on connected procedure-based (or mixed) ports.</li>
<li>The operation is blocking (blocks TTCN3 program execution until <a href="reply.html"><b><font face="Courier New" color="#003258" size="4">reply</font></b></a> is sent).</li>
<li>In case of multiple connections the operation may be restricted to one communication partner.</li>
</ul>
<p>Related keywords:</p>
<ul>
<li><a href="address.html"><b><font face="Courier New" color="#003258" size="4">address</font></b></a></li>
<li><a href="create.html"><b><font face="Courier New" color="#003258" size="4">create</font></b></a></li>
<li><a href="from.html"><b><font face="Courier New" color="#003258" size="4">from</font></b></a></li>
<li><a href="modifies.html"><b><font face="Courier New" color="#003258" size="4">modifies</font></b></a></li>
<li><a href="param.html"><b><font face="Courier New" color="#003258" size="4">param</font></b></a></li>
<li><a href="sender.html"><b><font face="Courier New" color="#003258" size="4">sender</font></b></a> </li>
<li><a href="signature.html"><b><font face="Courier New" color="#003258" size="4">signature</font></b></a></li>
<li><a href="system.html"><b><font face="Courier New" color="#003258" size="4">system</font></b></a></li>
</ul>
<hr align="left" width="50%">
<div align="center">
<center>
<table border="0" width="90%" bgcolor="#FFB599" cellpadding="4">
<tr>
<td width="100%">
<h3 align="center"><i>port_reference</i><font face="Courier New" color="#003258" size="5"><b>.getcall </b></font> [ <font face="Courier New" color="#003258" size="5"><b> (</b></font><i>
template_instance </i><font face="Courier New" color="#003258" size="5"><b>)</b></font> ] [ <font face="Courier New" color="#003258" size="5"><b>from </b></font><i>address_reference</i> ] [ <font
face="Courier New" color="#003258" size="5"><b>-> </b></font><i>assignment_part</i> ]<font face="Courier New" color="#003258" size="5"><b>;</b></font> </h3>
</td>
</tr>
</table>
</center>
</div>
<ul>
<li>
<p><i> port_reference</i> points out the port where the procedure call is accepted at.</p>
<ul>
<li>
<p>the keywords <b><font face="Courier New" color="#003258" size="4">any port</font> </b> may be used to indicate that procedure calls at any ports will be accepted (see the <a
href="#Example 4:">example 4</a>).</p>
</li>
</ul>
</li>
<li>
<p>The <b><font face="Courier New" color="#003258" size="4">getcall</font> </b> keyword introduces the procedure call acceptance.</p>
</li>
<li>
<p><i>template_instance</i> may be one of the following (<a href="#Example 5">when omitted</a>, the call on the top of the incoming port queue (if any) will be removed):</p>
<ul>
<li>in-line signature template (see the <a href="#Example 1">example1</a>);</li>
<li>a signature template (see the <a href="#Example 2">example 2</a>);</li>
<li>a modified signature template (see the <a href="#Example 3">example 3</a>);<br>
</li>
</ul>
</li>
<li>
<p>The optional <b><font face="Courier New" color="#003258" size="4">from</font> </b> keyword is used when a port is connected to several entities and restriction to one communication
partner is required.</p>
</li>
<li>
<p><i>address_reference</i> is one of the following:</p>
<ul>
<li>a component reference (cf. <a href="create.html"><b><font face="Courier New" color="#003258" size="4">create</font></b></a>) or the keyword <a href="system.html"
target="_blank"><b><font face="Courier New" color="#003258" size="4">system</font></b></a>, in case of one-to-many connections.</li>
<li>
<p>an address reference (cf. <a href="address.html"><b><font face="Courier New" color="#003258" size="4">address</font></b></a>) , when there are several entities within the
system under test.</p>
</li>
</ul>
</li>
<li>
<p><i>assignment_part</i> is one or more of the following:</p>
<ul>
<li>the <a href="sender.html"><b><font face="Courier New" color="#003258" size="4">sender</font></b></a> keyword followed by a variable of <a href="address.html"
target="_blank"><b><font face="Courier New" color="#003258" size="4">address</font></b></a> or <a href="component.html"><b><font face="Courier New" color="#003258"
size="4">component</font></b></a> type to store the address of the sender (see the <a href="#Example 2">example 2</a>).</li>
<li>the <a href="param.html"><b><font face="Courier New" color="#003258" size="4">param</font></b></a> keyword followed of variables of the same type as the received message
to store the received parameters (see the <a href="#Example 1">example 1</a>).</li>
</ul>
</li>
</ul>
<hr align="left" width="50%">
<p><a name="Example 1">Example 1</a>: in-line signature template and parameter redirect
<p><font face="Courier New">signature S_MyProc (out integer pl_MyPar1, inout boolean pl_MyPar2, in charset pl_MyPar3) noblock;<br>
<br>
MujPort_PCO.getcall(S_MyProc:{ ?, ?, "estanco"}) from system -> param (vl_MyPar1, vl_MyPar2, vl_MyPar3);</font>
<p>The signature S_MyProc suitable for non-blocking communication is defined in the first line. It has three parameters (pl_MyPar1, pl_MyPar2 and pl_MyPar3).<br>
In the second line, the procedure call is accepted at the port MujPort_PCO. The port is connected to several components, but communication is restricted to one component, here to the test system
interface. The value of the first two parameters does not matter, but the third one must be equal to "estanco" for the call to be accepted. The parameter values are sotred in the variables
vl_MyPar1, vl_MyPar2 and vl_MyPar3, respectively.</p>
<hr align="left" width="50%">
<p><a name="Example 2">Example 2</a>: signature template and address redirect</p>
<p><font face="Courier New">template S_MyProc t_NiaTemplate (boolean pl_param) := {<br>
field1 := 16,<br>
field2 := pl_param,<br>
field3 := "massepain"<br>
}</font>
<p><font face="Courier New">MujPort_PCO.getcall (t_NiaTemplate(true)) -> sender v_address;</font></p>
<p>The parameterized template (t_NiaTemplate) has three fields. Procedure calls are accepted where the first parameter is don't care because it is defined as an out parameter, the second and the
third must have the values true and "massepain", respectively . The address of the component calling the procedure is stored in the variable v_address.</p>
<hr align="left" width="50%">
<p><a name="Example 3">Example 3</a>: modified signature template</p>
<p><font face="Courier New">MujPort_PCO.getcall (modifies t_NiaTemplate(false) := {field3 := "pate d'amande"});</font></p>
<p>The template defined in example 2 is modified. The procedure call is now accepted when the second and the third parameters have the values false and ""pate d'amande",
respectively.</p>
<hr align="left" width="50%">
<p><a name="Example 4:">Example 4:</a> receive on any port</p>
<p><font face="Courier New">any port.getcall (t_NiaTemplate(true));</font></p>
<p>The procedure call matching the template t_NiaTemplate will be accepted on any port.</p>
<hr align="left" width="50%">
<p><a name="Example 5">Example 5</a>: Accepting any call</p>
<p><font face="Courier New">MujPort_PCO.getcall;</font></p>
<p>Removes the top call from MujPort_PCO.</p>
<hr align="left" width="25%">
<hr align="left" width="25%">
<p><a HREF="BNF.html#getcallstatement">BNF definition</a> of <font face="Courier New"> getcall</font></p>
</body>
</html>
|