using Grpc.Core; using ZB.MOM.WW.MxGateway.Contracts.Proto.Galaxy; namespace ZB.MOM.WW.MxGateway.Client; /// Transport layer for Galaxy Repository gRPC operations. internal interface IGalaxyRepositoryClientTransport { /// Gets the client options used to configure this transport. MxGatewayClientOptions Options { get; } /// Gets the underlying gRPC client, or null if not yet initialized. GalaxyRepository.GalaxyRepositoryClient? RawClient { get; } /// Tests the connection to the Galaxy Repository server. /// The test connection request. /// gRPC call options (timeout, cancellation, etc.). /// A task that resolves to the test connection reply. Task TestConnectionAsync( TestConnectionRequest request, CallOptions callOptions); /// Gets the last deploy time from the Galaxy Repository server. /// The get last deploy time request. /// gRPC call options (timeout, cancellation, etc.). /// A task that resolves to the last deploy time reply. Task GetLastDeployTimeAsync( GetLastDeployTimeRequest request, CallOptions callOptions); /// Discovers the object hierarchy in the Galaxy Repository. /// The discover hierarchy request. /// gRPC call options (timeout, cancellation, etc.). /// A task that resolves to the hierarchy discovery reply. Task DiscoverHierarchyAsync( DiscoverHierarchyRequest request, CallOptions callOptions); /// Returns direct children of a parent in the Galaxy hierarchy. /// The browse children request. /// gRPC call options (timeout, cancellation, etc.). /// A task that resolves to the browse children reply. Task BrowseChildrenAsync( BrowseChildrenRequest request, CallOptions callOptions); /// Watches for deployment events from the Galaxy Repository server. /// The watch deploy events request. /// gRPC call options (timeout, cancellation, etc.). /// An async enumerable of deploy events. IAsyncEnumerable WatchDeployEventsAsync( WatchDeployEventsRequest request, CallOptions callOptions); }