public Engine()
 {
     ApplicationSettings = new ApplicationSettings();
     Transport = new Transport( this, ApplicationSettings );
     TipsAndTricks = new Tips();
     UpdateMotd();
 }
        public StatisticsManager( ILoggedUser LoggedUser, ApplicationSettings ApplicationSettings, Transport transport )
        {
            this.ApplicationSettings = ApplicationSettings;
            this.LoggedUser = LoggedUser;
            this.Transport = transport;

            XDocument doc = Open();

            Statistics = new ObservableCollection<StatisticItem>();
            foreach( XElement usageEvent in doc.Descendants( Tags.Statistic ) )
            {
                Statistics.Add( CreateItemBasedOnStatisticType( usageEvent ) );
            }
            Statistics.CollectionChanged += ( sender, args ) => { if( args.NewItems != null ) StatisticAdded(); };
        }
 public PendingDownloadCancelHandle(Transport.PendingDownload download)
 {
     this.download = download;
 }
        public DownloadManager(Transport transport)
        {
            this.Transport = transport;

            DownloadDoneEvent.Subscribe(_ => StartEnqueuedItemsIfPossible());
        }