Home
Categories
Dictionary
Download
Project Details
Changes Log
Who We Are
FAQ
License

Embed Client Data provider


    1  Structure
       1.1  Grammar
       1.2  Context element
       1.3  Pre element
          1.3.1  Example
       1.4  Input element
          1.4.1  Example
       1.5  Configuration example
    2  Runtime
       2.1  Example
    3  See also

The data provider configuration is an XML file which specifies datas, and the widgets and Layers properties which will be set (or received) by the Embed Client according to these datas. The relationship between the inputs and the ARINC 661 properties is specified through a script language.

Structure

Grammar

See the Data provider Schema The structure of the XML files contains the following elements:
  • "context" elements specify Layers, with the tuple (Application ID, Layer ID)
  • "pre" elements specify pre-processings for input datas or internal datas
  • "input" elements specify the relationship between input datas or internal datas and ARINC 661 properties

Context element

The "context" element defines Layers by their Layer ID and Application ID, and gives a name to these Layers which will be used throughout the XML file to refer to these Layers. For example:
      <context name="myLayer" layerID="56" appliID="1" />

Pre element

The "pre" element specifies the pre-processings which will be performed regardless of the Layer. This elements contains "preInput" elements, each of these elements specifying the processing for one Data. The type for each "preInput" and their input datas can be:
  • "int" for integer values
  • "float" for integer values
  • "number" for any numeric value
  • "bool" for boolean values
  • "string" for String values
See Data provider equations for the syntax to specify the equations.

Example

In the following example, the aInt data is an int variable for which the value is: a*10, with a being another data.
      <preInput name="aInt" type="int" equ="a*10" >
          <data name="a" type="int" />         
      </preInput>

Input element

The "input" element specifies the processings which will be performed for one widget property toward the Server. The type for the "input" element and its input datas can be:
  • "int" for integer values
  • "float" for integer values
  • "number" for any numeric value
  • "bool" for boolean values
  • "string" for String values
See Data provider equations for the syntax to specify the equations.

Example

In the following example, the A661_POS_X property for the widget 55 in the "myLayer" Layer will have the following value: aInt + b + 1000, with aInt and b being two datas.
       <input context="myLayer" widgetID="55" paramID="A661_POS_X" equ="aInt + b + 1000">
          <data name="aInt" type="int" />
          <data name="b" type="int" />
       </input>

Configuration example

      <dataProvider stateful="true">
         <context name="myLayer" layerID="56" appliID="1" />
         <pre>   
            <preInput name="aInt" type="int" equ="a*10" >
               <data name="a" type="int" />         
            </preInput>      
         </pre>
         <input context="myLayer" widgetID="55" paramID="A661_POS_X" equ="aInt + b + 1000">
            <data name="aInt" type="int" />
            <data name="b" type="int" />
         </input>
         <input context="myLayer" widgetID="55" paramID="A661_STRING" equ="$1">
            <data name="c" type="string" />
         </input>    
      </dataProvider>

Runtime

The input datas of the provider are all input datas which are not pre-inputs. For example, in the previous example, there are three datas: a, b, and c. The provider is evaludated for each input data which has changed:
  • Recursively the pre-inputs and widget properties which depend on each of the changed datas will be computed
  • An ARINC 661 buffer with all the changed widget properties will be sent to the Server
Additionally the initial value of each input data (before any inputs where received) is the default value for the data type:
  • 0 for numeric values
  • An empty String for strings
  • false for a boolean

Example

In the above Configuration example, the initial values for the a and b datas is 0, and the initial value for c is an empty String.
  • "aInt" is computed: aInt = a + 10 = 10
  • "A661_POS_X" is computed: A661_POS_X = aInt + b + 1000 = 1010
  • "A661_STRING" is computed: A661_STRING = c = ""
Now suppose that a value is changed to 10. Then the following equations will be computed:
  • "aInt" is computed: aInt = a + 10 = 20
  • "A661_POS_X" is computed because it depends on aInt: A661_POS_X = aInt + b + 1000 = 1020
  • "A661_STRING" is not computed again because c has not changed

See also


Categories: client | user

Copyright 2016-2017 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v2 licence