6using System.Collections.Generic;
15 internal class WinGetInfoBuilder : WinGetObjectBuilder<WinGetInfo>
17 private string _versionString =
string.Empty;
18 private Version? _version =
null;
19 private List<WinGetDirectory> _directories =
new();
20 private List<WinGetLink> _links =
new();
21 private List<WinGetAdminSetting> _adminSettings =
new();
26 public WinGetInfoBuilder()
37 public void AddVersion(
string version)
39 _versionString = version;
40 _version = VersionParser.Parse(version);
49 public void AddVersion(Version version)
52 _versionString = version.ToString();
61 public void AddDirectories(List<WinGetDirectory> directories)
63 _directories.AddRange(directories);
74 if (directory !=
null)
76 _directories.Add(directory);
86 public void AddLinks(List<WinGetLink> links)
88 _links.AddRange(links);
111 public void AddAdminOptions(List<WinGetAdminSetting> adminOptions)
113 _adminSettings.AddRange(adminOptions);
124 if (adminOption !=
null)
126 _adminSettings.Add(adminOption);
138 if (_version ==
null)
140 _version = VersionParser.Parse(_versionString);
143 return new WinGetInfo(_versionString, _version, _directories, _links, _adminSettings);
147 public override void Clear()
149 _versionString =
string.Empty;
151 _directories =
new List<WinGetDirectory>();
152 _links =
new List<WinGetLink>();
153 _adminSettings =
new List<WinGetAdminSetting>();
Represents a winget admin settings entry.
Represents a winget directory in the info set.
Represents winget related information.
Represents a winget link in the info set.