public NestResult Start(IEggParameters parameters) {
         this.eggHost = parameters.Host;

         var options = new WebendOptions();
         Parser.Default.ParseArguments(new string[0], options);
         return Start(options);
      }
      public NestResult Start(IEggParameters parameters) {
         host = parameters?.Host;

         InitializeLogging();

         ryu = new RyuFactory().Create();
         var clusteringConfiguration = new ClusteringConfigurationImpl(IPAddress.Loopback, kZileanServicePort, ClusteringRole.HostOnly);
         ryu.Set<ClusteringConfiguration>(clusteringConfiguration);
         ryu.Setup();
         ryu.Touch<ItzWartyProxiesRyuPackage>();
         ryu.Touch<ServicesRyuPackage>();
         ryu.Touch<ZileanImplRyuPackage>();
         return NestResult.Success;
      }
        public NestResult Start(IEggParameters parameters)
        {
            var thumbnailGenerationParameters = parameters == null ? null : pofSerializer.Deserialize<ThumbnailGenerationParameters>(new MemoryStream(parameters.Arguments));

             this.parameters = parameters;
             if (parameters == null || thumbnailGenerationParameters == null) {
            // construct libdargon.management dependencies
            ITcpEndPoint managementServerEndpoint = networkingProxy.CreateAnyEndPoint(kDaemonManagementPort);
            var managementFactory = new ManagementFactoryImpl(collectionFactory, threadingProxy, networkingProxy, pofContext, pofSerializer);
            var localManagementServer = managementFactory.CreateServer(new ManagementServerConfiguration(managementServerEndpoint));
            keepalive.Add(localManagementServer);
            localManagementServer.RegisterInstance(new ThumbnailGenerationMob(thumbnailGeneratorService));
            shutdownLatch.WaitOne();
             } else {
            thumbnailGeneratorService.GenerateThumbnails(thumbnailGenerationParameters);
             }
             return NestResult.Success;
        }
        public NestResult Start(IEggParameters parameters)
        {
            InitializeLogging();
             LogIfDebugBuild();

             ryu.Set<IEggHost>(parameters?.Host);

             ryu.Touch<ItzWartyCommonsRyuPackage>();
             ryu.Touch<ItzWartyProxiesRyuPackage>();

             // Dargon.management
             var managementServerEndpoint = ryu.Get<INetworkingProxy>().CreateAnyEndPoint(kDaemonManagementPort);
             ryu.Set<IManagementServerConfiguration>(new ManagementServerConfiguration(managementServerEndpoint));

             ((RyuContainerImpl)ryu).Setup(true);

             logger.Info("Initialized.");

             return NestResult.Success;
        }
        public NestResult Start(IEggParameters parameters)
        {
            host = parameters.Host;
            var configuration = pofSerializer.Deserialize <TrinketStartupConfiguration>(streamFactory.CreateMemoryStream(parameters.Arguments).Reader);

            trinketDtpServer = trinketDtpServerFactory.Create(configuration);
            var trinketBridge = new TrinketBridgeImpl(temporaryFileService, processInjectionService, trinketInternalUtilities, configuration, trinketDtpServer);

            keepaliveObjects.Add(trinketBridge);
            var injectionSuccessful = trinketBridge.Initialize();

            if (injectionSuccessful)
            {
                var process = processProxy.GetProcessById(configuration.TargetProcessId);
                process.Exited += (o, s) => {
                    Shutdown(ShutdownReason.None);
                };
                process.EnableRaisingEvents = true;
            }

            return(injectionSuccessful ? NestResult.Success : NestResult.Failure);
        }
        public NestResult Start(IEggParameters parameters)
        {
            host = parameters.Host;
             var configuration = pofSerializer.Deserialize<TrinketStartupConfiguration>(streamFactory.CreateMemoryStream(parameters.Arguments).Reader);
             trinketDtpServer = trinketDtpServerFactory.Create(configuration);
             var trinketBridge = new TrinketBridgeImpl(temporaryFileService, processInjectionService, trinketInternalUtilities, configuration, trinketDtpServer);
             keepaliveObjects.Add(trinketBridge);
             var injectionSuccessful = trinketBridge.Initialize();
             if (injectionSuccessful) {
            var process = processProxy.GetProcessById(configuration.TargetProcessId);
            process.Exited += (o, s) => {
               Shutdown(ShutdownReason.None);
            };
            process.EnableRaisingEvents = true;
             }

             return injectionSuccessful ? NestResult.Success : NestResult.Failure;
        }
        public NestResult Start(IEggParameters parameters)
        {
            this.host = parameters?.Host;

             ryu.Touch<ItzWartyCommonsRyuPackage>();
             ryu.Touch<ItzWartyProxiesRyuPackage>();

             // Dargon.management
             var managementServerEndpoint = ryu.Get<INetworkingProxy>().CreateAnyEndPoint(kClientManagementPort);
             ryu.Set<IManagementServerConfiguration>(new ManagementServerConfiguration(managementServerEndpoint));

             ((RyuContainerImpl)ryu).Setup(true);

             var userInterfaceThread = new Thread(UserInterfaceThreadStart);
             userInterfaceThread.SetApartmentState(ApartmentState.STA);
             userInterfaceThread.Start();
             return NestResult.Success;
        }
 NestResult INestApplicationEgg.Start(IEggParameters parameters)
 {
     return Start(null);
 }