Skip to content

Commit d5e635c

Browse files
alexanderosternetfabbyrodzikau
authored
Upstream merges (#28)
* Added SPI and Enums to Raylase SDK * Added CMake Min Version 3.10 * Added raylase nLight Driver board status update * Deactivated SPI * Added JSON API classes * Added JSON API classes * Fixed JSON Array Implementation * Scanlab SCM Driver: Added Blend Mode, Configuration Patching * Added Remove Children into XLM Document Node * Fixed Layerview point viewer clearing * Updated Client * Fixed external JSON API * Added Raylase Part Suppression * Fixed Journal Reader * Improved Examples * Fixed crash in image format conversion * Raylase Driver: Added part suppression and fixes callback issues * Fixed Visual Studio 2022 * Added UUID Values to JSON Wrapper * Removed TSL and AML Drivers for now * Replaced libjpeg-turbo * Replaced libjpeg-turbo * Implemented JPEG ImageData export/import * JPEG Image loader * Added create Client Dist executable * Linux compile fixes * Linux fixes * Linxu compile fixes * Linxu compile fixes * Updated Camera driver * Updated Example to include camera driver * Added Raylase NLight Driver Implementation * nLight Driver Implementation * Compile fixes for Camera driver * Updated nLight Board API * Implemented Raylase Driver SPI Status and mode dependent max laser power * Raylase Driver: Added 3D Movements * Added Delays for initialization * Raylase Driver: Disarmed before initialization * Updated Lib3MF * Updated Boolean artifact * Added RTC Defocus Factors * Updated API for Lib3MF Update * Scanlab SMC SDK: added headers for power ramps * Refactored Toolpath Layer Interfaces * Updated Raylase driver to API changes * Updated Lib3MF * Updated Lib3MF * Updated Lib3MF API * Refactored layer reader and removed loop toolpath type * Updated Lib3MF Branch * Fixed OIE Recording round trip bit * Updated Lib3MF Binary * Fixed warning in RTC Driver * Add Toolpath SubInterpolation Hatch Data * SMC Driver: Added Power Ramps * Made Power output calibration properly linear in scanlab driver * Added Custom Page update flag * Updated Client Package * Added Pre and Post Segment Delay profile settings * Added Support for Presegment and Postsegment Delays * Added Microvector support for Scanlab Driver * Typo in Scanlab driver * Added JSON Event Streaming * Fixed Stream Connection * Small camera driver fixes for enumerating device information * Scanlab SMC Driver: Fixed IPAddress initialization * Added Machine Resources to Working Directory * Added first OpenCV Driver * Updated OpenCV Build script * OpenCV Driver: Implemented WriteToImage * Linux compile fix * Added OpenCV Windows UTF8 Workaround * Added Microsecond options to RTC Skywriting profiles * Adds support for loading SCANmotionControl.dll v1.0 and its dependency RTCService.dll (#22) * Scanlab SMC Driver: Adds support for loading SCANmotionControl.dll v1.0 and its dependency RTCService.dll * Implements the loading of SCANmotionControl.dll v1.0 and its dependency RTCService.dll * Implements the execution of Build using SCANmotionControl.dll v1.0 Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab SMC Driver: Implemented Additional API for Loading RTCService.dll * Added methods SetRTCServiceDLLResourceName and SetRTCServiceDLLResourceData to support loading of RTCService.dll. * Restored the previous method signatures for SetDLLResources and SetCustomDLLData. Signed-off-by: Yury Rodzikau [email protected] --------- Signed-off-by: Yury Rodzikau <[email protected]> Signed-off-by: Yury Rodzikau [email protected] * Updated SMC Configuration to include Correction Files * Fixed Send To Hardware in SMC Context Instance * Fixed Scanlab Predelay Bug * Scanlab RTC Fix for Hatch Coordinates * Fixed GPIO Sequence Repeat loop * Scanlab Driver: Fixed MCBSP On the Fly Override for OIE Recording * Scanlab OIE: Added Selectable Recording Frequency * Scanlab Driver: Improved OIE Measurement Tag handling * Fixed issue in measurement Tag map * Included first OpenFOAM Driver * Removed fly_2d fix from Scanlab OIE Control Power setting * Added 3MF Binary metadata access by Relationship * Updated Lib3mf * Added Mesh handling to Builds, Extended Working files with writers * Updated Lib3mf * OpenFOAM STL generation * Implements a CSV parser to parse Simulation or rtc_log_record files (#24) * Scanlab SMC Driver: Implements loading RTC6 PCIe Firmware * Implements RTC6 PCIe firmware loading if the RTC6 Ethernet IP Address is not specified in the configuration file. * Implements copying of the <SystemConfig> xml node of the configuration file. Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab SMC Driver: Implements a CSV parser to parse Simulation or rtc_log_record files * Implements a universal customizable CSV parser to parse Simulation or rtc_log_record files for SCANmotionControl V1.0 * Maintains backward compatibility with SCANmotionControl V0.8/0.9 * Upgrade C++ Language Standard for libmcdriver_scanlabsmc to C++17 Signed-off-by: Yury Rodzikau <[email protected]> --------- Signed-off-by: Yury Rodzikau <[email protected]> * Added Triangle Set Access to Mesh Objects * OpenFOAM Driver * Scanlab SMC Driver: Added PCI Support * Updated Lib3mf * Linux fixes * Linux fixes * linux fixes * linux fixes * OpenFOAM Driver: Improved Driver Montoring * Added working File Processes to API * Updated OpenFOAM Driver * Added Working File processes * Compile fixes * Added new OpenCV Wrapper DLL * Added new OpenCV Wrapper DLL * Scanlab SMC Driver: Upgrade of the SCANmotionControl to v1.1 (#26) * Support for SCANmotion library version v1.1 has been implemented; * Backward compatibility with SCANmotion version v1.0 has been preserved. Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab SMC Driver: Refactored CSMCJobInstance::ReadSimulationFile to… (#25) * Scanlab SMC Driver: Refactored CSMCJobInstance::ReadSimulationFile to Support Parser Selection Based on SMC Version * Implements logic to select the appropriate SimulationData parser dynamically based on the detected SCANmotionControl version. * Restored the previous SMCJob interface to ensure backward compatibility with existing code. Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab SMC Driver: Implemented UTF-8 file path support for Windows in simulation file loading * Added platform-specific handling to support long UTF-8 file paths on Windows using MultiByteToWideChar. * Implemented exception generation in AMCF style. Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab SMC Driver: Implements parsing and storing the “laseron” signal as uint32_t instead of bool * Implements parsing and storing the “laseron” signal as uint32_t instead of bool Signed-off-by: Yury Rodzikau <[email protected]> --------- Signed-off-by: Yury Rodzikau <[email protected]> * Added External Process Execution to Driver Environment * Added first Unit Test Framework * Added first Unit Test Framework * Fixed process controller * Fixed Linux build * Refactored Working Directories and added Subdirectory support * Refactored Working Directories and added Subdirectory support * Updated OpenFOAM driver * Linux fixes * Linux fixes * Linux fixes * Added custom Correction factors to Scanlab driver * Linux fixes * Linux fixes * Linux fixes * Linux fixes * Linux fixes * Linux fixes * LibMCEnv: Implements LaserON signal visualization in WebGUI (#27) * LibMCEnv: Implements LaserON signal visualization in WebGUI * Extends the DataTableScatterPlotOptions class with the ListDataChannels method for storing and transmitting LaserOn signal; * Implements the ScatterPlotDataChannel(Iterator), ScatterPlotDataColumn(Iterator) classes for storing and transferring additional channels and data columns; * Implements saving and querying of LaserOn signal status to/from the database; * Implements additional HTTP request for acquiring LaserOn signal data on the WebGUI side; * implements additional "LaserOn" mode for LaserOn signal visualization in WebGUI; Signed-off-by: Yury Rodzikau <[email protected]> * AMCF WebClient: Fix incorrect async method invocation in Vue and JS layers * queryPoints: added `return` to ensure caller can await result of async call * queryPointsChannelData: added `return` to propagate async result to calling context * onLayerChanged: added async handling to prevent race conditions during updates Signed-off-by: Yury Rodzikau <[email protected]> * AMCF WebClient/Artifacts: Contains updated client packages with updated githash * Contains updated client packages with updated githash Signed-off-by: Yury Rodzikau <[email protected]> --------- Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab driver: Added laser timing defaults for RTC Drivers * Refactored Signal handling * Updated Client Distribution * Fixed Signal Handling * fixed LPBF User Interface * Updated Unit Test Framework * Linux fixes * Unit Tests * Added Automatic unit testing to Develop branch * Updated build script * Updated build script * Disabled client check on Linux * added libuuid dependency * First iteration of Machine Configurations in LibMCData * Added Machine Configuration Data Model --------- Signed-off-by: Yury Rodzikau <[email protected]> Signed-off-by: Yury Rodzikau [email protected] Co-authored-by: Alexander Oster <[email protected]> Co-authored-by: yrodzikau <[email protected]>
1 parent 476b8e1 commit d5e635c

File tree

745 files changed

+250590
-25239
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

745 files changed

+250590
-25239
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Build and Test
2+
3+
on:
4+
push:
5+
branches: [ master, develop ]
6+
pull_request:
7+
branches: [ master, develop ]
8+
9+
jobs:
10+
build-and-test:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v4
16+
17+
- name: Show current Git branch
18+
run: git branch --show-current
19+
20+
- name: Install dependencies
21+
run: |
22+
sudo apt-get update
23+
sudo apt-get install -y gcc g++ cmake golang uuid-dev
24+
25+
- name: Run pre-build script
26+
run: |
27+
chmod +x ./build_clean_linux64.sh
28+
./build_clean_linux64.sh
29+
shell: bash
30+
31+
- name: Run unit tests
32+
run: ./build_linux64/Output/amc_unittest

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,9 @@
4343
[submodule "submodules/libjpeg-turbo"]
4444
path = submodules/libjpeg-turbo
4545
url = https://github.com/libjpeg-turbo/libjpeg-turbo.git
46+
[submodule "submodules/TinyJPEG"]
47+
path = submodules/TinyJPEG
48+
url = https://github.com/serge-rgb/TinyJPEG.git
49+
[submodule "submodules/stb"]
50+
path = submodules/stb
51+
url = https://github.com/nothings/stb.git

ACT/LibMC.xml

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -658,10 +658,40 @@
658658
<error name="INVALIDCONTENTSTATEID" code="632" description="Invalid content state ID" />
659659
<error name="INVALIDWIDGETREQUEST" code="633" description="Invalid widget request" />
660660
<error name="SOURCEVARIABLENOTFOUND" code="634" description="Source variable not found" />
661+
<error name="INVALIDEVENTRETURNVALUES" code="635" description="Invalid event return values" />
662+
<error name="INVALIDMODIFIERINTERPOLATIONCOUNT" code="636" description="Invalid modifier interpolation count" />
663+
<error name="INVALIDTOOLPATHMODIFIERTYPE" code="637" description="Invalid toolpath modifier type." />
664+
<error name="INVALIDTOOLPATHMODIFIERFACTOR" code="638" description="Invalid toolpath modifier factor." />
665+
<error name="BINARYMETADATARELATIONSHIPNOTFOUND" code="639" description="Binary metadata relationship not found." />
666+
<error name="ENVIRONMENTVARIABLECHANGEAFTERSTART" code="640" description="Environment variable change after start." />
667+
<error name="INVALIDENVIRONMENTVARIABLENAME" code="641" description="Invalid environment variable name." />
668+
<error name="ENVIRONMENTVARIABLEALREADYEXISTS" code="642" description="Environment variable already exists." />
669+
<error name="REACHEDENVIRONMENTVARIABLELIMIT" code="643" description="Reached Environment variable limit." />
670+
<error name="ENVIRONMENTVARIABLENOTFOUND" code="644" description="Environment Variable not found." />
671+
<error name="INVALIDENVIRONMENTVARIABLEINDEX" code="645" description="Invalid environment variable index." />
672+
<error name="COULDNOTREADPROCESSPIPE" code="646" description="Could not read process pipe." />
673+
<error name="PROCESSEXECUTABLENOTFOUND" code="647" description="Process executable not found." />
674+
<error name="COULDNOTCREATEPROCESSPIPE" code="648" description="Could not create process pipe." />
675+
<error name="CREATEPROCESSFAILED" code="649" description="Create process failed." />
676+
<error name="PROCESSEXECUTABLEDIRECTORYDOESNOTEXIST" code="650" description="Process executable directory does not exist." />
677+
<error name="PROCESSCONTROLTIMEISINVALID" code="651" description="Process control time is invalid." />
678+
<error name="PROCESSWORKINGDIRECTORYDOESNOTEXIST" code="652" description="Process working directory does not exist." />
679+
<error name="PROCESSHASALREADYBEENSTARTED" code="653" description="Process has already been started." />
680+
<error name="PROCESSHANDLINGNOTIMPLEMENTEDONPLATFORM" code="654" description="Process handling not implemented on Platform." />
681+
<error name="INVALIDWRITEBUFFFERPOSITION" code="655" description="Invalid write buffer position." />
682+
<error name="INVALIDWRITEBUFFERSIZE" code="656" description="Invalid write buffer size." />
683+
<error name="CANNOTWRITETOFINISHEDFILE" code="658" description="Cannot write to finished file." />
684+
<error name="WORKINGDIRECTORYHASBEENCLEANED" code="659" description="Working Directory has been cleaned." />
685+
<error name="INVALIDCHARACTERINFILENAME" code="660" description="Invalid character in filename." />
686+
<error name="WORKINGDIRECTORYCEASEDTOEXIST" code="661" description="Working directory ceased to exist." />
687+
<error name="DIRECTORYALREADYEXISTS" code="662" description="Directory already exists." />
688+
<error name="WORKINGDIRECTORYNOTFOUND" code="663" description="Working Directory not found." />
689+
<error name="INVALIDSIGNALREACTIONTIMEOUT" code="664" description="Invalid Signal Reaction Timeout." />
690+
<error name="INVALIDSIGNALQUEUESIZE" code="665" description="Invalid Signal queue size." />
691+
<error name="SIGNALALREADYTRIGGERED" code="666" description="Signal has already been triggered." />
661692

662-
663693

664-
694+
665695
</errors>
666696

667697

@@ -682,6 +712,10 @@
682712
<option name="Testing" value="3"/>
683713
</enum>
684714

715+
<enum name="StreamConnectionType">
716+
<option name="JSONEventStream" value="1"/>
717+
<option name="JPEGImageStream" value="2"/>
718+
</enum>
685719

686720
<class name="Base">
687721

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

749+
<method name="GetStreamType" description="Returns the stream type.">
750+
<param name="StreamType" type="enum" class="StreamConnectionType" pass="return" description="Content type of the stream." />
751+
</method>
752+
715753
</class>
716754

717755

ACT/LibMCData.xml

Lines changed: 172 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,8 @@
435435
<error name="JOURNALVARIABLEALIASALREADYEXISTS" code="435" description="Journal variable alias already exists." />
436436
<error name="INVALIDALIASINDEX" code="436" description="Invalid alias index" />
437437
<error name="SOURCEOFJOURNALALIASNOTFOUND" code="437" description="Source of Journal Alias not found" />
438+
<error name="COULDNOTFINDMACHINECONFIGURATIONTYPE" code="438" description="Could not find machine configuration type." />
439+
438440

439441
</errors>
440442

@@ -880,6 +882,10 @@
880882
<method name="GetSHA2" description="returns the sha256 checksum of a storage stream.">
881883
<param name="SHA2" type="string" pass="return" description="SHA1 String" />
882884
</method>
885+
886+
<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.">
887+
</method>
888+
883889

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

14991505

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

@@ -1741,6 +1746,156 @@
17411746

17421747
</class>
17431748

1749+
<!-- The MachineConfigurationVersion class is not thread safe and MUST ONLY be used in a single thread context... -->
1750+
<class name="MachineConfigurationVersion" parent="Base" description="Machine configuration XSD instance.">
1751+
1752+
<method name="GetVersionUUID" description="Returns the UUID.">
1753+
<param name="VersionUUID" type="string" pass="return" description="UUID of the configuration version." />
1754+
</method>
1755+
1756+
<method name="GetXSDUUID" description="Returns the UUID.">
1757+
<param name="XSDUUID" type="string" pass="return" description="UUID of the configuration XSD." />
1758+
</method>
1759+
1760+
<method name="GetTypeUUID" description="Returns the UUID of the corresponding Configuration type.">
1761+
<param name="TypeUUID" type="string" pass="return" description="UUID of the configuration type." />
1762+
</method>
1763+
1764+
<method name="GetParentUUID" description="Returns the UUID of the parent Configuration Version.">
1765+
<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." />
1766+
</method>
1767+
1768+
<method name="GetSchemaType" description="Returns the Schema type of the configuration.">
1769+
<param name="SchemaType" type="string" pass="return" description="Schema type of the configuration type." />
1770+
</method>
1771+
1772+
<method name="GetXSDVersion" description="Returns the version number of the XSD in use..">
1773+
<param name="XSDVersion" type="uint32" pass="return" description="Returns the XSD version." />
1774+
</method>
1775+
1776+
<method name="GetXSDString" description="Returns the XSD in use as string..">
1777+
<param name="XSDString" type="string" pass="return" description="XSD String." />
1778+
</method>
1779+
1780+
<method name="GetConfigurationXMLString" description="Returns the configuration XML as String.">
1781+
<param name="XMLString" type="string" pass="return" description="XML String." />
1782+
</method>
1783+
1784+
<method name="CreateNewVersion" description="Creates a new configuration version from this version with the same XSD.">
1785+
<param name="XMLString" type="string" pass="in" description="New XML Configuration String. MUST conform to current XSD." />
1786+
<param name="UserUUID" type="string" pass="in" description="User UUID for logging the user who initiated the change." />
1787+
<param name="TimeStampUTC" type="string" pass="in" description="Current time in UTC." />
1788+
<param name="CurrentInstance" type="class" class="MachineConfigurationVersion" pass="return" description="returns the MachineConfigurationVersion instance."/>
1789+
</method>
1790+
1791+
<method name="MigrateToNewXSD" description="Creates a new configuration version from this version with another XSD.">
1792+
<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."/>
1793+
<param name="XMLString" type="string" pass="in" description="New XML Configuration String. MUST conform to new XSD." />
1794+
<param name="UserUUID" type="string" pass="in" description="User UUID for logging the user who initiated the change." />
1795+
<param name="TimeStampUTC" type="string" pass="in" description="Current time in UTC." />
1796+
<param name="CurrentInstance" type="class" class="MachineConfigurationVersion" pass="return" description="returns the MachineConfigurationVersion instance."/>
1797+
</method>
1798+
1799+
</class>
1800+
1801+
1802+
<!-- The AlertIterator class is not thread safe and MUST ONLY be used in a single thread context... -->
1803+
<class name="MachineConfigurationVersionIterator" parent="Iterator">
1804+
<method name="GetCurrentVersion" description="Returns the version the iterator points at.">
1805+
<param name="CurrentInstance" type="handle" class="MachineConfigurationVersion" pass="return" description="returns the MachineConfigurationVersion instance."/>
1806+
</method>
1807+
</class>
1808+
1809+
<!-- The MachineConfigurationType class is not thread safe and MUST ONLY be used in a single thread context... -->
1810+
<class name="MachineConfigurationXSD" parent="Base" description="Machine configuration XSD instance.">
1811+
1812+
<method name="GetUUID" description="Returns the UUID.">
1813+
<param name="XSDUUID" type="string" pass="return" description="UUID of the configuration XSD." />
1814+
</method>
1815+
1816+
<method name="GetTypeUUID" description="Returns the UUID of the corresponding Configuration type.">
1817+
<param name="TypeUUID" type="string" pass="return" description="UUID of the configuration type." />
1818+
</method>
1819+
1820+
<method name="GetSchemaType" description="Returns the Schema type of the configuration.">
1821+
<param name="SchemaType" type="string" pass="return" description="Schema type of the configuration type." />
1822+
</method>
1823+
1824+
<method name="GetXSDVersion" description="Returns the version number of the XSD..">
1825+
<param name="XSDVersion" type="uint32" pass="return" description="Returns the XSD version." />
1826+
</method>
1827+
1828+
<method name="GetXSDString" description="Returns the XSD as string..">
1829+
<param name="XSDString" type="string" pass="return" description="XSD String." />
1830+
</method>
1831+
1832+
<method name="ListVersions" description="Lists all known Configuration version of the current XSD.">
1833+
<param name="VersionIterator" type="class" class="MachineConfigurationVersionIterator" pass="return" description="Returns a list of versions." />
1834+
</method>
1835+
1836+
</class>
1837+
1838+
<!-- The MachineConfigurationType class is not thread safe and MUST ONLY be used in a single thread context... -->
1839+
<class name="MachineConfigurationType" parent="Base" description="Machine configuration type instance.">
1840+
1841+
<method name="GetUUID" description="Returns the UUID.">
1842+
<param name="TypeUUID" type="string" pass="return" description="UUID of the configuration type." />
1843+
</method>
1844+
1845+
<method name="GetName" description="Returns the Name.">
1846+
<param name="Name" type="string" pass="return" description="Name of the configuration type." />
1847+
</method>
1848+
1849+
<method name="GetSchemaType" description="Returns the Schema type of the configuration.">
1850+
<param name="SchemaType" type="string" pass="return" description="Schema type of the configuration type." />
1851+
</method>
1852+
1853+
<method name="GetLatestXSD" description="Returns the latest Machine Configuration XSD.">
1854+
<param name="XSDInstance" type="class" class="MachineConfigurationXSD" pass="return" description="Returns the latest XSD of the configuration type." />
1855+
</method>
1856+
1857+
<method name="GetLatestXSDVersion" description="Returns the latest Machine Configuration XSD Version.">
1858+
<param name="XSDVersion" type="uint32" pass="return" description="Returns the latest XSD version, or 0 if no XSD exists." />
1859+
</method>
1860+
1861+
<method name="FindXSDByUUID" description="Finds Machine Configuration XSD by UUID.">
1862+
<param name="XSDUUID" type="string" pass="in" description="UUID of the configuration XSD." />
1863+
<param name="XSDInstance" type="class" class="MachineConfigurationXSD" pass="return" description="Returns the latest XSD of the configuration type." />
1864+
</method>
1865+
1866+
<method name="CreateNewXSD" description="Creates a new XSD Version. Fails if version already exists or is not incrementing.">
1867+
<param name="XSDString" type="string" pass="in" description="XSD String of the version. MUST be incremental." />
1868+
<param name="XSDVersion" type="uint32" pass="in" description="New Version to add. MUST be larger than GetLatestXSDVersion." />
1869+
<param name="DefaultConfigurationXML" type="string" pass="in" description="Default configuration XML to use for this XSD. MUST conform to XSD in question." />
1870+
<param name="XSDInstance" type="class" class="MachineConfigurationXSD" pass="return" description="Returns the new XSD of the configuration type." />
1871+
</method>
1872+
1873+
<method name="GetXSDVersion" description="Returns an Configuration XSD Version.">
1874+
<param name="XSDVersion" type="uint32" pass="in" description="Version to retrieve." />
1875+
<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." />
1876+
</method>
1877+
1878+
<method name="ListVersions" description="Lists all known Configuration version of the current type.">
1879+
<param name="VersionIterator" type="class" class="MachineConfigurationVersionIterator" pass="return" description="Returns a list of versions." />
1880+
</method>
1881+
1882+
<method name="FindVersionByUUID" description="Finds a Configuration version by UUID.">
1883+
<param name="VersionUUID" type="string" pass="in" description="UUID of the configuration version." />
1884+
<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." />
1885+
</method>
1886+
1887+
<method name="GetActiveVersion" description="Returns the active Configuration version.">
1888+
<param name="VersionUUID" type="string" pass="in" description="UUID of the configuration version." />
1889+
<param name="Version" type="optionalclass" class="MachineConfigurationVersion" pass="return" description="Returns the specific version or null if no active version exists for this type." />
1890+
</method>
1891+
1892+
<method name="GetLatestVersion" description="Returns the latest Configuration version by Timestamp.">
1893+
<param name="Version" type="optionalclass" class="MachineConfigurationVersion" pass="return" description="Returns the specific version or null if no version exists for this type." />
1894+
</method>
1895+
1896+
</class>
1897+
1898+
17441899
<!-- The InstallationInformation class is not thread safe and MUST ONLY be used in a single thread context... -->
17451900
<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.">
17461901

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

1992+
<method name="FindConfigurationTypeBySchema" description="Retrieves a configuration type by schema.">
1993+
<param name="SchemaType" type="string" pass="in" description="Configuration Schema Type String" />
1994+
<param name="IteratorInstance" type="optionalclass" class="MachineConfigurationType" pass="return" description="Returns the Configuration Type instance, if it exists, NULL otherwise." />
1995+
</method>
1996+
1997+
<method name="FindConfigurationTypeByUUID" description="Retrieves a configuration type by uuid.">
1998+
<param name="UUID" type="string" pass="in" description="UUID String. Fails if not a proper UUID formatted string." />
1999+
<param name="IteratorInstance" type="optionalclass" class="MachineConfigurationType" pass="return" description="Returns the Configuration Type instance, if it exists, NULL otherwise." />
2000+
</method>
2001+
2002+
<method name="CreateConfigurationType" description="Create a new configuration type for a schema. Fails if schema already exists..">
2003+
<param name="SchemaType" type="string" pass="in" description="Configuration Schema Type String" />
2004+
<param name="Name" type="string" pass="in" description="Name of the type." />
2005+
<param name="IteratorInstance" type="class" class="MachineConfigurationType" pass="return" description="Returns the Configuration Type instance." />
2006+
</method>
2007+
18372008
<method name="TriggerLogCallback" description="Triggers the log callback. Fails if no log callback has been set.">
18382009
<param name="LogMessage" type="string" pass="in" description="Log message to be logged."/>
18392010
<param name="SubSystem" type="string" pass="in" description="SubSystem of Log Message."/>

0 commit comments

Comments
 (0)