コード例 #1
0
 /// <summary>
 /// Base constructor
 /// </summary>
 private PinballXSystem(IDependencyResolver resolver)
 {
     _settingsManager = resolver.GetService <ISettingsManager>();
     _marshallManager = resolver.GetService <IMarshallManager>();
     _threadManager   = resolver.GetService <IThreadManager>();
     _watcher         = resolver.GetService <IFileSystemWatcher>();
     _logger          = resolver.GetService <ILogger>();
     _file            = resolver.GetService <IFile>();
     _dir             = resolver.GetService <IDirectory>();
 }
コード例 #2
0
 public PinballXManager(IFileSystemWatcher fileSystemWatcher, ISettingsManager settingsManager,
                        IMarshallManager marshallManager, IThreadManager threadManager,
                        IFile file, IDirectory dir, ILogger logger)
 {
     _watcher         = fileSystemWatcher;
     _settingsManager = settingsManager;
     _marshallManager = marshallManager;
     _threadManager   = threadManager;
     _file            = file;
     _dir             = dir;
     _logger          = logger;
 }
コード例 #3
0
        /// <summary>
        /// Constructor when instantiating self-saving object
        /// </summary>
        /// <param name="path">Path to save</param>
        /// <param name="marshallManager">Marshaller dependency</param>
        public SystemMapping(string path, IMarshallManager marshallManager)
        {
            Mappings = new ReactiveList <Mapping> {
                ChangeTrackingEnabled = true
            };
            Observable.Merge(
                Mappings.ItemChanged.Select(x => Unit.Default),
                Mappings.ItemsAdded.Select(x => Unit.Default),
                Mappings.ItemsRemoved.Select(x => Unit.Default)
                ).Sample(TimeSpan.FromSeconds(1)).Subscribe(x => Save(path, marshallManager));

            // if mapping goes stale, remove it.
            Mappings.ItemChanged.Subscribe(e => {
                var mapping = e.Sender;
                if (mapping.IsStale)
                {
                    Mappings.Remove(mapping);
                }
            });
        }
コード例 #4
0
ファイル: MenuManager.cs プロジェクト: freezy/vpdb-agent
        public MenuManager(IFileSystemWatcher fileSystemWatcher, ISettingsManager settingsManager,
			IMarshallManager marshallManager, IThreadManager threadManager,
			IFile file, IDirectory dir, ILogger logger)
        {
            _watcher = fileSystemWatcher;
            _settingsManager = settingsManager;
            _marshallManager = marshallManager;
            _threadManager = threadManager;
            _file = file;
            _dir = dir;
            _logger = logger;
        }
コード例 #5
0
 private void Save(string path, IMarshallManager marshallManager)
 {
     marshallManager.MarshallMappings(this, path);
 }