Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
14b5ed5
Merge pull request #67 from alexanderoster/develop
alexanderoster Jan 30, 2025
b68322a
Added SPI and Enums to Raylase SDK
netfabb Jan 31, 2025
a08608b
Added CMake Min Version 3.10
netfabb Jan 31, 2025
bc44e5b
Merge branch 'develop' of https://github.com/alexanderoster/AutodeskM…
netfabb Jan 31, 2025
cec15d7
Added raylase nLight Driver board status update
netfabb Jan 31, 2025
d7ab11a
Deactivated SPI
netfabb Feb 10, 2025
971c507
Added JSON API classes
netfabb Feb 13, 2025
c8c2998
Added JSON API classes
netfabb Feb 13, 2025
ffb725f
Fixed JSON Array Implementation
netfabb Feb 13, 2025
43ce1a0
Scanlab SCM Driver: Added Blend Mode, Configuration Patching
netfabb Feb 13, 2025
5281902
Added Remove Children into XLM Document Node
netfabb Feb 13, 2025
6fe0c35
Fixed Layerview point viewer clearing
netfabb Feb 14, 2025
a57c799
Updated Client
netfabb Feb 14, 2025
80084f8
Fixed external JSON API
netfabb Feb 20, 2025
980ed60
Added Raylase Part Suppression
netfabb Feb 21, 2025
99857f6
Fixed Journal Reader
netfabb Feb 21, 2025
8a07de4
Improved Examples
netfabb Feb 21, 2025
997bd24
Fixed crash in image format conversion
netfabb Feb 21, 2025
de3e85d
Raylase Driver: Added part suppression and fixes callback issues
netfabb Feb 21, 2025
3fff4e2
Fixed Visual Studio 2022
alexanderoster Feb 21, 2025
49cde95
Added UUID Values to JSON Wrapper
alexanderoster Feb 22, 2025
d662a99
Removed TSL and AML Drivers for now
alexanderoster Feb 22, 2025
5d96720
Replaced libjpeg-turbo
alexanderoster Feb 24, 2025
d51bf4f
Replaced libjpeg-turbo
alexanderoster Feb 24, 2025
591b4ef
Implemented JPEG ImageData export/import
alexanderoster Feb 24, 2025
343d858
JPEG Image loader
alexanderoster Feb 24, 2025
d0ef8df
Added create Client Dist executable
netfabb Feb 27, 2025
713c53e
Linux compile fixes
alexanderoster Feb 28, 2025
9e0db0e
Merge branch 'develop' of https://github.com/alexanderoster/AutodeskM…
alexanderoster Feb 28, 2025
e9c7cd7
Linux fixes
alexanderoster Mar 2, 2025
6880f98
Linxu compile fixes
alexanderoster Mar 2, 2025
1b4aa3c
Linxu compile fixes
alexanderoster Mar 2, 2025
e880261
Updated Camera driver
alexanderoster Mar 5, 2025
3462e66
Updated Example to include camera driver
alexanderoster Mar 5, 2025
55a19d2
Added Raylase NLight Driver Implementation
netfabb Mar 5, 2025
1cd5e1b
Merge branch 'develop' of https://github.com/alexanderoster/AutodeskM…
netfabb Mar 5, 2025
8159fae
nLight Driver Implementation
netfabb Mar 6, 2025
2ac4ba1
Compile fixes for Camera driver
netfabb Mar 6, 2025
b9a493c
Updated nLight Board API
netfabb Mar 7, 2025
c0042cc
Implemented Raylase Driver SPI Status and mode dependent max laser power
netfabb Mar 7, 2025
02deea2
Raylase Driver: Added 3D Movements
netfabb Mar 10, 2025
d7bb294
Added Delays for initialization
alexanderoster Mar 20, 2025
01d74da
Raylase Driver: Disarmed before initialization
alexanderoster Mar 22, 2025
7694e74
Updated Lib3MF
alexanderoster Mar 27, 2025
6890745
Updated Boolean artifact
alexanderoster Mar 27, 2025
2b7cc7a
Added RTC Defocus Factors
alexanderoster Mar 28, 2025
43aa8c6
Updated API for Lib3MF Update
alexanderoster Mar 28, 2025
bdee6af
Scanlab SMC SDK: added headers for power ramps
alexanderoster Apr 1, 2025
7afd53a
Refactored Toolpath Layer Interfaces
alexanderoster Apr 1, 2025
062a2c1
Updated Raylase driver to API changes
alexanderoster Apr 1, 2025
1392989
Updated Lib3MF
alexanderoster Apr 1, 2025
6b05cc0
Updated Lib3MF
alexanderoster Apr 1, 2025
ce65780
Updated Lib3MF API
alexanderoster Apr 1, 2025
02dd3ac
Refactored layer reader and removed loop toolpath type
alexanderoster Apr 3, 2025
f7a2c3f
Updated Lib3MF Branch
alexanderoster Apr 3, 2025
fe2a59f
Fixed OIE Recording round trip bit
alexanderoster Apr 4, 2025
d7eb92c
Updated Lib3MF Binary
alexanderoster Apr 4, 2025
f667a54
Fixed warning in RTC Driver
alexanderoster Apr 4, 2025
a5bfada
Add Toolpath SubInterpolation Hatch Data
alexanderoster Apr 4, 2025
c33a63e
SMC Driver: Added Power Ramps
alexanderoster Apr 4, 2025
8e53a30
Made Power output calibration properly linear in scanlab driver
alexanderoster Apr 17, 2025
3de30d7
Added Custom Page update flag
alexanderoster Apr 17, 2025
23befcc
Updated Client Package
alexanderoster Apr 17, 2025
faad490
Added Pre and Post Segment Delay profile settings
alexanderoster Apr 25, 2025
2984ad0
Added Support for Presegment and Postsegment Delays
alexanderoster Apr 25, 2025
bafe606
Added Microvector support for Scanlab Driver
alexanderoster Apr 25, 2025
2b731a3
Typo in Scanlab driver
alexanderoster Apr 25, 2025
e4a27f9
Added JSON Event Streaming
alexanderoster Apr 29, 2025
567eb4b
Fixed Stream Connection
alexanderoster May 7, 2025
0c331e5
Small camera driver fixes for enumerating device information
alexanderoster May 9, 2025
21c603f
Scanlab SMC Driver: Fixed IPAddress initialization
alexanderoster May 14, 2025
beaefe0
Added Machine Resources to Working Directory
alexanderoster May 19, 2025
d7cbcfb
Added first OpenCV Driver
alexanderoster May 19, 2025
5672536
Updated OpenCV Build script
alexanderoster May 19, 2025
abcf2a3
OpenCV Driver: Implemented WriteToImage
alexanderoster May 19, 2025
4c3d2c9
Linux compile fix
alexanderoster May 19, 2025
68d3e95
Added OpenCV Windows UTF8 Workaround
alexanderoster May 19, 2025
e2881ae
Added Microsecond options to RTC Skywriting profiles
alexanderoster May 20, 2025
49e8436
Adds support for loading SCANmotionControl.dll v1.0 and its dependenc…
yrodzikau May 21, 2025
82dff2a
Updated SMC Configuration to include Correction Files
alexanderoster May 21, 2025
ab85e67
Fixed Send To Hardware in SMC Context Instance
alexanderoster May 21, 2025
bc03a0e
Fixed Scanlab Predelay Bug
alexanderoster May 23, 2025
1c32c1c
Scanlab RTC Fix for Hatch Coordinates
alexanderoster May 26, 2025
6200581
Fixed GPIO Sequence Repeat loop
alexanderoster May 27, 2025
1ac50f4
Scanlab Driver: Fixed MCBSP On the Fly Override for OIE Recording
alexanderoster May 27, 2025
979a736
Scanlab OIE: Added Selectable Recording Frequency
alexanderoster May 27, 2025
be2af14
Scanlab Driver: Improved OIE Measurement Tag handling
alexanderoster May 29, 2025
0dede18
Fixed issue in measurement Tag map
alexanderoster May 30, 2025
c950733
Included first OpenFOAM Driver
alexanderoster May 31, 2025
a788f81
Removed fly_2d fix from Scanlab OIE Control Power setting
alexanderoster Jun 2, 2025
f6ff16b
Added 3MF Binary metadata access by Relationship
alexanderoster Jun 3, 2025
e9b038a
Updated Lib3mf
alexanderoster Jun 4, 2025
9a98870
Added Mesh handling to Builds, Extended Working files with writers
alexanderoster Jun 5, 2025
f1ec99d
Updated Lib3mf
alexanderoster Jun 5, 2025
61afa3a
OpenFOAM STL generation
alexanderoster Jun 5, 2025
a98beb0
Implements a CSV parser to parse Simulation or rtc_log_record files (…
yrodzikau Jun 11, 2025
e745c30
Added Triangle Set Access to Mesh Objects
alexanderoster Jun 11, 2025
e61dfa5
OpenFOAM Driver
alexanderoster Jun 11, 2025
0d2b2b1
Scanlab SMC Driver: Added PCI Support
alexanderoster Jun 12, 2025
60f3551
Merge branch 'develop' of https://github.com/alexanderoster/AutodeskM…
alexanderoster Jun 12, 2025
5dfdaab
Updated Lib3mf
alexanderoster Jun 16, 2025
1d1a425
Linux fixes
alexanderoster Jun 16, 2025
0dd4d04
Linux fixes
alexanderoster Jun 16, 2025
c6bb860
linux fixes
alexanderoster Jun 16, 2025
82262bb
linux fixes
alexanderoster Jun 16, 2025
5982b90
OpenFOAM Driver: Improved Driver Montoring
alexanderoster Jun 16, 2025
0aaedfc
Added working File Processes to API
alexanderoster Jun 16, 2025
fa16c3b
Updated OpenFOAM Driver
alexanderoster Jun 16, 2025
175fcb0
Added Working File processes
alexanderoster Jun 16, 2025
8e383db
Compile fixes
alexanderoster Jun 16, 2025
e9f8249
Added new OpenCV Wrapper DLL
alexanderoster Jun 16, 2025
08e5740
Added new OpenCV Wrapper DLL
alexanderoster Jun 16, 2025
2f608f5
Scanlab SMC Driver: Upgrade of the SCANmotionControl to v1.1 (#26)
yrodzikau Jun 20, 2025
5bb8e4a
Scanlab SMC Driver: Refactored CSMCJobInstance::ReadSimulationFile to…
yrodzikau Jun 20, 2025
8c7b89c
Added External Process Execution to Driver Environment
alexanderoster Jun 20, 2025
85c62b0
Merge branch 'develop' of https://github.com/alexanderoster/AutodeskM…
alexanderoster Jun 20, 2025
3e056bc
Added first Unit Test Framework
alexanderoster Jun 23, 2025
702b2ea
Added first Unit Test Framework
alexanderoster Jun 23, 2025
38e3456
Fixed process controller
alexanderoster Jun 23, 2025
0325a89
Fixed Linux build
alexanderoster Jun 24, 2025
59d86cc
Refactored Working Directories and added Subdirectory support
alexanderoster Jun 25, 2025
188c217
Refactored Working Directories and added Subdirectory support
alexanderoster Jun 25, 2025
6050de6
Updated OpenFOAM driver
alexanderoster Jun 25, 2025
e6ee157
Linux fixes
alexanderoster Jun 25, 2025
f6718b5
Linux fixes
alexanderoster Jun 25, 2025
22e7562
Linux fixes
alexanderoster Jun 25, 2025
068487f
Added custom Correction factors to Scanlab driver
alexanderoster Jun 25, 2025
8973ed0
Linux fixes
alexanderoster Jun 25, 2025
7f5211b
Linux fixes
alexanderoster Jun 25, 2025
9e76db3
Linux fixes
alexanderoster Jun 25, 2025
24f3182
Linux fixes
alexanderoster Jun 25, 2025
52e7e38
Linux fixes
alexanderoster Jun 25, 2025
cf22bbe
Linux fixes
alexanderoster Jun 26, 2025
ef9d6cb
LibMCEnv: Implements LaserON signal visualization in WebGUI (#27)
yrodzikau Jun 26, 2025
19b778e
Scanlab driver: Added laser timing defaults for RTC Drivers
alexanderoster Jun 26, 2025
a2c4846
Merge branch 'develop' of https://github.com/alexanderoster/AutodeskM…
alexanderoster Jun 26, 2025
3d5dc77
Refactored Signal handling
alexanderoster Jun 30, 2025
1d33a0d
Updated Client Distribution
alexanderoster Jun 30, 2025
a2017ea
Fixed Signal Handling
alexanderoster Jul 1, 2025
dbbdd42
fixed LPBF User Interface
alexanderoster Jul 1, 2025
e5eff84
Updated Unit Test Framework
alexanderoster Jul 3, 2025
22859f8
Linux fixes
alexanderoster Jul 3, 2025
ce48afe
Unit Tests
alexanderoster Jul 3, 2025
05d3749
Added Automatic unit testing to Develop branch
alexanderoster Jul 3, 2025
0ce6094
Updated build script
alexanderoster Jul 3, 2025
d28d072
Updated build script
alexanderoster Jul 3, 2025
9f954f7
Disabled client check on Linux
alexanderoster Jul 3, 2025
a0a44a5
added libuuid dependency
alexanderoster Jul 3, 2025
a929eaa
First iteration of Machine Configurations in LibMCData
alexanderoster Jul 7, 2025
8f14abe
Added Machine Configuration Data Model
alexanderoster Jul 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
32 changes: 32 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Build and Test

on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]

jobs:
build-and-test:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Show current Git branch
run: git branch --show-current

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y gcc g++ cmake golang uuid-dev

- name: Run pre-build script
run: |
chmod +x ./build_clean_linux64.sh
./build_clean_linux64.sh
shell: bash

- name: Run unit tests
run: ./build_linux64/Output/amc_unittest
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,9 @@
[submodule "submodules/libjpeg-turbo"]
path = submodules/libjpeg-turbo
url = https://github.com/libjpeg-turbo/libjpeg-turbo.git
[submodule "submodules/TinyJPEG"]
path = submodules/TinyJPEG
url = https://github.com/serge-rgb/TinyJPEG.git
[submodule "submodules/stb"]
path = submodules/stb
url = https://github.com/nothings/stb.git
42 changes: 40 additions & 2 deletions ACT/LibMC.xml
Original file line number Diff line number Diff line change
Expand Up @@ -658,10 +658,40 @@
<error name="INVALIDCONTENTSTATEID" code="632" description="Invalid content state ID" />
<error name="INVALIDWIDGETREQUEST" code="633" description="Invalid widget request" />
<error name="SOURCEVARIABLENOTFOUND" code="634" description="Source variable not found" />
<error name="INVALIDEVENTRETURNVALUES" code="635" description="Invalid event return values" />
<error name="INVALIDMODIFIERINTERPOLATIONCOUNT" code="636" description="Invalid modifier interpolation count" />
<error name="INVALIDTOOLPATHMODIFIERTYPE" code="637" description="Invalid toolpath modifier type." />
<error name="INVALIDTOOLPATHMODIFIERFACTOR" code="638" description="Invalid toolpath modifier factor." />
<error name="BINARYMETADATARELATIONSHIPNOTFOUND" code="639" description="Binary metadata relationship not found." />
<error name="ENVIRONMENTVARIABLECHANGEAFTERSTART" code="640" description="Environment variable change after start." />
<error name="INVALIDENVIRONMENTVARIABLENAME" code="641" description="Invalid environment variable name." />
<error name="ENVIRONMENTVARIABLEALREADYEXISTS" code="642" description="Environment variable already exists." />
<error name="REACHEDENVIRONMENTVARIABLELIMIT" code="643" description="Reached Environment variable limit." />
<error name="ENVIRONMENTVARIABLENOTFOUND" code="644" description="Environment Variable not found." />
<error name="INVALIDENVIRONMENTVARIABLEINDEX" code="645" description="Invalid environment variable index." />
<error name="COULDNOTREADPROCESSPIPE" code="646" description="Could not read process pipe." />
<error name="PROCESSEXECUTABLENOTFOUND" code="647" description="Process executable not found." />
<error name="COULDNOTCREATEPROCESSPIPE" code="648" description="Could not create process pipe." />
<error name="CREATEPROCESSFAILED" code="649" description="Create process failed." />
<error name="PROCESSEXECUTABLEDIRECTORYDOESNOTEXIST" code="650" description="Process executable directory does not exist." />
<error name="PROCESSCONTROLTIMEISINVALID" code="651" description="Process control time is invalid." />
<error name="PROCESSWORKINGDIRECTORYDOESNOTEXIST" code="652" description="Process working directory does not exist." />
<error name="PROCESSHASALREADYBEENSTARTED" code="653" description="Process has already been started." />
<error name="PROCESSHANDLINGNOTIMPLEMENTEDONPLATFORM" code="654" description="Process handling not implemented on Platform." />
<error name="INVALIDWRITEBUFFFERPOSITION" code="655" description="Invalid write buffer position." />
<error name="INVALIDWRITEBUFFERSIZE" code="656" description="Invalid write buffer size." />
<error name="CANNOTWRITETOFINISHEDFILE" code="658" description="Cannot write to finished file." />
<error name="WORKINGDIRECTORYHASBEENCLEANED" code="659" description="Working Directory has been cleaned." />
<error name="INVALIDCHARACTERINFILENAME" code="660" description="Invalid character in filename." />
<error name="WORKINGDIRECTORYCEASEDTOEXIST" code="661" description="Working directory ceased to exist." />
<error name="DIRECTORYALREADYEXISTS" code="662" description="Directory already exists." />
<error name="WORKINGDIRECTORYNOTFOUND" code="663" description="Working Directory not found." />
<error name="INVALIDSIGNALREACTIONTIMEOUT" code="664" description="Invalid Signal Reaction Timeout." />
<error name="INVALIDSIGNALQUEUESIZE" code="665" description="Invalid Signal queue size." />
<error name="SIGNALALREADYTRIGGERED" code="666" description="Signal has already been triggered." />




</errors>


Expand All @@ -682,6 +712,10 @@
<option name="Testing" value="3"/>
</enum>

<enum name="StreamConnectionType">
<option name="JSONEventStream" value="1"/>
<option name="JPEGImageStream" value="2"/>
</enum>

<class name="Base">

Expand Down Expand Up @@ -712,6 +746,10 @@
<param name="IdleDelay" type="uint32" pass="return" description="Idle Delay." />
</method>

<method name="GetStreamType" description="Returns the stream type.">
<param name="StreamType" type="enum" class="StreamConnectionType" pass="return" description="Content type of the stream." />
</method>

</class>


Expand Down
173 changes: 172 additions & 1 deletion ACT/LibMCData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -435,6 +435,8 @@
<error name="JOURNALVARIABLEALIASALREADYEXISTS" code="435" description="Journal variable alias already exists." />
<error name="INVALIDALIASINDEX" code="436" description="Invalid alias index" />
<error name="SOURCEOFJOURNALALIASNOTFOUND" code="437" description="Source of Journal Alias not found" />
<error name="COULDNOTFINDMACHINECONFIGURATIONTYPE" code="438" description="Could not find machine configuration type." />


</errors>

Expand Down Expand Up @@ -880,6 +882,10 @@
<method name="GetSHA2" description="returns the sha256 checksum of a storage stream.">
<param name="SHA2" type="string" pass="return" description="SHA1 String" />
</method>

<method name="EnsureSHA256IsValid" description="checks if the SHA256 is matching the computed SHA256 on disk. Will fail if there is a mismatch. Attention: Computation will take some time.">
</method>


<method name="GetSize" description="returns the size of a storage stream.">
<param name="Size" type="uint64" pass="return" description="Size" />
Expand Down Expand Up @@ -1497,7 +1503,6 @@
</class>



<!-- The UserList class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="UserList" parent="Base" description="List of users">

Expand Down Expand Up @@ -1741,6 +1746,156 @@

</class>

<!-- The MachineConfigurationVersion class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="MachineConfigurationVersion" parent="Base" description="Machine configuration XSD instance.">

<method name="GetVersionUUID" description="Returns the UUID.">
<param name="VersionUUID" type="string" pass="return" description="UUID of the configuration version." />
</method>

<method name="GetXSDUUID" description="Returns the UUID.">
<param name="XSDUUID" type="string" pass="return" description="UUID of the configuration XSD." />
</method>

<method name="GetTypeUUID" description="Returns the UUID of the corresponding Configuration type.">
<param name="TypeUUID" type="string" pass="return" description="UUID of the configuration type." />
</method>

<method name="GetParentUUID" description="Returns the UUID of the parent Configuration Version.">
<param name="ParentUUID" type="string" pass="return" description="UUID of the configuration version that is the parent of this version. Returns 00000000-0000-0000-0000-000000000000, if Version is the default configuration." />
</method>

<method name="GetSchemaType" description="Returns the Schema type of the configuration.">
<param name="SchemaType" type="string" pass="return" description="Schema type of the configuration type." />
</method>

<method name="GetXSDVersion" description="Returns the version number of the XSD in use..">
<param name="XSDVersion" type="uint32" pass="return" description="Returns the XSD version." />
</method>

<method name="GetXSDString" description="Returns the XSD in use as string..">
<param name="XSDString" type="string" pass="return" description="XSD String." />
</method>

<method name="GetConfigurationXMLString" description="Returns the configuration XML as String.">
<param name="XMLString" type="string" pass="return" description="XML String." />
</method>

<method name="CreateNewVersion" description="Creates a new configuration version from this version with the same XSD.">
<param name="XMLString" type="string" pass="in" description="New XML Configuration String. MUST conform to current XSD." />
<param name="UserUUID" type="string" pass="in" description="User UUID for logging the user who initiated the change." />
<param name="TimeStampUTC" type="string" pass="in" description="Current time in UTC." />
<param name="CurrentInstance" type="class" class="MachineConfigurationVersion" pass="return" description="returns the MachineConfigurationVersion instance."/>
</method>

<method name="MigrateToNewXSD" description="Creates a new configuration version from this version with another XSD.">
<param name="NewXSD" type="class" class="MachineConfigurationXSD" pass="in" description="New XSD to use. MUST be of the same type as the current. MUST have an increased version number."/>
<param name="XMLString" type="string" pass="in" description="New XML Configuration String. MUST conform to new XSD." />
<param name="UserUUID" type="string" pass="in" description="User UUID for logging the user who initiated the change." />
<param name="TimeStampUTC" type="string" pass="in" description="Current time in UTC." />
<param name="CurrentInstance" type="class" class="MachineConfigurationVersion" pass="return" description="returns the MachineConfigurationVersion instance."/>
</method>

</class>


<!-- The AlertIterator class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="MachineConfigurationVersionIterator" parent="Iterator">
<method name="GetCurrentVersion" description="Returns the version the iterator points at.">
<param name="CurrentInstance" type="handle" class="MachineConfigurationVersion" pass="return" description="returns the MachineConfigurationVersion instance."/>
</method>
</class>

<!-- The MachineConfigurationType class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="MachineConfigurationXSD" parent="Base" description="Machine configuration XSD instance.">

<method name="GetUUID" description="Returns the UUID.">
<param name="XSDUUID" type="string" pass="return" description="UUID of the configuration XSD." />
</method>

<method name="GetTypeUUID" description="Returns the UUID of the corresponding Configuration type.">
<param name="TypeUUID" type="string" pass="return" description="UUID of the configuration type." />
</method>

<method name="GetSchemaType" description="Returns the Schema type of the configuration.">
<param name="SchemaType" type="string" pass="return" description="Schema type of the configuration type." />
</method>

<method name="GetXSDVersion" description="Returns the version number of the XSD..">
<param name="XSDVersion" type="uint32" pass="return" description="Returns the XSD version." />
</method>

<method name="GetXSDString" description="Returns the XSD as string..">
<param name="XSDString" type="string" pass="return" description="XSD String." />
</method>

<method name="ListVersions" description="Lists all known Configuration version of the current XSD.">
<param name="VersionIterator" type="class" class="MachineConfigurationVersionIterator" pass="return" description="Returns a list of versions." />
</method>

</class>

<!-- The MachineConfigurationType class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="MachineConfigurationType" parent="Base" description="Machine configuration type instance.">

<method name="GetUUID" description="Returns the UUID.">
<param name="TypeUUID" type="string" pass="return" description="UUID of the configuration type." />
</method>

<method name="GetName" description="Returns the Name.">
<param name="Name" type="string" pass="return" description="Name of the configuration type." />
</method>

<method name="GetSchemaType" description="Returns the Schema type of the configuration.">
<param name="SchemaType" type="string" pass="return" description="Schema type of the configuration type." />
</method>

<method name="GetLatestXSD" description="Returns the latest Machine Configuration XSD.">
<param name="XSDInstance" type="class" class="MachineConfigurationXSD" pass="return" description="Returns the latest XSD of the configuration type." />
</method>

<method name="GetLatestXSDVersion" description="Returns the latest Machine Configuration XSD Version.">
<param name="XSDVersion" type="uint32" pass="return" description="Returns the latest XSD version, or 0 if no XSD exists." />
</method>

<method name="FindXSDByUUID" description="Finds Machine Configuration XSD by UUID.">
<param name="XSDUUID" type="string" pass="in" description="UUID of the configuration XSD." />
<param name="XSDInstance" type="class" class="MachineConfigurationXSD" pass="return" description="Returns the latest XSD of the configuration type." />
</method>

<method name="CreateNewXSD" description="Creates a new XSD Version. Fails if version already exists or is not incrementing.">
<param name="XSDString" type="string" pass="in" description="XSD String of the version. MUST be incremental." />
<param name="XSDVersion" type="uint32" pass="in" description="New Version to add. MUST be larger than GetLatestXSDVersion." />
<param name="DefaultConfigurationXML" type="string" pass="in" description="Default configuration XML to use for this XSD. MUST conform to XSD in question." />
<param name="XSDInstance" type="class" class="MachineConfigurationXSD" pass="return" description="Returns the new XSD of the configuration type." />
</method>

<method name="GetXSDVersion" description="Returns an Configuration XSD Version.">
<param name="XSDVersion" type="uint32" pass="in" description="Version to retrieve." />
<param name="XSDInstance" type="class" class="MachineConfigurationXSD" pass="return" description="Returns the XSD of the configuration type with the appropriate version number or null if it does not exist." />
</method>

<method name="ListVersions" description="Lists all known Configuration version of the current type.">
<param name="VersionIterator" type="class" class="MachineConfigurationVersionIterator" pass="return" description="Returns a list of versions." />
</method>

<method name="FindVersionByUUID" description="Finds a Configuration version by UUID.">
<param name="VersionUUID" type="string" pass="in" description="UUID of the configuration version." />
<param name="Version" type="optionalclass" class="MachineConfigurationVersion" pass="return" description="Returns the specific version or null if version does not exist or is of a different type." />
</method>

<method name="GetActiveVersion" description="Returns the active Configuration version.">
<param name="VersionUUID" type="string" pass="in" description="UUID of the configuration version." />
<param name="Version" type="optionalclass" class="MachineConfigurationVersion" pass="return" description="Returns the specific version or null if no active version exists for this type." />
</method>

<method name="GetLatestVersion" description="Returns the latest Configuration version by Timestamp.">
<param name="Version" type="optionalclass" class="MachineConfigurationVersion" pass="return" description="Returns the specific version or null if no version exists for this type." />
</method>

</class>


<!-- The InstallationInformation class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="InstallationInformation" parent="Base" description="Installation information instance. Gives a snapshot of the installation information at creation of the instance. Does not update in the unlikely event of them changing.">

Expand Down Expand Up @@ -1834,6 +1989,22 @@
<param name="HasCallback" type="bool" pass="return" description="Flag if log callback has been set." />
</method>

<method name="FindConfigurationTypeBySchema" description="Retrieves a configuration type by schema.">
<param name="SchemaType" type="string" pass="in" description="Configuration Schema Type String" />
<param name="IteratorInstance" type="optionalclass" class="MachineConfigurationType" pass="return" description="Returns the Configuration Type instance, if it exists, NULL otherwise." />
</method>

<method name="FindConfigurationTypeByUUID" description="Retrieves a configuration type by uuid.">
<param name="UUID" type="string" pass="in" description="UUID String. Fails if not a proper UUID formatted string." />
<param name="IteratorInstance" type="optionalclass" class="MachineConfigurationType" pass="return" description="Returns the Configuration Type instance, if it exists, NULL otherwise." />
</method>

<method name="CreateConfigurationType" description="Create a new configuration type for a schema. Fails if schema already exists..">
<param name="SchemaType" type="string" pass="in" description="Configuration Schema Type String" />
<param name="Name" type="string" pass="in" description="Name of the type." />
<param name="IteratorInstance" type="class" class="MachineConfigurationType" pass="return" description="Returns the Configuration Type instance." />
</method>

<method name="TriggerLogCallback" description="Triggers the log callback. Fails if no log callback has been set.">
<param name="LogMessage" type="string" pass="in" description="Log message to be logged."/>
<param name="SubSystem" type="string" pass="in" description="SubSystem of Log Message."/>
Expand Down
Loading