Files
speckle-sharp-connectors/Sdk/Speckle.Connectors.Common/Builders/IHostObjectBuilder.cs
T
Oğuzhan Koral 93246157c7 Fix: threading on browser bridge + remove event aggr (#574)
* Fix threading bug

* untangle revit

* revert rhino

* revert autocad

* revert rest

* remove event agg and rhino implementation

* remove event aggr from revit

* remove event aggr from autocad and civil

* remove event aggr tests

* remove event aggr from tekla

* Remove event aggr for navis

* remove event aggr from csi etabs

* remove event aggr for arcgis

* remove remaining pieces

* push autocad to run operations on main thread

* adds teklaidlemanager

* bring navis idle manager back

* run send on main

* remove unused function

---------

Co-authored-by: Dogukan Karatas <karatasdogukan@gmail.com>
2025-02-10 17:50:26 +03:00

33 lines
1.4 KiB
C#

using Speckle.Connectors.Common.Conversion;
using Speckle.Connectors.Common.Operations;
using Speckle.Sdk.Models;
namespace Speckle.Connectors.Common.Builders;
// POC: We might consider to put also IRootObjectBuilder interface here in same folder and create concrete classes from it in per connector.
public interface IHostObjectBuilder
{
/// <summary>
/// Build host application objects from root commit object.
/// </summary>
/// <param name="rootObject">Commit object that received from server.</param>
/// <param name="projectName">Project of the model.</param>
/// <param name="modelName">Name of the model.</param>
/// <param name="onOperationProgressed"> Action to update UI progress bar.</param>
/// <returns> List of application ids.</returns> // POC: Where we will return these ids will matter later when we target to also cache received application ids.
/// <remarks>Project and model name are needed for now to construct host app objects into related layers or filters.
/// POC: we might consider later to have HostObjectBuilderContext? that might hold all possible data we will need.</remarks>
Task<HostObjectBuilderResult> Build(
Base rootObject,
string projectName,
string modelName,
IProgress<CardProgress> onOperationProgressed,
CancellationToken cancellationToken
);
}
public record HostObjectBuilderResult(
IEnumerable<string> BakedObjectIds,
IEnumerable<ReceiveConversionResult> ConversionResults
);