You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add GetCreatedTimestamp and GetLastExecutionTimestamp to Build interface
* Feature: Add GetRecentBuildJobs() API to UIEnvironment
Add new API method to retrieve recent validated build jobs for
touchscreen UI display.
Changes:
1. **IDL Definition** (ACT/LibMCEnv.xml):
- Added BuildIterator class following BuildExecutionIterator pattern
- Added GetRecentBuildJobs(maxCount) method to UIEnvironment
2. **BuildIterator Implementation**:
- New class CBuildIterator (libmcenv_builditerator.hpp/cpp)
- Implements GetCurrentBuild() to return IBuild instances
- Follows standard AMCF iterator pattern
3. **UIEnvironment Implementation** (libmcenv_uienvironment.cpp):
- GetRecentBuildJobs() queries validated build jobs via DataModel
- Returns BuildIterator with most recent jobs (newest first)
- Limited by maxCount parameter
4. **CBuild Factory Methods** (libmcenv_build.cpp/hpp):
- Added makeFrom() and makeSharedFrom() static methods
- Enables BuildIterator to wrap existing build job instances
This API enables plugins to access build job data for UI display
without direct DataModel access, maintaining proper abstraction.
---
InterfacesCode: Regenerate interface files from ACT for GetRecentBuildJobs API
Regenerated C++ interface bindings and headers using ACT (Automatic
Component Toolkit) after adding GetRecentBuildJobs() method to
LibMCEnv.xml.
Generated/Updated files:
- Framework/HeadersDev/CppDynamic/libmcenv_dynamic.hpp
- Framework/HeadersDev/CppDynamic/libmcenv_dynamic.h
- Framework/HeadersDev/CppDynamic/libmcenv_types.hpp
- Framework/InterfacesCore/libmcenv_abi.hpp
- Framework/InterfacesCore/libmcenv_interfaces.hpp
- Framework/InterfacesCore/libmcenv_interfacewrapper.cpp
- Framework/InterfacesCore/libmcenv_types.hpp
- ACT/act.linux (binary timestamp update)
These files are auto-generated by running: ./act.linux LibMCEnv.xml
Copy file name to clipboardExpand all lines: ACT/LibMCEnv.xml
+38Lines changed: 38 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -2591,6 +2591,12 @@
2591
2591
</method>
2592
2592
</class>
2593
2593
2594
+
<classname="BuildIterator"parent="Iterator">
2595
+
<methodname="GetCurrentBuild"description="Returns the build the iterator points at.">
2596
+
<paramname="BuildInstance"type="handle"class="Build"pass="return"description="returns the Build instance."/>
2597
+
</method>
2598
+
</class>
2599
+
2594
2600
2595
2601
<classname="Build"parent="Base"description="Build instance to access build files">
2596
2602
@@ -2602,6 +2608,14 @@
2602
2608
<paramname="BuildUUID"type="string"pass="return"description="UUID of the build." />
2603
2609
</method>
2604
2610
2611
+
<methodname="GetCreatedTimestamp"description="Returns creation timestamp of the build in ISO-8601 format.">
2612
+
<paramname="Timestamp"type="string"pass="return"description="Creation timestamp in ISO-8601 format (e.g., 2025-10-23T14:30:00.000Z)." />
2613
+
</method>
2614
+
2615
+
<methodname="GetLastExecutionTimestamp"description="Returns the most recent execution timestamp in ISO-8601 format. Returns empty string if build has never been executed.">
2616
+
<paramname="Timestamp"type="string"pass="return"description="Most recent execution timestamp in ISO-8601 format. Empty string if never executed." />
2617
+
</method>
2618
+
2605
2619
<methodname="GetStorageUUID"description="Returns storage uuid of the build stream.">
2606
2620
<paramname="StorageUUID"type="string"pass="return"description="Storage UUID of the build." />
2607
2621
</method>
@@ -5742,6 +5756,10 @@
5742
5756
<paramname="ExecutionUUID"type="string"pass="in"description="UUID of the execution entity." />
<methodname="GetRecentBuildJobs"description="Returns an iterator for recent build jobs, ordered by timestamp (newest first).">
5760
+
<paramname="MaxCount"type="uint32"pass="in"description="Maximum number of jobs to return. Must be greater than 0." />
5761
+
<paramname="BuildIterator"type="class"class="BuildIterator"pass="return"description="Iterator for build jobs, ordered newest first." />
5762
+
</method>
5745
5763
5746
5764
<methodname="CreateDiscreteField2D"description="Creates an empty discrete field.">
5747
5765
<paramname="PixelCountX"type="uint32"pass="in"description="Pixel count in X. MUST be positive." />
@@ -5913,6 +5931,26 @@
5913
5931
<paramname="ReturnValueName"type="string"pass="in"description="The name of the return parameter. MUST be an alphanumeric ASCII string (with optional _ and -)" />
<methodname="SetStringResult"description="Sets a string result value for external event return (typed convenience wrapper).">
5936
+
<paramname="ReturnValueName"type="string"pass="in"description="The name of the return parameter. MUST be an alphanumeric ASCII string (with optional _ and -)" />
<methodname="SetIntegerResult"description="Sets an integer result value for external event return.">
5941
+
<paramname="ReturnValueName"type="string"pass="in"description="The name of the return parameter. MUST be an alphanumeric ASCII string (with optional _ and -)" />
<methodname="SetBoolResult"description="Sets a boolean result value for external event return.">
5946
+
<paramname="ReturnValueName"type="string"pass="in"description="The name of the return parameter. MUST be an alphanumeric ASCII string (with optional _ and -)" />
<methodname="SetDoubleResult"description="Sets a double result value for external event return.">
5951
+
<paramname="ReturnValueName"type="string"pass="in"description="The name of the return parameter. MUST be an alphanumeric ASCII string (with optional _ and -)" />
0 commit comments