| 46 | } |
| 47 | |
| 48 | func NewWindowsDiskManager(cmdRunner system.CmdRunner) *Manager { |
| 49 | var runner system.CmdRunner |
| 50 | |
| 51 | switch cmdRunner.(type) { |
| 52 | case *powershell.Runner: |
| 53 | runner = cmdRunner |
| 54 | default: |
| 55 | runner = &powershell.Runner{ |
| 56 | BaseCmdRunner: cmdRunner, |
| 57 | } |
| 58 | } |
| 59 | |
| 60 | formatter := &Formatter{ |
| 61 | Runner: runner, |
| 62 | } |
| 63 | |
| 64 | linker := &Linker{ |
| 65 | Runner: runner, |
| 66 | } |
| 67 | |
| 68 | partitioner := &Partitioner{ |
| 69 | Runner: runner, |
| 70 | } |
| 71 | |
| 72 | protector := &Protector{ |
| 73 | Runner: runner, |
| 74 | } |
| 75 | |
| 76 | return &Manager{ |
| 77 | formatter: formatter, |
| 78 | linker: linker, |
| 79 | partitioner: partitioner, |
| 80 | protector: protector, |
| 81 | } |
| 82 | } |
| 83 | |
| 84 | func (m *Manager) GetFormatter() WindowsDiskFormatter { |
| 85 | return m.formatter |