-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathCalculation.xml
95 lines (82 loc) · 5.15 KB
/
Calculation.xml
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
<?xml version="1.0" encoding="UTF-8"?>
<component xmlns="http://schemas.autodesk.com/netfabb/automaticcomponenttoolkit/2018"
libraryname="Calculation library" namespace="Calculation" copyright="Calculation developers" year="2019" basename="calculation"
version="1.0.0">
<importcomponent uri="Numbers.xml" namespace="Numbers"/>
<!-- class="Namespace:*" becomes aware of this.-->
<license>
<line value="All rights reserved." />
</license>
<bindings>
<binding language="Cpp" indentation="tabs" />
<binding language="CppDynamic" indentation="tabs" />
<binding language="Pascal" indentation="2spaces" />
<binding language="Python" indentation="tabs" />
</bindings>
<implementations>
<implementation language="Cpp" indentation="tabs"/>
<implementation language="Pascal" indentation="2spaces" stubidentifier="impl"/>
</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" />
</errors>
<class name="Base">
</class>
<class name="Calculator" parent="Base" description="Sums up or multiplies a list of variables">
<method name="EnlistVariable" description="Adds a Variable to the list of Variables this calculator works on">
<param name="Variable" type="class" class="Numbers:Variable" pass="in" description="The new variable in this calculator" />
</method>
<method name="GetEnlistedVariable" description="Returns an instance of a enlisted variable">
<param name="Index" type="uint32" pass="in" description="The index of the variable to query" />
<param name="Variable" type="class" class="Numbers:Variable" pass="return" description="The Index-th variable in this calculator" />
</method>
<method name="ClearVariables" description="Clears all variables in enlisted in this calculator">
</method>
<method name="Multiply" description="Multiplies all enlisted variables">
<param name="Instance" type="class" class="Numbers:Variable" pass="return" description="Variable that holds the product of all enlisted Variables" />
</method>
<method name="Add" description="Sums all enlisted variables">
<param name="Instance" type="class" class="Numbers:Variable" pass="return" description="Variable that holds the sum of all enlisted Variables" />
</method>
</class>
<global baseclassname="Base"
releasemethod="ReleaseInstance" acquiremethod="AcquireInstance"
versionmethod="GetVersion" errormethod="GetLastError"
injectionmethod="InjectComponent"
symbollookupmethod="GetSymbolLookupMethod"
>
<method name="CreateCalculator" description="Creates a new Calculator instance">
<param name="Instance" type="class" class="Calculator" pass="return" description="New Calculator instance" />
</method>
<method name="GetVersion" description = "retrieves the binary version of this library.">
<param name="Major" type="uint32" pass="out" description="returns the major version of this library" />
<param name="Minor" type="uint32" pass="out" description="returns the minor version of this library" />
<param name="Micro" type="uint32" pass="out" description="returns the micro version of this library" />
</method>
<method name="GetLastError" description="Returns the last error recorded on this object">
<param name="Instance" type="class" class="Base" pass="in" description="Instance Handle" />
<param name="ErrorMessage" type="string" pass="out" description="Message of the last error" />
<param name="HasError" type="bool" pass="return" description="Is there a last error to query" />
</method>
<method name="ReleaseInstance" description="Releases shared ownership of an Instance">
<param name="Instance" type="class" class="Base" pass="in" description="Instance Handle" />
</method>
<method name="AcquireInstance" description="Acquires shared ownership of an Instance">
<param name="Instance" type="class" class="Base" pass="in" description="Instance Handle" />
</method>
<method name="InjectComponent" description="Injects an imported component for usage within this component">
<param name="NameSpace" type="string" pass="in" description="NameSpace of the injected component" />
<param name="SymbolAddressMethod" type="pointer" pass="in" description="Address of the SymbolAddressMethod of the injected component" />
</method>
<method name="GetSymbolLookupMethod" description="Returns the address of the SymbolLookupMethod">
<param name="SymbolLookupMethod" type="pointer" pass="return" description="Address of the SymbolAddressMethod" />
</method>
</global>
</component>