Skip to content

Data Types

Karsten Gebbert edited this page Dec 8, 2017 · 2 revisions
 ____  _ 
|  _ \(_)_ __ 
| |_) | | '_ \ 
|  __/| | | | |
|_|   |_|_| |_|

VecSize

VecSize is either dynamic, i.e. user can add/update/delete values to a Pin in any way (with the exception that there has to be at least one value per Pin), or it is fixed by a number of values a Pin always needs to have at the very least. On a fixed Pin, values always need to be a multiple of the provided value. The corresponding FSharp type is:

type VecSize =
  | Dynamic
  | Fixed of uint32

Number

Fields:

Name Type Description
Id string per-client unique identifier
Name string descriptive name
Direction input or output read or write to this pin
Tags string array metadata for grouping and search
Unit string unit of measure
VecSize dynamic or fixed with int count slice behavior
Precision integer number of post-comma positions
Min integer minimum allowed value
Max integer maximum allowed value
Labels string array labels for each slice
Values array actual number values

String

Behavior:

String Pin behavior is either one of the following values to indicate validation requirements to the front-end:

  • Simple
  • MultiLine
  • FileName
  • Directory
  • Url
  • IP

The corresponding FSharp discriminated union:

type StringBehavior =
  | Simple
  | MultiLine
  | FileName
  | Directory
  | Url
  | IP

Fields:

Name Type Description
Id string per-client unique identifier
Name string descriptive name
Tags string array metadata for grouping and search
Direction input or output read or write to this pin
Behavior Behavior indicate validation constraints
MaxChars integer maximum number of allowed chars
VecSize dynamic or fixed with int count slice behavior
Labels string array labels for each slice
Values string array actual values of this pin

Bool

Fields:

Name Type Description
Id string per-client unique identifier
Name string descriptive name
Tags string array metadata for grouping and search
Direction input or output read or write to this pin
IsTrigger boolean should the value be reset
VecSize dynamic or fixed with int count slice behavior
Labels string array labels for each slice
Values string array actual values of this pin

Byte

Fields:

Name Type Description
Id string per-client unique identifier
Name string descriptive name
Tags string array metadata for grouping and search
Direction input or output read or write to this pin
VecSize dynamic or fixed with int count slice behavior
Labels string array labels for each slice
Values byte array array actual values of this pin

Enum

Fields:

Name Type Description
Id string per-client unique identifier
Name string descriptive name
Tags string array metadata for grouping and search
VecSize dynamic or fixed with int count slice behavior
Direction input or output read or write to this pin
Properties key/value pairs (string * string) properties
Labels string array labels for each slice
Values byte array array actual values of this pin

Color

Fields:

Name Type Description
Id string per-client unique identifier
Name string descriptive name
Tags string array metadata for grouping and search
Direction input or output read or write to this pin
VecSize dynamic or fixed with int count slice behavior
Labels string array labels for each slice
Values byte array array actual values of this pin

 ____        __ _ 
|  _ \ __ _ / _| |_ 
| |_) / _` | |_| __| 
|  _ < (_| |  _| |_ 
|_| \_\__,_|_|  \__| 

DISCO Service

Client-API

The Disco Client-API ensures the communication between the Disco-Service and a Disco-Client.

DISCO Project

Name Type mandatory description
name string yes
id uint32 yes guid

Cuelist

Name Type mandatory description
name string yes
id uint32 yes guid
cues [cue] yes array of cues

Cue

Name Type mandatory description
name string yes
id uint32 yes guid
parameters [parameter ] no array of parameters

Parameter

A parameter defines a single exposed value of a client

Name Type mandatory description
name string yes
id uint32 yes guid
adress uint32 no id of client parameter
Datatype

Host-Group

Name Type mandatory description
name string yes
id uint32 yes guid
host [uint32] no array of host-id´s

Users

Name Type mandatory description
name string yes
id uint32 yes guid
groups [uint32] no array of group ids the user is assigned to

User-Group

Name Type mandatory description
name string yes
id uint32 yes guid

Building

Windows

A setup without VisualStudio is best bootstrapped with chocolatey. The following packages are required to build Disco:

7zip.commandline
chocolatey 
cmake.install 
DotNet4.0 
DotNet4.5 
DotNet4.5.2 
git.install 
microsoft-build-tools 
nodejs.install 
vcredist2015 
VisualCppBuildTools 
visualfsharptools
Wget 
windows-sdk-8.0

Clone this wiki locally