public Core(ISettings settings, IPlatform platform) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (platform == null) { throw new ArgumentNullException(nameof(platform)); } Settings = settings; Platform = platform; KeyManager keyManager = new KeyManager(settings); rsaProvider = new RSACryptoServiceProvider(); rsaProvider.ImportParameters(keyManager.EncryptionParameters); nodeID = Common.Utils.SHA512Str(rsaProvider.ToXmlString(false)); FileSystem = new FileSystemProvider(this); ShareBuilder = new ShareBuilder(this); ShareBuilder.FinishedIndexing += ShareBuilder_FinishedIndexing; shareWatcher = new ShareWatcher(this); ShareHasher = new ShareHasher(); transportManager = new TransportManager(this); FileTransferManager = new FileTransferManager(this); FileSearchManager = new FileSearchManager(this); DestinationManager = new DestinationManager(this); // XXX: Use reflection to load these: DestinationManager.RegisterSource(new TCPIPv4DestinationSource(this)); DestinationManager.RegisterSource(new TCPIPv6DestinationSource(this)); TrackerFactory.Register("meshwork", typeof(MeshworkTracker)); ITransportListener tcpListener = new TcpTransportListener(this, Settings.TcpListenPort); transportListeners.Add(tcpListener); if (FinishedLoading != null) { FinishedLoading(null, EventArgs.Empty); } }
static TestRig() { TrackerFactory.Register("custom", typeof(CustomTracker)); }
public void Setup() { TrackerFactory.Register("custom", uri => new CustomTracker(uri)); trackerManager = new TrackerManager(new RequestFactory(), trackerUrls.Select(t => new RawTrackerTier(t))); trackers = trackerManager.Tiers.Select(t => t.Trackers.Cast <CustomTracker> ().ToList()).ToList(); }
static TestRig() { TrackerFactory.Register("custom", uri => new CustomTracker(uri)); }