This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/plc4x-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 8b2e2f5f5 Site checkin for project PLC4X: Jenkins Tools
8b2e2f5f5 is described below

commit 8b2e2f5f56049aeb97cff8db8ec47290c85932fb
Author: jenkins <[email protected]>
AuthorDate: Sat Oct 25 03:02:03 2025 +0000

    Site checkin for project PLC4X: Jenkins Tools
---
 plc4x/pre-release/developers/building.html         |  3 +
 .../developers/code-gen/protocol/mspec.html        | 71 +++++++++++++++++++++-
 search-index.js                                    |  2 +-
 3 files changed, 74 insertions(+), 2 deletions(-)

diff --git a/plc4x/pre-release/developers/building.html 
b/plc4x/pre-release/developers/building.html
index c90310921..2a6286f8c 100644
--- a/plc4x/pre-release/developers/building.html
+++ b/plc4x/pre-release/developers/building.html
@@ -576,6 +576,9 @@ But there is a lot of good documentation out there.</p>
 <li>
 <p><code>with-python</code>: Builds all Python related modules</p>
 </li>
+<li>
+<p><code>update-code-generation</code>: Generates the generated code from the 
mspec definitions</p>
+</li>
 </ul>
 </div>
 <div class="admonitionblock warning">
diff --git a/plc4x/pre-release/developers/code-gen/protocol/mspec.html 
b/plc4x/pre-release/developers/code-gen/protocol/mspec.html
index 25492cbc5..88e46d5a1 100644
--- a/plc4x/pre-release/developers/code-gen/protocol/mspec.html
+++ b/plc4x/pre-release/developers/code-gen/protocol/mspec.html
@@ -490,7 +490,7 @@ After we had an initial format that seemed to do the trick, 
we then stated creat
 <p>It&#8217;s a text-based format.</p>
 </div>
 <div class="paragraph">
-<p>At the root level of these specs are a set of <code>type</code>, 
<code>discriminatedType</code>, <code>dataIo</code> and <code>enum</code> 
blocks.</p>
+<p>At the root level of these specs are a set of <code>type</code>, 
<code>discriminatedType</code>, <code>dataIo</code>, <code>enum</code> and 
'constants' blocks.</p>
 </div>
 <div class="paragraph">
 <p><code>type</code> elements are objects who`s content and structure is 
independent of the input.</p>
@@ -546,6 +546,16 @@ After we had an initial format that seemed to do the 
trick, we then stated creat
 </div>
 </div>
 <div class="paragraph">
+<p>A constants type allows you to define constants for the protocol.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[constants
+    [const          uint 16     adsDiscoveryUdpDefaultPort 48899]
+]</pre>
+</div>
+</div>
+<div class="paragraph">
 <p>A type`s start is declared by an opening square bracket <code>[</code> 
followed by the <code>type</code> or <code>discriminatedType</code> keyword, 
which is directly followed by a name.
 A Type definition is ended with a closing square bracket <code>]</code>.</p>
 </div>
@@ -567,6 +577,9 @@ A Type definition is ended with a closing square bracket 
<code>]</code>.</p>
 <p>assert: generally similar to <code>constant</code> fields, however do they 
throw <code>AssertionExceptions</code> instead of hard 
<code>ParseExceptions</code>. They are used in combination with optional 
fields.</p>
 </li>
 <li>
+<p>batchSet: this is a psuedo field that allows you to apply additional 
attributes for a group of fields</p>
+</li>
+<li>
 <p>checksum: used for calculating and verifying checksum values.</p>
 </li>
 <li>
@@ -603,6 +616,9 @@ A Type definition is ended with a closing square bracket 
<code>]</code>.</p>
 <p>simple: simple or complex typed object.</p>
 </li>
 <li>
+<p>state: Allows you to assign a parameter as a stateful variable in a 
class.</p>
+</li>
+<li>
 <p>typeSwitch: not a real field, but indicates the existence of subtypes, 
which are declared inline (reserved for <code>discriminatedType</code>).</p>
 </li>
 <li>
@@ -776,6 +792,35 @@ The main difference however it how the case is handled, if 
the parsed value does
 - optional field: <code>optional</code> fields are aware of the types of 
parser errors produced by <code>assert</code> and <code>validation</code> 
fields</p>
 </div>
 </div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_batchset_field"><a class="anchor" 
href="#_batchset_field"></a>batchSet Field</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A batch set field allows you to define or modify attributes for a group of 
fields.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[batchSet byteOrder='integerEncoding == IntegerEncoding.BIG_ENDIAN ? 
BIG_ENDIAN : LITTLE_ENDIAN'</pre>
+</div>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[simple DceRpc_ObjectUuid        objectUuid                               
             ]</pre>
+</div>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[simple DceRpc_InterfaceUuid     interfaceUuid                            
             ]</pre>
+</div>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>        [simple DceRpc_ActivityUuid      activityUuid                     
                     ]
+]</pre>
+</div>
+</div>
 <div class="sect2">
 <h3 id="_checksum_field"><a class="anchor" 
href="#_checksum_field"></a>checksum Field</h3>
 <div class="paragraph">
@@ -1249,6 +1294,30 @@ They simply result in creating artificial get-methods in 
the generated model cla
 </div>
 </div>
 </div>
+<div class="sect1">
+<h2 id="_referencing_parent_class_name_of_discriminated_types"><a 
class="anchor" 
href="#_referencing_parent_class_name_of_discriminated_types"></a>Referencing 
parent class name of discriminated types</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>For discriminated type it is convient sometimes to not have to repeat the 
parent class name for each case.
+Here you can use the * reference at the start of each case name</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>[discriminatedType SuperImportantClass
+    [simple uint 8 testNumber]
+    [typeSwitch testNumber
+        ['0x08' *Status
+            [simple uint 8 testNewNumber]
+        ]
+    ]
+]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Here the child class will inherit the class name 
SuperImportantClassStatus</p>
+</div>
+</div>
+</div>
 </article>
   </div>
 </main>
diff --git a/search-index.js b/search-index.js
index b33c0c115..d5b45d742 100644
--- a/search-index.js
+++ b/search-index.js
@@ -1 +1 @@
-antoraSearch.initSearch(lunr, 
{"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1",[0,68.153]],["name/1",[1,1.531]],["text/1",[]],["component/1",[2,0.399]],["title/2-1",[3,34.179,4,29.733]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[5,42.573]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2-3",[6,11.952,7,12.589,8,9.462,9,16.136,10,15.868,11,21.062,12,27.528,13,12.38]],["name/2-3",[]],["text/2-3",[]],["
 [...]
\ No newline at end of file
+antoraSearch.initSearch(lunr, 
{"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1",[0,68.18]],["name/1",[1,1.53]],["text/1",[]],["component/1",[2,0.399]],["title/2-1",[3,34.202,4,29.754]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[5,42.596]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2-3",[6,11.965,7,12.602,8,9.474,9,16.151,10,15.883,11,21.079,12,27.548,13,12.393]],["name/2-3",[]],["text/2-3",[]],["c
 [...]
\ No newline at end of file

Reply via email to