github.com/ld86/docker@v1.7.1-rc3/daemon/execdriver/windows/windows.go (about)

     1  // +build windows
     2  
     3  /*
     4   This is the Windows driver for containers.
     5  
     6   TODO Windows: It is currently a placeholder to allow compilation of the
     7   daemon. Future PRs will have an implementation of this driver.
     8  */
     9  
    10  package windows
    11  
    12  import (
    13  	"fmt"
    14  
    15  	"github.com/docker/docker/daemon/execdriver"
    16  )
    17  
    18  const (
    19  	DriverName = "Windows"
    20  	Version    = "Placeholder"
    21  )
    22  
    23  type activeContainer struct {
    24  	command *execdriver.Command
    25  }
    26  
    27  type driver struct {
    28  	root     string
    29  	initPath string
    30  }
    31  
    32  type info struct {
    33  	ID     string
    34  	driver *driver
    35  }
    36  
    37  func NewDriver(root, initPath string) (*driver, error) {
    38  	return &driver{
    39  		root:     root,
    40  		initPath: initPath,
    41  	}, nil
    42  }
    43  
    44  func (d *driver) Run(c *execdriver.Command, pipes *execdriver.Pipes, startCallback execdriver.StartCallback) (execdriver.ExitStatus, error) {
    45  	return execdriver.ExitStatus{ExitCode: 0}, nil
    46  }
    47  
    48  func (d *driver) Terminate(p *execdriver.Command) error {
    49  	return nil
    50  }
    51  
    52  func (d *driver) Kill(p *execdriver.Command, sig int) error {
    53  	return nil
    54  }
    55  
    56  func kill(ID string, PID int) error {
    57  	return nil
    58  }
    59  
    60  func (d *driver) Pause(c *execdriver.Command) error {
    61  	return fmt.Errorf("Windows: Containers cannot be paused")
    62  }
    63  
    64  func (d *driver) Unpause(c *execdriver.Command) error {
    65  	return fmt.Errorf("Windows: Containers cannot be paused")
    66  }
    67  
    68  func (i *info) IsRunning() bool {
    69  	return false
    70  }
    71  
    72  func (d *driver) Info(id string) execdriver.Info {
    73  	return &info{
    74  		ID:     id,
    75  		driver: d,
    76  	}
    77  }
    78  
    79  func (d *driver) Name() string {
    80  	return fmt.Sprintf("%s Date %s", DriverName, Version)
    81  }
    82  
    83  func (d *driver) GetPidsForContainer(id string) ([]int, error) {
    84  	return nil, fmt.Errorf("GetPidsForContainer: GetPidsForContainer() not implemented")
    85  }
    86  
    87  func (d *driver) Clean(id string) error {
    88  	return nil
    89  }
    90  
    91  func (d *driver) Stats(id string) (*execdriver.ResourceStats, error) {
    92  	return nil, fmt.Errorf("Windows: Stats not implemented")
    93  }
    94  
    95  func (d *driver) Exec(c *execdriver.Command, processConfig *execdriver.ProcessConfig, pipes *execdriver.Pipes, startCallback execdriver.StartCallback) (int, error) {
    96  	return 0, nil
    97  }