github.com/alloyzeus/go-azfl@v0.0.0-20231220071816-9740126a2d07/azcore/service_client.go (about)

     1  package azcore
     2  
     3  /**/ /**/
     4  
     5  // ServiceClientConfig holds the configuration for a service client.
     6  type ServiceClientConfig interface {
     7  	ServiceConfig
     8  }
     9  
    10  // ServiceClient provides an abstraction for all service clients.
    11  type ServiceClient interface {
    12  	Service
    13  	AZServiceClient()
    14  }
    15  
    16  // ServiceClientModule provides all the required to instantiate a service
    17  // client.
    18  type ServiceClientModule struct {
    19  	ServiceClientConfigSkeleton func() ServiceClientConfig
    20  	NewServiceClient            func(ServiceClientConfig) (ServiceClient, ServiceClientError)
    21  }
    22  
    23  var _ ServiceModule = ServiceClientModule{}
    24  
    25  // AZServiceModule is required for conformance with ServiceModule.
    26  func (ServiceClientModule) AZServiceModule() {}
    27  
    28  // ServiceClientError is an abstraction for all errors emitted by a
    29  // service server.
    30  type ServiceClientError interface {
    31  	ServiceError
    32  
    33  	AZServiceClientError()
    34  }