github.com/docker/libcompose@v0.4.1-0.20210616120443-2a046c0bdbf2/project/empty.go (about)

     1  package project
     2  
     3  import (
     4  	"golang.org/x/net/context"
     5  
     6  	"github.com/docker/libcompose/config"
     7  	"github.com/docker/libcompose/project/events"
     8  	"github.com/docker/libcompose/project/options"
     9  )
    10  
    11  // this ensures EmptyService implements Service
    12  // useful since it's easy to forget adding new functions to EmptyService
    13  var _ Service = (*EmptyService)(nil)
    14  
    15  // EmptyService is a struct that implements Service but does nothing.
    16  type EmptyService struct {
    17  }
    18  
    19  // Create implements Service.Create but does nothing.
    20  func (e *EmptyService) Create(ctx context.Context, options options.Create) error {
    21  	return nil
    22  }
    23  
    24  // Build implements Service.Build but does nothing.
    25  func (e *EmptyService) Build(ctx context.Context, buildOptions options.Build) error {
    26  	return nil
    27  }
    28  
    29  // Up implements Service.Up but does nothing.
    30  func (e *EmptyService) Up(ctx context.Context, options options.Up) error {
    31  	return nil
    32  }
    33  
    34  // Start implements Service.Start but does nothing.
    35  func (e *EmptyService) Start(ctx context.Context) error {
    36  	return nil
    37  }
    38  
    39  // Stop implements Service.Stop() but does nothing.
    40  func (e *EmptyService) Stop(ctx context.Context, timeout int) error {
    41  	return nil
    42  }
    43  
    44  // Delete implements Service.Delete but does nothing.
    45  func (e *EmptyService) Delete(ctx context.Context, options options.Delete) error {
    46  	return nil
    47  }
    48  
    49  // Restart implements Service.Restart but does nothing.
    50  func (e *EmptyService) Restart(ctx context.Context, timeout int) error {
    51  	return nil
    52  }
    53  
    54  // Log implements Service.Log but does nothing.
    55  func (e *EmptyService) Log(ctx context.Context, follow bool) error {
    56  	return nil
    57  }
    58  
    59  // Pull implements Service.Pull but does nothing.
    60  func (e *EmptyService) Pull(ctx context.Context) error {
    61  	return nil
    62  }
    63  
    64  // Kill implements Service.Kill but does nothing.
    65  func (e *EmptyService) Kill(ctx context.Context, signal string) error {
    66  	return nil
    67  }
    68  
    69  // Containers implements Service.Containers but does nothing.
    70  func (e *EmptyService) Containers(ctx context.Context) ([]Container, error) {
    71  	return []Container{}, nil
    72  }
    73  
    74  // Scale implements Service.Scale but does nothing.
    75  func (e *EmptyService) Scale(ctx context.Context, count int, timeout int) error {
    76  	return nil
    77  }
    78  
    79  // Info implements Service.Info but does nothing.
    80  func (e *EmptyService) Info(ctx context.Context) (InfoSet, error) {
    81  	return InfoSet{}, nil
    82  }
    83  
    84  // Pause implements Service.Pause but does nothing.
    85  func (e *EmptyService) Pause(ctx context.Context) error {
    86  	return nil
    87  }
    88  
    89  // Unpause implements Service.Pause but does nothing.
    90  func (e *EmptyService) Unpause(ctx context.Context) error {
    91  	return nil
    92  }
    93  
    94  // Run implements Service.Run but does nothing.
    95  func (e *EmptyService) Run(ctx context.Context, commandParts []string, options options.Run) (int, error) {
    96  	return 0, nil
    97  }
    98  
    99  // RemoveImage implements Service.RemoveImage but does nothing.
   100  func (e *EmptyService) RemoveImage(ctx context.Context, imageType options.ImageType) error {
   101  	return nil
   102  }
   103  
   104  // Events implements Service.Events but does nothing.
   105  func (e *EmptyService) Events(ctx context.Context, events chan events.ContainerEvent) error {
   106  	return nil
   107  }
   108  
   109  // DependentServices implements Service.DependentServices with empty slice.
   110  func (e *EmptyService) DependentServices() []ServiceRelationship {
   111  	return []ServiceRelationship{}
   112  }
   113  
   114  // Config implements Service.Config with empty config.
   115  func (e *EmptyService) Config() *config.ServiceConfig {
   116  	return &config.ServiceConfig{}
   117  }
   118  
   119  // Name implements Service.Name with empty name.
   120  func (e *EmptyService) Name() string {
   121  	return ""
   122  }
   123  
   124  // this ensures EmptyNetworks implements Networks
   125  var _ Networks = (*EmptyNetworks)(nil)
   126  
   127  // EmptyNetworks is a struct that implements Networks but does nothing.
   128  type EmptyNetworks struct {
   129  }
   130  
   131  // Initialize implements Networks.Initialize but does nothing.
   132  func (e *EmptyNetworks) Initialize(ctx context.Context) error {
   133  	return nil
   134  }
   135  
   136  // Remove implements Networks.Remove but does nothing.
   137  func (e *EmptyNetworks) Remove(ctx context.Context) error {
   138  	return nil
   139  }