Files
speckle-sharp-connectors/Sdk/Speckle.Connectors.Common/Instances/IInstanceObjectsManager.cs
T
Adam Hathcock 3227d09958 Simplify DI/assembly structure part deux (#270)
* Rename utils to common

* fix namespaces

* Rhino kind of works

* Fix converter registration

* Fixed circular referece with lazy resolving

* Fixed Rhino8

* Revit 2022 builds

* revit 2023 compiles

* working on revit

* use speckle app for info instead of statics

* lazy init bindings

* Rhino compiles

* Revit compiles

* Autocad 2022 builds

* Autocad/Civil builds

* ArcGIS compiles

* Remove Autofac completely

* format

* React to SDK renames

* fixes for merge

* Update nuget and official sln

* Remove extra projects

* AutoActivate IBrowserBridge and rename it

* add extra null check

* Merge fixes

* Fix convertermanager problem and add tests

* Add new test project to local sln

* Use recursion

* formatting

* resolve circular dep with lazy get
2024-09-24 16:15:01 +03:00

25 lines
1.0 KiB
C#

using System.Diagnostics.CodeAnalysis;
using Speckle.Sdk.Models.Instances;
namespace Speckle.Connectors.Common.Instances;
public interface IInstanceObjectsManager<THostObjectType, TAppIdMapValueType>
{
void AddInstanceProxy(string objectId, InstanceProxy instanceProxy);
void AddDefinitionProxy(string objectId, InstanceDefinitionProxy instanceDefinitionProxy);
void AddAtomicObject(string objectId, THostObjectType obj);
void AddInstanceProxiesByDefinitionId(string definitionId, List<InstanceProxy> instanceProxies);
UnpackResult<THostObjectType> GetUnpackResult();
bool TryGetInstanceProxiesFromDefinitionId(
string definitionId,
[NotNullWhen(true)] out List<InstanceProxy>? instanceProxiesWithSameDefinition
);
bool TryGetInstanceDefinitionProxy(
string definitionId,
[NotNullWhen(true)] out InstanceDefinitionProxy? instanceDefinitionProxy
);
InstanceProxy GetInstanceProxy(string instanceId);
void UpdateChildrenMaxDepth(InstanceDefinitionProxy definitionProxy, int depthDifference);
}