using Grpc.Core; using MxGateway.Contracts.Proto.Galaxy; namespace 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.). 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.). Task GetLastDeployTimeAsync( GetLastDeployTimeRequest request, CallOptions callOptions); /// Discovers the object hierarchy in the Galaxy Repository. /// The discover hierarchy request. /// gRPC call options (timeout, cancellation, etc.). Task DiscoverHierarchyAsync( DiscoverHierarchyRequest request, CallOptions callOptions); /// Watches for deployment events from the Galaxy Repository server. /// The watch deploy events request. /// gRPC call options (timeout, cancellation, etc.). IAsyncEnumerable WatchDeployEventsAsync( WatchDeployEventsRequest request, CallOptions callOptions); }