public override ReleaseSide GetInstance() { //TODO: Yeah, this code sucks. //Determine the FTP Server to view. SiteSelection f = new SiteSelection(manifestManager); PopulateData(f); f.ShowDialog(); if (f.DialogResult == DialogResult.Cancel) { return(null); } var manifest = f.Result; IFTPClient client = getFTPClient(manifest, f.PasswordResult); //Determine the release to view from the FTP as comparison. var releaseIDResult = getReleaseNumber(client); if (!releaseIDResult.Item1) { return(null); } int releaseNumber = releaseIDResult.Item2; string ftpFolderLocation = Settings.Default.LocalFTPLocation; string releaseFolderPath = LocalFTPServiceUtilities.GetFolderPathForSite(ftpFolderLocation, manifest.FTPServer); throw new NotImplementedException(); //TODO: localSiteManager should be instantiated with the value of the site here. LocalSiteManager siteManager2 = new LocalSiteManager(null, null); LocalFTPSiteCache cache = new LocalFTPSiteCache(releaseFolderPath, localSiteManager); return(new FTPReleaseSide(client, cache, releaseNumber)); }
static void Main() { var all = new PluginLoader().ObtainPlugins(); IFileSystemService systemService = GetLocalFTPFileSystemService(); var man = new SiteManifestManager(systemService); var siteman = new LocalSiteManager(systemService, new ItemLocation("", "")); FTPReleaseSideFactory factory = new FTPReleaseSideFactory(man, siteman); DEBUG_ResetSettings(); //TODO: Versions and upgrade if (Settings.Default.IsFirstRun) { PerformFirstRun(); } else { Initialise(); } if (Program.releaseManager == null) { throw new InvalidOperationException("releaseManager is invalid."); } LocalTempSideFactory f = new LocalTempSideFactory(Program.releaseManager); Settings.Default.IsFirstRun = false; Settings.Default.Save(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1(factory, f)); }
public FTPReleaseSideFactory(SiteManifestManager manager, LocalSiteManager localSiteManager) { this.manifestManager = manager; this.localSiteManager = localSiteManager; }