Example #1
0
        public EngineAdapter(string name, EngineSettingsAdapter settings, ObjectPath path)
        {
            this.name = name;
            this.engine = new ClientEngine(settings.Settings);
            this.engineSettings = settings;
            this.path = path;

             	   DownloaderPath = path.ToString () + "/downloaders/{0}";
            StoragePath = Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData);

            StoragePath = System.IO.Path.Combine (StoragePath, "monotorrent-dbus");
            EnsurePath (StoragePath);

            StoragePath = System.IO.Path.Combine (StoragePath, string.Format ("engine-{0}", name));
            EnsurePath (StoragePath);

            downloaders = new Dictionary<ObjectPath, TorrentManagerAdapter> (new ObjectPathComparer());
            torrents = new Dictionary<ObjectPath,TorrentAdapter> ();

            engine.StatsUpdate += delegate {
                StatsUpdateHandler h = StatsUpdate;
                if (h != null)
                    h ();
            };
            LoadState ();
        }
Example #2
0
        private ObjectPath NewEngineSettings()
        {
            ObjectPath path = new ObjectPath (string.Format (EngineSettingsPath, engineSettingsNumber++));
            EngineSettingsAdapter adapter = new EngineSettingsAdapter (new EngineSettings (), path);

            TorrentService.Bus.Register (adapter.Path, adapter);
            engineSettings.Add (adapter.Path, adapter);

            return adapter.Path;
        }