-
Notifications
You must be signed in to change notification settings - Fork 32
Expand file tree
/
Copy pathLibMCData.xml
More file actions
2130 lines (1711 loc) · 140 KB
/
LibMCData.xml
File metadata and controls
2130 lines (1711 loc) · 140 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<component xmlns="http://schemas.autodesk.com/netfabb/automaticcomponenttoolkit/2018"
libraryname="Machine Control data model library" namespace="LibMCData" copyright="Autodesk Inc." year="2020" basename="libmcdata"
version="1.0.0">
<license>
<line value="All rights reserved." />
<line value="" />
<line value="Redistribution and use in source and binary forms, with or without" />
<line value="modification, are permitted provided that the following conditions are met:" />
<line value=" * Redistributions of source code must retain the above copyright" />
<line value=" notice, this list of conditions and the following disclaimer." />
<line value=" * Redistributions in binary form must reproduce the above copyright" />
<line value=" notice, this list of conditions and the following disclaimer in the" />
<line value=" documentation and/or other materials provided with the distribution." />
<line value=" * Neither the name of the Autodesk Inc. nor the" />
<line value=" names of its contributors may be used to endorse or promote products" />
<line value=" derived from this software without specific prior written permission." />
<line value="" />
<line value="THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND" />
<line value="ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED" />
<line value="WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE" />
<line value="DISCLAIMED. IN NO EVENT SHALL AUTODESK INC. BE LIABLE FOR ANY" />
<line value="DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES" />
<line value="(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;" />
<line value="LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND" />
<line value="ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT" />
<line value="(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS" />
<line value="SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." />
<line value="" />
</license>
<bindings>
<binding language="CppDynamic" indentation="tabs" />
<binding language="Go" indentation="tabs" />
</bindings>
<implementations>
<implementation language="Cpp" indentation="tabs"/>
</implementations>
<errors>
<error name="NOTIMPLEMENTED" code="1" description="functionality not implemented" />
<error name="INVALIDPARAM" code="2" description="an invalid parameter was passed" />
<error name="INVALIDCAST" code="3" description="a type cast failed" />
<error name="BUFFERTOOSMALL" code="4" description="a provided buffer is too small" />
<error name="GENERICEXCEPTION" code="5" description="a generic exception occurred" />
<error name="COULDNOTLOADLIBRARY" code="6" description="the library could not be loaded" />
<error name="COULDNOTFINDLIBRARYEXPORT" code="7" description="a required exported symbol could not be found in the library" />
<error name="INCOMPATIBLEBINARYVERSION" code="8" description="the version of the binary interface does not match the bindings interface" />
<error name="COULDNOTPARSECONFIGURATION" code="9" description="could not parse configuration" />
<error name="DUPLICATESTATENAME" code="10" description="duplicate state name" />
<error name="STATENOTFOUND" code="11" description="state not found" />
<error name="DUPLICATEOUTSTATE" code="12" description="duplicate out state" />
<error name="MISSINGMACHINEDEFINITION" code="13" description="missing machine definition" />
<error name="MISSINGINSTANCENAME" code="14" description="missing instance name" />
<error name="DUPLICATEMACHINEINSTANCE" code="15" description="duplicate machine instance" />
<error name="MISSINGXMLSCHEMA" code="16" description="missing XML schema" />
<error name="INVALIDXMLSCHEMA" code="17" description="invalid XML schema" />
<error name="MISSINGSTATENAME" code="18" description="missing state name" />
<error name="MISSINGOUTSTATETARGET" code="19" description="missing outstate target" />
<error name="INVALIDOUTSTATETARGET" code="20" description="invalid outstate target" />
<error name="NOINITSTATE" code="21" description="no init state" />
<error name="NOFAILEDSTATE" code="22" description="no failed state" />
<error name="INITSTATENOTFOUND" code="23" description="init state not found" />
<error name="FAILEDSTATENOTFOUND" code="24" description="failed state not found" />
<error name="MISSINGINITSTATE" code="25" description="missing init state" />
<error name="MISSINGFAILEDSTATE" code="26" description="missing failed state" />
<error name="MISSINGPLUGINNAME" code="27" description="missing plugin name" />
<error name="EMPTYINITSTATE" code="28" description="empty init state" />
<error name="EMPTYFAILEDSTATE" code="29" description="empty failed state" />
<error name="EMPTYPLUGINNAME" code="30" description="empty plugin name" />
<error name="COULDNOTCREATESTATEFACTORY" code="31" description="could not create state factory" />
<error name="INVALIDSTATENAME" code="32" description="invalid state name" />
<error name="COULDNOTCREATESTATE" code="33" description="could not create state" />
<error name="COULDNOTINITIALIZEFACTORY" code="34" description="could not initialize factory" />
<error name="COULDNOTFINALIZEFACTORY" code="35" description="could not finalize factory" />
<error name="COULDNOTLOADPLUGIN" code="36" description="could not load plugin" />
<error name="NOCURRENTSTATE" code="37" description="no current state" />
<error name="NOPLUGINSTATE" code="38" description="no plugin state" />
<error name="COULDNOTEXECUTEPLUGIN" code="39" description="could not execute plugin" />
<error name="TOOMANYMACHINEINSTANCES" code="40" description="too many machine instances" />
<error name="INVALIDINDEX" code="41" description="invalid index" />
<error name="NOOUTSTATEGIVEN" code="42" description="no new outstate has been given" />
<error name="INVALIDOUTSTATEGIVEN" code="43" description="invalid outstate has been given" />
<error name="INVALIDREPEATDELAY" code="44" description="invalid repeat delay" />
<error name="INVALIDEXECUTIONDELAY" code="45" description="invalid execution delay" />
<error name="MISSINGREPEATDELAY" code="46" description="missing repeat delay" />
<error name="THREADISRUNNING" code="47" description="thread is running" />
<error name="THREADISNOTRUNNING" code="48" description="thread is not running" />
<error name="DUPLICATESIGNAL" code="49" description="duplicate signal" />
<error name="INVALIDSIGNALNAME" code="50" description="invalid signal name" />
<error name="MISSINGSIGNALNAME" code="51" description="missing signal name" />
<error name="MISSINGSERVERNODE" code="52" description="missing server node" />
<error name="MISSINGHOSTNAME" code="53" description="missing host name" />
<error name="MISSINGPORT" code="54" description="missing port" />
<error name="UUIDGENERATIONFAILED" code="55" description="uuid generation failed" />
<error name="INVALIDBUFFERSIZE" code="56" description="invalid buffer size" />
<error name="COULDNOTCONVERTTOUTF8" code="57" description="could not convert to utf8" />
<error name="NOCOLUMNAVAILABLE" code="58" description="no column available" />
<error name="INVALIDTEXTCOLUMN" code="59" description="invalid text column" />
<error name="INVALIDCOLUMNTYPE" code="60" description="invalid column type" />
<error name="TOOMANYREQUESTEDLOGS" code="61" description="too many requested logs" />
<error name="MISSINGINSTANCEDESCRIPTION" code="62" description="missing instance description" />
<error name="DUPLICATEPARAMETERGROUPNAME" code="63" description="duplicate parameter group name" />
<error name="MISSINGPARAMETERGROUPNAME" code="64" description="missing parameter group name" />
<error name="EMPTYPARAMETERGROUPNAME" code="65" description="empty parameter group name" />
<error name="MISSINGPARAMETERGROUPDESCRIPTION" code="66" description="missing parameter group description" />
<error name="EMPTYPARAMETERGROUPDESCRIPTION" code="67" description="empty parameter group description" />
<error name="TOOMANYPARAMETERS" code="68" description="too many parameters" />
<error name="TOOMANYPARAMETERGROUPS" code="69" description="too many parameter groups" />
<error name="DUPLICATEPARAMETERNAME" code="70" description="duplicate parameter name" />
<error name="MISSINGPARAMETERNAME" code="71" description="missing parameter name" />
<error name="EMPTYPARAMETERNAME" code="72" description="empty parameter name" />
<error name="MISSINGPARAMETERDESCRIPTION" code="73" description="missing parameter description" />
<error name="EMPTYPARAMETERDESCRIPTION" code="74" description="empty parameter description" />
<error name="PARAMETERNOTFOUND" code="75" description="parameter not found" />
<error name="MISSINGPARAMETERDEFAULTVALUE" code="76" description="missing parameter default value" />
<error name="MISSINGDATACONFIGNODE" code="77" description="missing data config node" />
<error name="MISSINGDIRECTORY" code="78" description="missing directory" />
<error name="MISSINGDATABASETYPE" code="79" description="missing database type" />
<error name="MISSINGSQLITEINFO" code="80" description="missing sqlite info" />
<error name="UNKNOWNDATABASETYPE" code="81" description="unknown database type" />
<error name="STORAGENOTINITIALISED" code="82" description="storage not initialised" />
<error name="COULDNOTCONVERTTOUTF16" code="83" description="could not convert to utf 16" />
<error name="COULDNOTCREATEFILE" code="84" description="could not create file" />
<error name="COULDNOTSEEKSTREAM" code="85" description="could not seek stream" />
<error name="COULDNOTGETSTREAMPOSITION" code="86" description="could not get stream position" />
<error name="COULDNOTWRITESTREAM" code="87" description="could not write stream" />
<error name="INVALIDDATABASEMIGRATION" code="88" description="invalid database migration" />
<error name="INTERNALERROR" code="89" description="internal error" />
<error name="COULDNOTSTORECONTENTSTREAM" code="90" description="could not store content stream" />
<error name="DATABASENOTINITIALISED" code="91" description="database not initialised" />
<error name="PARAMETERGROUPNOTFOUND" code="92" description="parameter group not found" />
<error name="SIGNALNOTFOUND" code="93" description="signal not found" />
<error name="STATEMACHINENOTFOUND" code="94" description="state machine not found." />
<error name="MISSINGPARAMETERTYPE" code="95" description="missing parameter type." />
<error name="INVALIDPARAMETERTYPE" code="96" description="invalid parameter type." />
<error name="COULDNOTPARSEJSON" code="97" description="could not parse json." />
<error name="INVALIDJSONFORMAT" code="98" description="invalid json format." />
<error name="URLNOTFOUND" code="99" description="url not found." />
<error name="GENERICBADREQUEST" code="100" description="generic bad request." />
<error name="SQLITE_ERROR" code="101" description="SQLite: Generic Error" />
<error name="SQLITE_INTERNAL" code="102" description="SQLite: Internal logic error in SQLite" />
<error name="SQLITE_PERM" code="103" description="SQLite: Access permission denied" />
<error name="SQLITE_ABORT" code="104" description="SQLite: Callback routine requested an abort" />
<error name="SQLITE_BUSY" code="105" description="SQLite: The database file is locked" />
<error name="SQLITE_LOCKED" code="106" description="SQLite: A table in the database is locked" />
<error name="SQLITE_NOMEM" code="107" description="SQLite: A malloc failed" />
<error name="SQLITE_READONLY" code="108" description="SQLite: Attempt to write a readonly database" />
<error name="SQLITE_INTERRUPT" code="109" description="SQLite: Operation terminated by sqlite3_interrupt" />
<error name="SQLITE_IOERR" code="110" description="SQLite: Some kind of disk I/O error occurred" />
<error name="SQLITE_CORRUPT" code="111" description="SQLite: The database disk image is malformed" />
<error name="SQLITE_NOTFOUND" code="112" description="SQLite: Unknown opcode in sqlite3_file_control" />
<error name="SQLITE_FULL" code="113" description="SQLite: Insertion failed because database is full" />
<error name="SQLITE_CANTOPEN" code="114" description="SQLite: Unable to open the database file" />
<error name="SQLITE_PROTOCOL" code="115" description="SQLite: Database lock protocol error" />
<error name="SQLITE_SCHEMA" code="117" description="SQLite: The database schema changed" />
<error name="SQLITE_TOOBIG" code="118" description="SQLite: String or BLOB exceeds size limit" />
<error name="SQLITE_CONSTRAINT" code="119" description="SQLite: Abort due to constraint violation" />
<error name="SQLITE_MISMATCH" code="120" description="SQLite: Data type mismatch" />
<error name="SQLITE_MISUSE" code="121" description="SQLite: Library used incorrectly" />
<error name="SQLITE_NOLFS" code="122" description="SQLite: Uses OS features not supported on host" />
<error name="SQLITE_AUTH" code="123" description="SQLite: Authorization denied" />
<error name="SQLITE_RANGE" code="125" description="SQLite: 2nd parameter to sqlite3_bind out of range" />
<error name="SQLITE_NOTADB" code="126" description="SQLite: File opened that is not a database file" />
<error name="SQLITE_NOTICE" code="127" description="SQLite: Notifications from sqlite3_log" />
<error name="SQLITE_WARNING" code="128" description="SQLite: Warnings from sqlite3_log" />
<error name="SQLITE_OTHER" code="130" description="SQLite: Other Error" />
<error name="SQLITE_TOOMANYRESULTROWS" code="131" description="too many result rows" />
<error name="COULDNOTREADZIPFILE" code="200" description="Could not read ZIP file" />
<error name="COULDNOTOPENZIPFILE" code="201" description="Could not open ZIP file" />
<error name="COULDNOTGETZIPENTRIES" code="202" description="Could not get ZIP file entries" />
<error name="ZIPENTRYNOTFOUND" code="203" description="ZIP Entry not found" />
<error name="COULDNOTSTATZIPENTRY" code="204" description="Could not stat ZIP entry" />
<error name="COULDNOTOPENZIPENTRY" code="205" description="Could not open ZIP entry" />
<error name="COULDNOTREADZIPSTREAM" code="206" description="Could not read ZIP stream" />
<error name="COULDNOTREADFULLZIPDATA" code="207" description="Could not read full zip data" />
<error name="COULDNOTFINDRESOURCEINDEX" code="208" description="Could not find resource index." />
<error name="COULDNOTPARSERESOURCEINDEX" code="209" description="Could not parse resource index." />
<error name="EMPTYRESOURCEINDEX" code="210" description="Empty resource index." />
<error name="MISSINGRESOURCEINDEX" code="211" description="Missing resource index." />
<error name="MISSINGRESOURCENAME" code="212" description="Missing resource name." />
<error name="MISSINGRESOURCEFILENAME" code="213" description="Missing resource filename." />
<error name="MISSINGRESOURCESIZE" code="214" description="Missing resource size." />
<error name="MISSINGRESOURCECONTENTTYPE" code="215" description="Missing resource content type." />
<error name="DRIVERALREADYREGISTERED" code="216" description="Driver already registered." />
<error name="DRIVERNOTFOUND" code="217" description="Driver not found." />
<error name="MISSINGDRIVERNAME" code="218" description="Missing driver name." />
<error name="MISSINGDRIVERTYPE" code="219" description="Missing driver type." />
<error name="MISSINGDRIVERLIBRARY" code="220" description="Missing driver library." />
<error name="DRIVERALREADYRESERVED" code="221" description="Driver has already been reserved by an instance." />
<error name="LIBRARYPATHNOTFOUND" code="222" description="Library path not found." />
<error name="TOOLPATHENTITYNOTLOADED" code="223" description="Toolpath entity not loaded" />
<error name="TOOLPATHENTITYREFERENCEERROR" code="224" description="Toolpath entity reference error" />
<error name="TOOLPATHENTITYINVALIDFILE" code="225" description="Toolpath entity is invalid" />
<error name="NO3MFLIBRARY" code="226" description="No 3MF Library specified" />
<error name="INVALIDPOINTCOUNT" code="227" description="Invalid point count" />
<error name="DUPLICATEJOBUUID" code="228" description="Duplicate job uuid" />
<error name="INVALIDJOBSTATUS" code="229" description="Invalid job status" />
<error name="INVALIDSTREAMCONTEXT" code="230" description="Invalid stream context" />
<error name="JOBUUIDNOTFOUND" code="231" description="Job uuid not found" />
<error name="INVALIDJOBNAME" code="232" description="Invalid job name" />
<error name="INVALIDJOBTIMESTAMP" code="233" description="Invalid job timestamp" />
<error name="INVALIDUSERID" code="234" description="Invalid job name" />
<error name="INVALIDSTORAGECALLBACKSIGNATURE" code="235" description="Invalid storage callback signature" />
<error name="INVALIDSTORAGECALLBACKSTREAM" code="236" description="Invalid storage callback stream" />
<error name="INVALIDSTORAGEPATH" code="237" description="Invalid storage path" />
<error name="STORAGESTREAMNOTFOUND" code="238" description="Storage Stream not found" />
<error name="DUPLICATESTORAGESTREAM" code="239" description="Duplicate Storage Stream" />
<error name="INVALIDPARTIALUPLOAD" code="240" description="Invalid Partial Upload" />
<error name="PARTIALUPLOADNOTFINISHED" code="241" description="Partial Upload not finished" />
<error name="APIREQUESTNOTHANDLED" code="242" description="API Request not handled" />
<error name="APIREQUESTALREADYHANDLED" code="243" description="API Request already handled" />
<error name="INVALIDAPIREQUESTTYPE" code="244" description="Invalid API Request type" />
<error name="INVALIDUPLOADSTREAM" code="245" description="Invalid Upload Stream" />
<error name="COULDNOTPARSEJSONREQUEST" code="246" description="Could not parse JSON request" />
<error name="INVALIDCONTEXTUUID" code="247" description="Invalid Context UUID" />
<error name="INVALIDUPLOADNAME" code="248" description="Invalid Upload Name" />
<error name="INVALIDMIMETYPE" code="249" description="Invalid Mime Type" />
<error name="INVALIDSTREAMSIZE" code="250" description="Invalid Stream Size" />
<error name="INVALIDSHA256SUM" code="251" description="Invalid SHA256 Sum" />
<error name="INVALIDSTREAMUUID" code="252" description="Invalid Stream UUID" />
<error name="INVALIDFIELDNAME" code="253" description="Invalid field name" />
<error name="UPLOADSIZEMISMATCH" code="254" description="Upload size mismatch" />
<error name="CONTENTTYPENOTACCEPTED" code="255" description="Content type not accepted" />
<error name="NOCURRENTUPLOAD" code="256" description="No current upload" />
<error name="UPLOADCHECKSUMMISMATCH" code="257" description="Upload checksum mismatch" />
<error name="INVALIDSTORAGESTREAMSTATUS" code="258" description="Invalid storage stream status" />
<error name="CONTEXTUUIDNOTACCEPTED" code="259" description="Context uuid not accepted" />
<error name="INVALIDBUILDUUID" code="260" description="Invalid build uuid" />
<error name="MISSINGTHREADCOUNT" code="261" description="Missing thread count" />
<error name="INVALIDTHREADCOUNT" code="262" description="Invalid thread count" />
<error name="COULDNOTUPDATEBUILDSTATUS" code="263" description="Could not update build status" />
<error name="INVALIDITERATOR" code="264" description="Invalid iterator" />
<error name="INVALIDDATATYPE" code="265" description="Invalid data type" />
<error name="COULDNOTSENDSIGNAL" code="266" description="Could not send signal" />
<error name="MISSINGSIGNALPARAMETER" code="267" description="Missing signal parameter" />
<error name="NOUSERINTERFACEDEFINITION" code="268" description="No user interface definition" />
<error name="MISSINGAPPNAME" code="269" description="Missing app name" />
<error name="MISSINGCOPYRIGHT" code="270" description="Missing copyright" />
<error name="MISSINGMAINPAGE" code="271" description="Missing main page" />
<error name="MISSINGMENUITEMID" code="272" description="Missing menu item id" />
<error name="MISSINGMENUITEMICON" code="273" description="Missing menu item icon" />
<error name="MISSINGMENUITEMCAPTION" code="274" description="Missing menu item caption" />
<error name="MISSINGTARGETPAGE" code="275" description="Missing menu item target page" />
<error name="MISSINGMENUNODE" code="276" description="Missing menu node" />
<error name="MISSINGTOOLBARNODE" code="277" description="Missing toolbar node" />
<error name="MISSINGTOOLBARITEMID" code="278" description="Missing toolbar item id" />
<error name="MISSINGTOOLBARITEMICON" code="279" description="Missing toolbar item icon" />
<error name="MISSINGTOOLBARITEMCAPTION" code="280" description="Missing toolbar item caption" />
<error name="MISSINGSERVICESNODE" code="281" description="Missing services node" />
<error name="INVALIDSESSIONUUID" code="282" description="Invalid session UUID" />
<error name="INVALIDSESSIONKEY" code="283" description="Invalid session Key" />
<error name="SESSIONNOTAUTHORIZED" code="284" description="Session not authorized" />
<error name="INVALIDUSERNAME" code="285" description="Invalid user name" />
<error name="INVALIDPASSWORD" code="286" description="Invalid password" />
<error name="INVALIDAUTHORIZATION" code="287" description="Invalid Authorization" />
<error name="USERALREADYAUTHORIZED" code="288" description="User already authorized" />
<error name="INVALIDSESSIONTOKEN" code="289" description="Invalid session token" />
<error name="INVALIDCLIENTKEY" code="290" description="Invalid client key" />
<error name="INVALIDLOGIN" code="291" description="Invalid login credentials" />
<error name="DUPLICATEPAGE" code="292" description="Duplicate page" />
<error name="PAGENOTFOUND" code="293" description="Page not found" />
<error name="MISSINGPAGENAME" code="294" description="Missing page name" />
<error name="INVALIDPAGENAME" code="295" description="Invalid page name" />
<error name="MODULENOTFOUND" code="296" description="Module not found" />
<error name="DUPLICATEMODULE" code="297" description="Duplicate module" />
<error name="INVALIDMODULENAME" code="298" description="Invalid module name" />
<error name="INVALIDMODULETYPE" code="299" description="Invalid module type" />
<error name="INVALIDHEADLINE" code="300" description="Invalid headline" />
<error name="USERNOTFOUND" code="301" description="User not found" />
<error name="STREAMISNOTIMAGE" code="302" description="Stream is not image" />
<error name="TOOMANYCONTENTPARAMETERS" code="303" description="Too many content parameters" />
<error name="MISSINGCONTENTSTATEMACHINENAME" code="304" description="Missing content state machine name" />
<error name="MISSINGCONTENTGROUPNAME" code="305" description="Missing content group name" />
<error name="INVALIDENTRIESPERPAGE" code="306" description="Invalid entries per page" />
<error name="MODULEITEMNOTFOUND" code="307" description="Module item not found" />
<error name="DERIVEDPARAMETERSREADONLY" code="308" description="Derived parameters are read only." />
<error name="TOOMANYJOURNALVARIABLES" code="309" description="Too many journal variables" />
<error name="JOURNALISNOTINITIALISING" code="310" description="Too many journal variables" />
<error name="JOURNALISNOTRECORDING" code="311" description="Too many journal variables" />
<error name="INVALIDVARIABLETYPE" code="312" description="Invalid variable type" />
<error name="INVALIDVARIABLEUNITS" code="313" description="Invalid variable units" />
<error name="UNITSHAVEALREADYBEENSET" code="314" description="Units have already been set" />
<error name="UNITSHAVENOTBEENSET" code="315" description="Units have not been set" />
<error name="INVALIDTIMESTAMP" code="316" description="Invalid time stamp" />
<error name="NOCURRENTJOURNALCHUNK" code="317" description="No current journal chunk" />
<error name="DUPLICATEJOURNALID" code="318" description="Duplicate journal id" />
<error name="RESOURCEENTRYNOTFOUND" code="319" description="Resource entry not found" />
<error name="NOCORERESOURCEPACKAGE" code="320" description="No core resource package" />
<error name="INVALIDASPECTRATIO" code="321" description="Invalid aspect ratio" />
<error name="MISSINGLOGORESOURCE" code="322" description="Missing logo resource" />
<error name="NOUSERINTERFACEPLUGIN" code="323" description="No user interface plugin" />
<error name="COULDNOTLOADUILIBRARY" code="324" description="Could not load UI library" />
<error name="EVENTNAMENOTFOUND" code="325" description="Event name not found" />
<error name="INVALIDEVENTSENDER" code="326" description="Invalid event context" />
<error name="INVALIDEVENTCONTEXT" code="327" description="Invalid event sender" />
<error name="INVALIDLAYERINDEX" code="328" description="Invalid layer index" />
<error name="TEMPBASEPATHEMPTY" code="329" description="Empty base path for temporary files" />
<error name="BUILDJOBDATANOTFOUND" code="330" description="Build job data not found" />
<error name="INVALIDNAMESTRING" code="331" description="Invalid name string" />
<error name="NAMESTRINGMISMATCH" code="332" description="Name string mismatch" />
<error name="DATATYPEMISMATCH" code="333" description="Datatype mismatch" />
<error name="COULDNOTFINDLOGENTRY" code="334" description="Could not find log entry" />
<error name="NOLOGCALLBACK" code="335" description="No log callback" />
<error name="EMPTYUSERNAME" code="336" description="Empty user name" />
<error name="EMPTYUSERUUID" code="337" description="Empty user UUID" />
<error name="USERNOTUNIQUE" code="338" description="User not unique" />
<error name="EMPTYUSERROLE" code="339" description="Empty user role" />
<error name="EMPTYUSERSALT" code="340" description="Empty user salt" />
<error name="EMPTYUSERPASSWORD" code="341" description="Empty user password" />
<error name="INVALIDUSERROLE" code="342" description="Invalid user role" />
<error name="USERALREADYEXISTS" code="343" description="User already exists" />
<error name="INVALIDUSERLANGUAGE" code="344" description="Invalid user language" />
<error name="COULDNOTUPDATEUSERLANGUAGE" code="345" description="Could not update user language" />
<error name="COULDNOTUPDATEUSERROLE" code="346" description="Could not update user role" />
<error name="COULDNOTUPDATEUSERDESCRIPTION" code="347" description="Could not update user description" />
<error name="COULDNOTUPDATEUSERPASSWORD" code="348" description="Could not update user password" />
<error name="INVALIDUSERINDEX" code="349" description="Invalid user index" />
<error name="INVALIDJOURNAL" code="350" description="Invalid journal" />
<error name="EMPTYALERTIDENTIFIER" code="351" description="Empty alert identifier" />
<error name="INVALIDALERTIDENTIFIER" code="352" description="Invalid alert identifier" />
<error name="INVALIDALERTDESCRIPTIONIDENTIFIER" code="353" description="Invalid alert description identifier" />
<error name="INVALIDALERTLEVEL" code="354" description="Invalid alert level" />
<error name="ALERTNOTFOUND" code="355" description="Alert not found" />
<error name="ALERTNOTACKNOWLEDGED" code="356" description="Alert has not been acknowledged." />
<error name="INVALIDSTORAGESTATE" code="357" description="Invalid storage state." />
<error name="STORAGEWRITERALREADYEXISTS" code="358" description="Storage writer already exists." />
<error name="STORAGEWRITERDOESNOTEXIST" code="359" description="Storage writer does not exist." />
<error name="STORAGESTREAMNOTPARTIAL" code="360" description="Storage stream is not partial." />
<error name="STORAGESTREAMNOTRANDOMACCESS" code="361" description="Storage stream is not random access." />
<error name="DOWNLOADTICKETNOTFOUND" code="362" description="Download ticket not found." />
<error name="EMPTYCLIENTFILENAME" code="363" description="Empty client file name." />
<error name="INVALIDCLIENTFILENAME" code="364" description="Invalid client file name." />
<error name="CANNOTCHANGESTATUSOFBUILDJOBEXECUTION" code="365" description="Can not change status of build job execution." />
<error name="BUILDJOBMETADATAKEYEMPTY" code="366" description="Build job metadata key empty." />
<error name="BUILDJOBMETADATAKEYINVALID" code="367" description="Build job metadata key is invalid." />
<error name="BUILDJOBMETADATAKEYDUPLICATE" code="368" description="Build job metadata key is not unique." />
<error name="BUILDJOBMETADATAKEYNOTFOUND" code="369" description="Build job metadata key not found." />
<error name="INVALIDBUILDJOBEXECUTIONSTATUS" code="370" description="Invalid build job execution status." />
<error name="BUILDJOBEXECUTIONNOTFOUND" code="371" description="Build job execution not found." />
<error name="BUILDJOBEXECUTIONISNOTINPROCESS" code="372" description="Build job execution is not in process." />
<error name="BUILDJOBEXECUTIONENDNOTAVAILABLE" code="373" description="Build job execution end is not available." />
<error name="INVALIDBUILDJOBEXECUTIONSTART" code="374" description="Invalid build job execution start." />
<error name="INVALIDBUILDJOBEXECUTIONEND" code="375" description="Invalid build job execution end." />
<error name="BUILDJOBEXECUTIONENDISBEFORESTART" code="376" description="Build job execution end is before start." />
<error name="BUILDJOBEXECUTIONISFROMPASTJOURNAL" code="377" description="Build job execution is from past journal." />
<error name="BUILDJOBEXECUTIONSTARTISINTHEFUTURE" code="378" description="Build job execution start is in the future." />
<error name="BUILDJOBDURATIONNOTAVAILABLE" code="379" description="Build job duration is not available." />
<error name="BUILDJOBEXECUTIONMETADATAKEYEMPTY" code="380" description="Build job execution metadata key is empty." />
<error name="BUILDJOBEXECUTIONMETADATAKEYINVALID" code="381" description="Build job execution metadata key is invalid." />
<error name="BUILDJOBEXECUTIONMETADATAKEYNOTFOUND" code="382" description="Build job execution metadata key not found." />
<error name="BUILDJOBEXECUTIONMETADATAKEYDUPLICATE" code="383" description="Build job execution metadata key is duplicate." />
<error name="EMPTYJOBDATAIDENTIFIER" code="384" description="Empty job data identifier." />
<error name="BUILDJOBEXECUTIONDATANOTFOUND" code="385" description="Build job execution data not found." />
<error name="EMPTYJOBEXECUTIONDATAIDENTIFIER" code="386" description="Empty job execution data identifier." />
<error name="ZIPSTREAMSDONOTSUPPORTASYNCCHUNKWRITE" code="387" description="ZIP Streams to not support async chunk write." />
<error name="ZIPSTREAMEXCEEDSMAXIMUMNUMBEROFENTRIES" code="388" description="ZIP Stream exceeds maximum number of entries." />
<error name="ATTEMPTEDTOWRITETOFINISHEDZIPSTREAMENTRY" code="389" description="Attempted to write to finished ZIP stream entry." />
<error name="INVALIDZIPSTREAMENTRYID" code="390" description="Invalid ZIP Stream entry ID." />
<error name="ZIPSTREAMENTRYIDNOTFOUND" code="391" description="ZIP Stream entry ID not found." />
<error name="ZIPWRITINGALREADYFINISHED" code="392" description="ZIP Writing already finished." />
<error name="INVALIDBUILDJOBLAYERCOUNT" code="393" description="Invalid build job layer count." />
<error name="COULDNOTDETERMINEEXECUTIONCOUNT" code="394" description="Could not determine execution count." />
<error name="COULDNOTCREATEJOURNALFILE" code="395" description="Could not create journal file." />
<error name="INVALIDJOURNALTIMESTAMP" code="396" description="Invalid journal time stamp." />
<error name="INVALIDJOURNALDATAOFFSET" code="397" description="Invalid journal data offset." />
<error name="INVALIDJOURNALDATALENGTH" code="398" description="Invalid journal data length." />
<error name="INVALIDJOURNALDATASIGNATURE" code="399" description="Invalid journal data signature." />
<error name="JOURNALMEMORYSIZEMISMATCH" code="400" description="Invalid journal memory size mismatch." />
<error name="JOURNALMEMORYVARIABLECOUNTISZERO" code="401" description="Invalid journal memory variable count." />
<error name="JOURNALMEMORYVALUECOUNTISZERO" code="402" description="Invalid journal memory value count." />
<error name="COULDNOTSEEKJOURNALSTREAM" code="403" description="Could not create seek journal stream." />
<error name="COULDNOTPREPAREJOURNALWRITING" code="404" description="Could not prepare journal writing." />
<error name="COULDNOTFINISHJOURNALWRITING" code="405" description="Could not finish journal writing." />
<error name="COULDNOTWRITETOJOURNALSTREAM" code="406" description="Could not write to journal stream." />
<error name="COULDNOTREADFROMJOURNALSTREAM" code="407" description="Could not read from journal stream." />
<error name="COULDNOTFULLYREADFROMJOURNALSTREAM" code="408" description="Could not fully read from journal stream." />
<error name="COULDGETJOURNALSTREAMPOSITION" code="409" description="Could not get journal stream position." />
<error name="INVALIDJOURNALFILEINDEX" code="410" description="Invalid journal file index." />
<error name="JOURNALEXCEEDSMAXIMUMFILES" code="411" description="Journal exceeds maxium files." />
<error name="COULDNOTFINDJOURNALUUID" code="412" description="Could not find journal UUID." />
<error name="UNKNOWNDATATYPE" code="413" description="Unknown data type." />
<error name="DUPLICATEJOURNALVARIABLEID" code="414" description="Duplicate journal variable ID." />
<error name="DUPLICATEJOURNALVARIABLEINDEX" code="415" description="Duplicate journal variable index." />
<error name="DUPLICATEJOURNALVARIABLENAME" code="416" description="Duplicate journal variable name." />
<error name="DUPLICATEJOURNALFILEINDEX" code="417" description="Duplicate journal file index." />
<error name="DUPLICATEJOURNALCHUNKINDEX" code="418" description="Duplicate journal chunk index." />
<error name="JOURNALFILEINDEXNOTFOUND" code="419" description="Journal file index not found." />
<error name="JOURNALCHUNKNOTFOUND" code="420" description="Journal chunk not found." />
<error name="JOURNALREADERFILENOTOPEN" code="421" description="Journal chunk not found." />
<error name="NEGATIVEJOURNALCHUNKINDEX" code="422" description="Negative journal chunk index" />
<error name="NEGATIVEJOURNALFILEINDEX" code="423" description="Negative journal file index" />
<error name="NEGATIVEJOURNALSTARTTIMESTAMP" code="424" description="Negative journal start time stamp" />
<error name="INVALIDJOURNALENDTIMESTAMP" code="425" description="Invalid journal end time stamp" />
<error name="NEGATIVEJOURNALDATAOFFSET" code="426" description="Negative journal data offset" />
<error name="NEGATIVEJOURNALDATALENGTH" code="427" description="Negative journal data length" />
<error name="JOURNALTIMESTAMPSNOTINCREASING" code="428" description="Journal time stamp is not increasing" />
<error name="NEGATIVEJOURNALVARIABLEINDEX" code="429" description="Negative journal variable index" />
<error name="NONPOSITIVEJOURNALVARIABLEID" code="430" description="Non-positive journal variable ID" />
<error name="EMPTYJOURNALVARIABLENAME" code="431" description="Empty journal variable name" />
<error name="INVALIDVARIABLEINDEX" code="432" description="Invalid variable index" />
<error name="INVALIDCHUNKINDEX" code="433" description="Invalid chunk index" />
<error name="UNKNOWNSOURCEJOURNALVARIABLENAME" code="434" description="Unknown source journal variable name" />
<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." />
<error name="INVALIDSTORAGESTREAMSIZE" code="439" description="Storage stream size for build is zero." />
<error name="COULDNOTUPDATEBUILDNAME" code="440" description="Could not update build name" />
<error name="INVALIDMACHINECONFIGURATIONTYPEUUID" code="441" description="Invalid machine configuration type UUID." />
<error name="MACHINECONFIGURATIONXSDVERSIONNOTINCREMENTING" code="442" description="Machine configuration version is not incrementing." />
<error name="COULDNOTGETLATESTMACHINECONFIGURATIONXSDVERSION" code="443" description="Could not get latest machine configuration XSD version." />
<error name="COULDNOTFINDMACHINECONFIGURATIONXSDBYUUID" code="444" description="Could not find latest machine configuration XSD by UUID." />
<error name="COULDNOTFINDMACHINECONFIGURATIONVERSIONBYUUID" code="445" description="Could not find latest machine configuration version by UUID." />
<error name="MACHINECONFIGURATIONTYPEMISMATCH" code="446" description="Machine configuration mismatch." />
</errors>
<struct name="JournalChunkVariableInfo">
<member name="VariableIndex" type="uint32" />
<member name="StorageType" type="uint32" />
<member name="EntryStartIndex" type="uint32" />
<member name="EntryCount" type="uint32" />
</struct>
<enum name="AlertLevel">
<option name="FatalError" value="1"/>
<option name="CriticalError" value="2"/>
<option name="Warning" value="3"/>
<option name="Message" value="4"/>
<option name="Unknown" value="7"/>
</enum>
<enum name="LogLevel">
<option name="FatalError" value="1"/>
<option name="CriticalError" value="2"/>
<option name="Warning" value="3"/>
<option name="Message" value="4"/>
<option name="Info" value="5"/>
<option name="Debug" value="6"/>
<option name="Unknown" value="7"/>
</enum>
<enum name="DataBaseType">
<option name="Unknown" value="0"/>
<option name="SqLite" value="1"/>
</enum>
<functiontype name="LogCallback" description="A callback function for external logging systems">
<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."/>
<param name="LogLevel" type="enum" class="LogLevel" pass="in" description="Log Level to be used."/>
<param name="Timestamp" type="string" pass="in" description="Timestamp of the log message."/>
<param name="UserData" type="pointer" pass="in" description="Userdata that is passed to the callback function"/>
</functiontype>
<enum name="ParameterDataType">
<option name="Unknown" value="0"/>
<option name="String" value="1"/>
<option name="UUID" value="2"/>
<option name="Integer" value="3"/>
<option name="Double" value="4"/>
<option name="Bool" value="5"/>
</enum>
<enum name="BuildJobStatus">
<option name="Created" value="0"/>
<option name="Validating" value="100"/>
<option name="Validated" value="200"/>
<option name="Archived" value="300"/>
<option name="Deleted" value="400"/>
</enum>
<enum name="CustomDataType">
<option name="Unknown" value="0"/>
<option name="Toolpath" value="1"/>
<option name="PNGImage" value="2"/>
<option name="JPEGImage" value="3"/>
<option name="Thumbnail" value="4"/>
<option name="Timeline" value="5"/>
<option name="SVGImage" value="6"/>
<option name="CustomBinaryData" value="100"/>
</enum>
<enum name="BuildJobExecutionStatus">
<option name="Unknown" value="0" />
<option name="InProcess" value="1" />
<option name="Finished" value="2" />
<option name="Failed" value="3" />
</enum>
<functiontype name="StreamReadCallback" description="Callback to call for reading a data chunk">
<param name="ByteData" type="pointer" pass="in" description="Pointer to a buffer to read data into"/>
<param name="NumBytes" type="uint64" pass="in" description="Number of bytes to read"/>
<param name="StreamHandle" type="pointer" pass="in" description="Handle of the stream to read."/>
<param name="ErrorCode" type="uint32" pass="return" description="LibMCData return code (0 for success)"/>
</functiontype>
<functiontype name="StreamSeekCallback" description="Callback to call for seeking in the stream">
<param name="Position" type="uint64" pass="in" description="Position in the stream to move to"/>
<param name="StreamHandle" type="pointer" pass="in" description="Handle of the stream to read."/>
<param name="ErrorCode" type="uint32" pass="return" description="LibMCData return code (0 for success)"/>
</functiontype>
<class name="Base">
</class>
<!-- The Iterator class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="Iterator" parent="Base">
<method name="MoveNext" description="Iterates to the next resource in the list.">
<param name="HasNext" type="bool" pass="return" description="Iterates to the next resource in the list."/>
</method>
<method name="MovePrevious" description="Iterates to the previous resource in the list.">
<param name="HasPrevious" type="bool" pass="return" description="Iterates to the previous resource in the list."/>
</method>
<method name="GetCurrent" description="Returns the resource the iterator points at.">
<param name="CurrentInstance" type="handle" class="Base" pass="return" description="returns the resource instance."/>
</method>
<method name="Clone" description="Creates a new resource iterator with the same resource list.">
<param name="OutIterator" type="handle" class="Iterator" pass="return" description="returns the cloned Iterator instance"/>
</method>
<method name="Count" description="Returns the number of resources the iterator captures.">
<param name="Count" type="uint64" pass="return" description="returns the number of resources the iterator captures."/>
</method>
</class>
<!-- The LogEntryList class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="LogEntryList" parent="Base" description="List of retrieved log entries">
<method name="Count" description="Returns the number of log entries in the list.">
<param name="Count" type="uint32" pass="return" description="returns the number of retrieved log entries."/>
</method>
<method name="GetEntryByIndex" description="Returns a log entry in the list by its index.">
<param name="Index" type="uint32" pass="in" description="Index of log entry, 0-based."/>
<param name="ID" type="uint32" pass="out" description="ID of log entry."/>
<param name="Message" type="string" pass="out" description="Log Message" />
<param name="SubSystem" type="string" pass="out" description="Sub System identifier" />
<param name="LogLevel" type="enum" class="LogLevel" pass="out" description="Log Level" />
<param name="Timestamp" type="string" pass="out" description="Timestamp in ISO8601 UTC format" />
</method>
<method name="GetEntryByID" description="Returns a log entry in the list by its ID.">
<param name="ID" type="uint32" pass="in" description="ID of log entry."/>
<param name="Message" type="string" pass="out" description="Log Message" />
<param name="SubSystem" type="string" pass="out" description="Sub System identifier" />
<param name="LogLevel" type="enum" class="LogLevel" pass="out" description="Log Level" />
<param name="Timestamp" type="string" pass="out" description="Timestamp in ISO8601 UTC format" />
</method>
<method name="HasEntry" description="Returns if a log entry in the list exists.">
<param name="ID" type="uint32" pass="in" description="ID of log entry."/>
<param name="Value" type="bool" pass="return" description="Returns if a list exists."/>
</method>
</class>
<!-- The LogSession class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="LogSession" parent="Base" description="Logging Instance">
<method name="GetSessionUUID" description="retrieves the session UUID.">
<param name="SessionUUID" type="string" pass="return" description="Session UUID" />
</method>
<method name="AddEntry" description="adds a new log entry.">
<param name="Message" type="string" pass="in" description="Log Message" />
<param name="SubSystem" type="string" pass="in" description="Sub System identifier" />
<param name="LogLevel" type="enum" class="LogLevel" pass="in" description="Log Level" />
<param name="TimestampUTC" type="string" pass="in" description="Timestamp in ISO8601 UTC format" />
</method>
<method name="GetMaxLogEntryID" description="retrieves the maximum log entry ID in the log.">
<param name="MaxLogID" type="uint32" pass="return" description="Log entry ID" />
</method>
<method name="RetrieveLogEntriesByID" description="retrieves an excerpt of the log.">
<param name="MinLogID" type="uint32" pass="in" description="Minimum log entry ID to receive." />
<param name="MaxLogID" type="uint32" pass="in" description="Maximum log entry ID to receive. MUST be between (MinLogID + 1) and (MinLogID + 65536)." />
<param name="MinLogLevel" type="enum" class="LogLevel" pass="in" description="Minimum Log Level to return." />
<param name="LogEntryList" type="class" class="LogEntryList" pass="return" description="Log Entry List." />
</method>
</class>
<!-- The Alert class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="Alert" parent="Base" description="Alert Instance. Snapshot of an alert at a certain time.">
<method name="GetUUID" description="Returns the Alert UUID.">
<param name="UUID" type="string" pass="return" description="Value." />
</method>
<method name="GetIdentifier" description="Returns the Alert Identifier.">
<param name="Identifier" type="string" pass="return" description="Value." />
</method>
<method name="IsActive" description="Returns if the alert is actuve.">
<param name="Active" type="bool" pass="return" description="Returns if the alert is active." />
</method>
<method name="GetLevel" description="Returns the Alert Level.">
<param name="Level" type="enum" class="AlertLevel" pass="return" description="Value." />
</method>
<method name="GetLevelString" description="Returns the Alert Level string.">
<param name="LevelString" type="string" pass="return" description="Value." />
</method>
<method name="GetDescription" description="Returns the Alert Description.">
<param name="Description" type="string" pass="return" description="Value." />
</method>
<method name="GetDescriptionIdentifier" description="Returns the Alert DescriptionIdentifier.">
<param name="DescriptionIdentifier" type="string" pass="return" description="Value." />
</method>
<method name="GetReadableContextInformation" description="Returns the Alert ReadableContextInformation.">
<param name="ReadableContextInformation" type="string" pass="return" description="Value." />
</method>
<method name="GetNeedsAcknowledgement" description="Returns if the Alert needs acknowledgement.">
<param name="NeedsAcknowledgement" type="bool" pass="return" description="Value." />
</method>
<method name="GetTimestampUTC" description="Returns the Alert Timestamp in UTC file format.">
<param name="TimestampUTC" type="string" pass="return" description="Value." />
</method>
<method name="HasBeenAcknowledged" description="Checks if the alert has been acknowledged.">
<param name="HasBeenAcknowledged" type="bool" pass="return" description="Flag if the alert has been acknowledged." />
</method>
<method name="GetAcknowledgementInformation" description="Returns details about the acknowledgement. Fails if the alert is not acknowledged.">
<param name="UserUUID" type="string" pass="out" description="User who acknowledged the alert." />
<param name="UserComment" type="string" pass="out" description="Comment of the acknowledgement." />
<param name="AckTime" type="string" pass="out" description="Timestamp in ISO8601 UTC format." />
</method>
<method name="AcknowledgeForUser" description="Acknowledges an alert for a specific user and sets it inactive. ">
<param name="UserUUID" type="string" pass="in" description="UUID of the user to acknowledge. Fails if user does not exist." />
<param name="UserComment" type="string" pass="in" description="User comment to store. May be empty." />
<param name="TimestampUTC" type="string" pass="in" description="Timestamp in UTC format." />
</method>
<method name="DeactivateAlert" description="Sets an alert inactive. It will not be marked as acknowledged by a certain user.">
</method>
</class>
<!-- The AlertIterator class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="AlertIterator" parent="Iterator">
<method name="GetCurrentAlert" description="Returns the alert the iterator points at.">
<param name="CurrentInstance" type="handle" class="Alert" pass="return" description="returns the Alert instance."/>
</method>
</class>
<!-- The AlertSession class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="AlertSession" parent="Base" description="Alert Session Instance">
<method name="AddAlert" description="adds a new alert entry.">
<param name="UUID" type="string" pass="in" description="Alert UUID" />
<param name="Identifier" type="string" pass="in" description="Alert Identifier" />
<param name="Level" type="enum" class="AlertLevel" pass="in" description="Alert level." />
<param name="Description" type="string" pass="in" description="Alert Description in default language" />
<param name="DescriptionIdentifier" type="string" pass="in" description="Alert Description Identifier for internationalization. May be empty." />
<param name="ReadableContextInformation" type="string" pass="in" description="Readable Context Information in default language" />
<param name="NeedsAcknowledgement" type="bool" pass="in" description="Flag if acknowledgement is needed" />
<param name="TimestampUTC" type="string" pass="in" description="Timestamp in ISO8601 UTC format" />
<param name="AlertInstance" type="class" class="Alert" pass="return" description="Alert Instance" />
</method>
<method name="HasAlert" description="Checks if an alert with a certain UUID exists.">
<param name="UUID" type="string" pass="in" description="Alert UUID. Fails if not a valid UUID is given." />
<param name="AlertExists" type="bool" pass="return" description="Flag if alert exists" />
</method>
<method name="GetAlertByUUID" description="Retrieves the alert object. Fails if alert does not exist.">
<param name="UUID" type="string" pass="in" description="Alert UUID. Fails if not a valid UUID is given." />
<param name="AlertInstance" type="class" class="Alert" pass="return" description="Alert Instance" />
</method>
<method name="RetrieveAlerts" description="Retrieves all or all active alerts.">
<param name="OnlyActive" type="bool" pass="in" description="If true, only active alerts will be returned." />
<param name="IteratorInstance" type="class" class="AlertIterator" pass="return" description="AlertIterator Instance" />
</method>
<method name="RetrieveAlertsByType" description="Retrieves alerts of a certain type identifier.">
<param name="Identifier" type="string" pass="in" description="Alert Identifier to look for. Fails if empty." />
<param name="OnlyActive" type="bool" pass="in" description="If true, only active alerts will be returned." />
<param name="IteratorInstance" type="class" class="AlertIterator" pass="return" description="AlertIterator Instance" />
</method>
</class>
<!-- The JournalChunkIntegerData class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="JournalChunkIntegerData" parent="Base" description="Class containing the read out value of a journal chunk">
<method name="GetChunkIndex" description="Returns index of chunk.">
<param name="ChunkIndex" type="uint32" pass="return" description="Index of the Chunk" />
</method>
<method name="GetStartTimeStamp" description="Returns start time stamp of chunk.">
<param name="StartTimeStamp" type="uint64" pass="return" description="Start Timestamp of the chunk (in microseconds)" />
</method>
<method name="GetEndTimeStamp" description="Returns start end stamp of chunk.">
<param name="EndTimeStamp" type="uint64" pass="return" description="End Timestamp of the chunk (in microseconds)" />
</method>
<method name="GetVariableInfo" description="Returns the variable information array.">
<param name="VariableInfo" type="structarray" class="JournalChunkVariableInfo" pass="out" description="Variable information array. References TimeStamps and Values." />
</method>
<method name="GetTimeStampData" description="Returns the timestamp data.">
<param name="TimeStampData" type="basicarray" class="uint32" pass="out" description="Relative Timestamps with reference of StartTimeStamp. Must have same cardinality as ValueData." />
</method>
<method name="GetValueData" description="Returns the timestamp data.">
<param name="ValueData" type="basicarray" class="int64" pass="out" description="Integer values. Must have same cardinality as TimeStampData." />
</method>
</class>
<!-- The JournalSession class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="JournalSession" parent="Base" description="Journaling Instance">
<method name="GetSessionUUID" description="retrieves the session UUID.">
<param name="SessionUUID" type="string" pass="return" description="Session UUID" />
</method>
<method name="CreateVariableInJournalDB" description="creates variable in journal DB.">
<param name="Name" type="string" pass="in" description="Variable Name" />
<param name="ID" type="uint32" pass="in" description="Variable ID" />
<param name="Index" type="uint32" pass="in" description="Variable Index" />
<param name="DataType" type="enum" class="ParameterDataType" pass="in" description="Variable Data Type" />
<param name="Units" type="double" pass="in" description="Unit factor, if DataType is Double. Will be ignored otherwise." />
</method>
<method name="CreateVariableAliasInJournalDB" description="creates variable alias in journal DB.">
<param name="AliasName" type="string" pass="in" description="Alias Name" />
<param name="SourceName" type="string" pass="in" description="Source Variable Name" />
</method>
<method name="WriteJournalChunkIntegerData" description="writes detailed journal state data to disk.">
<param name="ChunkIndex" type="uint32" pass="in" description="Index of the Chunk to write" />
<param name="StartTimeStamp" type="uint64" pass="in" description="Start Timestamp of the chunk (in microseconds)" />
<param name="EndTimeStamp" type="uint64" pass="in" description="End Timestamp of the chunk (in microseconds)" />
<param name="VariableInfo" type="structarray" class="JournalChunkVariableInfo" pass="in" description="Variable information array. References TimeStamps and Values." />
<param name="TimeStampData" type="basicarray" class="uint32" pass="in" description="Relative Timestamps with reference of StartTimeStamp. Must have same cardinality as ValueData." />
<param name="ValueData" type="basicarray" class="int64" pass="in" description="Integer values. Must have same cardinality as TimeStampData." />
</method>
<method name="ReadChunkIntegerData" description="reads journal state data from disk.">
<param name="ChunkIndex" type="uint32" pass="in" description="Index of the Chunk to read. Fails if chunk index is not found." />
<param name="IntegerData" type="class" class="JournalChunkIntegerData" pass="return" description="Journal Chunk Data Instance" />
</method>
<method name="GetChunkCacheQuota" description="Returns the chunk cache quota size in bytes.">
<param name="CacheQuota" type="uint64" pass="return" description="Maximum Chunk Capacity in Journal in Bytes" />
</method>
<method name="GetChunkIntervalInMicroseconds" description="Returns the chunk interval of the session journal in Microseconds.">
<param name="ChunkInterval" type="uint64" pass="return" description="The interval determines how often a session journal chunk is written to disk." />
</method>
</class>
<!-- The JournalReader class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="JournalReader" parent="Base" description="Journaling Instance">
<method name="GetJournalUUID" description="retrieves the UUID of the journal.">
<param name="JournalUUID" type="string" pass="return" description="Journal UUID" />
</method>
<method name="GetStartTime" description="returns the start timestamp of the journal.">
<param name="Timestamp" type="string" pass="return" description="Timestamp in ISO8601 UTC format" />
</method>
<method name="GetLifeTimeInMicroseconds" description="Get journal life time in microseconds.">
<param name="LifeTime" type="uint64" pass="return" description="Journal life time in microseconds." />
</method>
<method name="ReadChunkIntegerData" description="reads journal state data from disk.">
<param name="ChunkIndex" type="uint32" pass="in" description="Index of the Chunk to read. Fails if chunk index is not found." />
<param name="IntegerData" type="class" class="JournalChunkIntegerData" pass="return" description="Journal Chunk Data Instance" />
</method>
<method name="GetVariableCount" description="Returns number of variables.">
<param name="Count" type="uint32" pass="return" description="Number of variables in journal." />
</method>
<method name="GetVariableInformation" description="Returns the information for a variable.">
<param name="VariableIndex" type="uint32" pass="in" description="Index of the variable." />
<param name="VariableName" type="string" pass="out" description="Name of the variable." />
<param name="VariableID" type="uint32" pass="out" description="ID of the variable." />
<param name="DataType" type="enum" class="ParameterDataType" pass="out" description="Data type of the variable." />
<param name="Units" type="double" pass="out" description="Unit factor, if DataType is Double. Will be 0.0 otherwise." />
</method>
<method name="GetAliasCount" description="Returns number of aliases.">
<param name="Count" type="uint32" pass="return" description="Number of aliases in journal." />
</method>
<method name="GetAliasInformation" description="Returns the information for a variable alias.">
<param name="AliasIndex" type="uint32" pass="in" description="Index of the alias." />
<param name="AliasName" type="string" pass="out" description="Name of the alias." />
<param name="SourceVariableName" type="string" pass="out" description="Name of the variable." />
</method>
<method name="GetChunkCount" description="Returns number of chunks.">
<param name="Count" type="uint32" pass="return" description="Number of chunks in journal." />
</method>
<method name="GetChunkInformation" description="Returns the information for a chunk.">
<param name="ChunkIndex" type="uint32" pass="in" description="Index of the chunk." />
<param name="StartTimeStamp" type="uint64" pass="out" description="Start timestamp of the chunk in microseconds." />
<param name="EndTimeStamp" type="uint64" pass="out" description="End timestamp of the chunk in microseconds." />
</method>
</class>
<!-- The StorageStream class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="StorageStream" parent="Base" description="Storage Stream Instance">
<method name="GetUUID" description="returns the uuid of a storage stream.">
<param name="UUID" type="string" pass="return" description="UUID String" />
</method>
<method name="GetTimeStamp" description="returns the timestamp of a storage stream.">
<param name="Timestamp" type="string" pass="return" description="Timestamp in ISO8601 UTC format" />
</method>
<method name="GetContextIdentifier" description="returns the context identifier of a storage stream.">
<param name="ContextIdentifier" type="string" pass="return" description="Context Identifier String" />
</method>
<method name="GetName" description="returns the name description of a storage stream.">
<param name="Name" type="string" pass="return" description="Name String" />
</method>
<method name="GetMIMEType" description="returns the mime type of a storage stream.">
<param name="MimeType" type="string" pass="return" description="Mime Type String" />
</method>
<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" />
</method>
<method name="GetContent" description="returns the content of a storage stream.">
<param name="Content" type="basicarray" class="uint8" pass="out" description="Byte Content of the stream" />
</method>
<method name="GetCallbacks" description="returns direct read access to the storage stream. The callbacks are only valid throughout the existence of the StorageStream instance.">
<param name="TheReadCallback" type="pointer" class="StreamReadCallback" pass="out" description="Callback to call for reading a data chunk"/>
<param name="TheSeekCallback" type="pointer" class="StreamSeekCallback" pass="out" description="Callback to call for seeking in the stream."/>
<param name="StreamHandle" type="pointer" pass="out" description="Handle of the stream."/>
</method>
</class>
<!-- The StorageZIPWriter class is thread safe. -->
<class name="StorageZIPWriter" parent="Base" description="Storage ZIP Writer Instance">
<method name="StartNewEntry" description="Starts a new entry in the ZIP Stream. Finishes any unfinished entry. Fails if entry already exists. Fails if more than 1 billion entries exist in the ZIP file.">
<param name="FileName" type="string" pass="in" description="Filename of the entry. MUST be a valid filename." />
<param name="AbsoluteTimeStamp" type="uint64" pass="in" description="Absolute Time Stamp in Microseconds since 1970." />
<param name="EntryID" type="uint32" pass="return" description="Returns the current entry ID." />
</method>
<method name="FinishCurrentEntry" description="Finishes the current entry in the ZIP stream. Writing is not possible, after an entry has been finished.">
</method>
<method name="GetOpenEntryID" description="Returns the entry ID of the current open entry. Or 0, if no writing is possible.">
<param name="EntryID" type="uint32" pass="return" description="Returns the current entry ID." />
</method>
<method name="WriteData" description="Writes data into the currently open entry.">
<param name="EntryID" type="uint32" pass="in" description="Entry ID to write into. Checks again the current open entry ID and fails if there is a write attempt into any other entry ID." />
<param name="Data" type="basicarray" class="uint8" pass="in" description="Data block to store in stream." />
</method>
<method name="GetEntrySize" description="Returns the size of an Entry with the corresponding ID. Fails if entry ID does not exist.">
<param name="EntryID" type="uint32" pass="in" description="Entry ID to check." />
<param name="EntrySize" type="uint64" pass="return" description="Returns the current entry size of the ZIP entry in bytes." />
</method>
<method name="GetZIPStreamSize" description="Returns the current size of the stream.">
<param name="Size" type="uint64" pass="return" description="Current size of the stream." />
</method>
<method name="Finish" description="Finishes the stream writing as a whole, including all open entries. All subsequent write attempts will fail. Starting a new entry will fail. Fails if stream has been finished already.">
</method>
<method name="IsFinished" description="Returns if the stream writing has already been finished.">
<param name="Finished" type="bool" pass="return" description="If true, writing into the stream is not possible anymore." />
</method>
</class>
<!-- The Storage class is not thread safe and MUST ONLY be used in a single thread context... -->
<class name="Storage" parent="Base" description="Storage Handler Instance">
<method name="StreamIsReady" description="checks if a stream exists and is written to disk.">
<param name="UUID" type="string" pass="in" description="UUID of storage stream." />
<param name="IsReady" type="bool" pass="return" description="Stream is ready." />
</method>
<method name="RetrieveStream" description="retrieves an existing stream.">
<param name="UUID" type="string" pass="in" description="UUID of storage stream." />
<param name="StreamInstance" type="class" class="StorageStream" pass="return" description="Stream Instance." />
</method>
<method name="StoreNewStream" description="stores a new stream.">
<param name="UUID" type="string" pass="in" description="UUID of storage stream. Must be unique and newly generated." />
<param name="Name" type="string" pass="in" description="Name Description of the stream." />
<param name="MimeType" type="string" pass="in" description="Mime type of the content. MUST NOT be empty." />
<param name="Content" type="basicarray" class="uint8" pass="in" description="Data of stream" />
<param name="UserUUID" type="string" pass="in" description="Currently authenticated user" />
<param name="AbsoluteTimeStamp" type="uint64" pass="in" description="Absolute Time Stamp in Microseconds since 1970." />
</method>
<method name="BeginPartialStream" description="starts storing a stream with partial uploads.">
<param name="UUID" type="string" pass="in" description="UUID of storage stream. MUST be unique and newly generated." />
<param name="Name" type="string" pass="in" description="Name of the stream." />
<param name="MimeType" type="string" pass="in" description="Mime type of the content. MUST NOT be empty." />
<param name="Size" type="uint64" pass="in" description="Final size of the stream. MUST NOT be 0." />
<param name="UserUUID" type="string" pass="in" description="Currently authenticated user" />
<param name="AbsoluteTimeStamp" type="uint64" pass="in" description="Absolute Time Stamp in Microseconds since 1970." />
</method>
<method name="StorePartialStream" description="stores data in a stream with partial uploads. Uploads should be sequential for optimal performance, but may be in arbitrary order.">
<param name="UUID" type="string" pass="in" description="UUID of storage stream. MUST have been created with BeginPartialStream first." />
<param name="Offset" type="uint64" pass="in" description="Offset in stream to store to. Can be an arbitrary position, but storage MUST NOT override already uploaded data." />
<param name="Content" type="basicarray" class="uint8" pass="in" description="Data block to store in stream." />
</method>
<method name="FinishPartialStream" description="Finishes storing a stream.">
<param name="UUID" type="string" pass="in" description="UUID of storage stream. MUST have been created with BeginPartialStream first." />
<param name="SHA2" type="string" pass="in" description="SHA256 of the uploaded data. If given initially, MUST be identical." />
</method>
<method name="FinishPartialStreamBlockwiseSHA256" description="Finishes storing a stream with a 64k-Blockwise calculated Checksum.">
<param name="UUID" type="string" pass="in" description="UUID of storage stream. MUST have been created with BeginPartialStream first." />
<param name="BlockwiseSHA2" type="string" pass="in" description="64kB hashlist SHA256 checksum of the uploaded data. If given initially, MUST be identical." />
</method>