File: setencode.html

package info (click to toggle)
eclipse-titan 8.2.0-1
  • links: PTS
  • area: main
  • in suites: bookworm, sid
  • size: 103,544 kB
  • sloc: cpp: 271,008; ansic: 33,683; yacc: 23,419; makefile: 15,483; lex: 9,204; java: 4,848; perl: 4,555; sh: 2,242; xml: 1,378; javascript: 85; awk: 48; php: 32; python: 13
file content (83 lines) | stat: -rw-r--r-- 4,167 bytes parent folder | download
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
<!--
 Copyright (c) 2000-2021 Ericsson Telecom AB
 All rights reserved. This program and the accompanying materials
 are made available under the terms of the Eclipse Public License v2.0
 which accompanies this distribution, and is available at
 https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html

 Contributors:
  Baranyi, Botond
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-us">
<title>setencode</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="set.html" alt="previous"><img border="0" src="../images/left.jpg" width="53" height="40"></a></td>
    <td><a href="setstate.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>setencode</h1>
<hr align="left" width="75%">
<p>The <i>self.setencode</i> operation sets the default encoding method for encoding and decoding operations on values of a specified type.
<ul>
  <li>The <i>type</i> (first) argument indicates which type's default encoding method is set by the operation. This type must have
  at least two encoding methods set with its attributes.</li>
  <li>The <i>encoding</i> (second) argument indicates which encoding method is to be set as default. This must match one of the encoding methods set for the type.</li>
  <li>This operation affects all <i>encvalue, decvalue, encvalue_unichar and decvalue_unichar</i> operations with no dynamic encoding argument, all
  <i>decmatch</i> templates, and all value and parameter redirects with the <i>@decoded</i> modifier within the scope of the current component (<i>self</i>).</li>
</ul>
<p>Related keywords:</p>
<ul>
  <li><a href="encvalue.html"><b><font face="Courier New" color="#003258" size="4">encvalue</font></b></a></li>
  <li><a href="encvalue_unichar.html"><b><font face="Courier New" color="#003258" size="4">encvalue_unichar</font></b></a></li>
  <li><a href="decvalue.html"><b><font face="Courier New" color="#003258" size="4">decvalue</font></b></a></li>
  <li><a href="decvalue_unichar.html"><b><font face="Courier New" color="#003258" size="4">decvalue_unichar</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"><font face="Courier New" color="#003258" size="5"><b>self.setencode (</b></font><i>type,
    encoding</i><font face="Courier New" color="#003258" size="5"><b>);</b></font></h3>
    </td>
  </tr>
</table>
</center>
</div>
<hr align="left" width="50%">
<p>Example:
<p><font face="Courier New">type record MyRecord {<br>
&nbsp;&nbsp;&nbsp;integer num,<br>
&nbsp;&nbsp;&nbsp;charstring str<br>
}<br>
with {<br>
&nbsp;&nbsp;&nbsp;encode "XML";<br>
&nbsp;&nbsp;&nbsp;encode "JSON";<br>
}</font>
<p><font face="Courier New">var MyRecord r := { num := 3, str := "abc" };</font>
<p><font face="Courier New">self.setencode(MyRecord, "XML");</font>
<p><font face="Courier New">var bitstring bs1 := encvalue(r); // uses the "XML" encoding method set by the 'setencode' operation</font>
<p><font face="Courier New">var bitstring bs2 := encvalue(r, "", "JSON"); // ignores the 'setencode' operation and uses the "JSON" encoding method
set by the dynamic encoding argument</font>
<hr align="left" width="25%">
<hr align="left" width="25%">
<p><a HREF="BNF.html#setencode">BNF definition</a> of <font face="Courier New"> setencode</font></p>
</body>
</html>