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

     1  package azcore
     2  
     3  // ServiceConfig provides a contract for all of its implementations.
     4  type ServiceConfig interface {
     5  	AZServiceConfig()
     6  }
     7  
     8  // Service provides an abstraction for all services.
     9  type Service interface {
    10  	AZService()
    11  }
    12  
    13  // ServiceModule provides an abstraction for all kind of service modules.
    14  type ServiceModule interface {
    15  	AZServiceModule()
    16  }
    17  
    18  // ServiceContext is an abstraction for service-related contexts.
    19  type ServiceContext interface {
    20  	Context
    21  
    22  	AZServiceContext()
    23  }
    24  
    25  // ServiceError is an abstraction for all errors emitted by a service.
    26  type ServiceError interface {
    27  	Error
    28  
    29  	AZServiceError()
    30  }