Esempio n. 1
0
        public static DaemonCommand CreateDaemonCommand()
        {
            var shell               = new Shell();
            var coloredConsole      = ColoredTextWriter.Out;
            var coloredErrorConsole = ColoredTextWriter.Error;
            var fuse                 = FuseApi.Initialize("daemon", new List <string>());
            var daemonReport         = fuse.Report;
            var localSocketServer    = new LocalSocketServer(daemonReport);
            var serviceRunnerFactory = new ServiceRunnerFactory(
                new Service("CodeAssistance", fuse.CodeAssistance)
                , new Service("Tray", fuse.Tray)
                );

            var daemonSingleInstance = new EnsureSingleUser(
                coloredErrorConsole,
                shell,
                userFile: DaemonPossessionFile);

            return(new DaemonCommand(
                       coloredConsole,
                       daemonReport,
                       daemonSingleInstance,
                       fuse,
                       (a) => new DaemonRunner(
                           daemonSingleInstance,
                           localSocketServer,
                           a.Debug,
                           !a.IsMinimal,
                           fuse,
                           serviceRunnerFactory,
                           daemonReport)));
        }
Esempio n. 2
0
        public DaemonCommand(
            ColoredTextWriter textWriter,
            IReport report,
            EnsureSingleUser ensureSingleUser,
            IFuseLauncher fuseLauncher,
            Func <DaemonArgs, DaemonRunner> daemonRunner)
            : base("daemon", "Start the fuse daemon")
        {
            _textWriter       = textWriter;
            _report           = report;
            _ensureSingleUser = ensureSingleUser;
            _fuse             = fuseLauncher;
            _optionSet        = CreateOptions();
            _daemonRunner     = daemonRunner;
            _helpArguments    = new HelpArguments(
                new HelpHeader("fuse " + Name, Description),
                new HelpSynopsis("fuse daemon [<Options>]"),
                new HelpDetailedDescription(
                    @"Fuse daemon starts a local server on port(12122). 
It communicates over our own protocol, with a Plugin API built on top.
Documentation for the protocol and the API will be released later."),
                new HelpOptions(_optionSet.ToTable()));
        }