예제 #1
0
        public Scheduler(Manager manager, Configuration cfg)
        {
            if (_mgr == null)
                _mgr = manager;

            _cfg = cfg;
        }
예제 #2
0
        public Archiver(Manager manager, Configuration cfg)
        {
            if (_mgr == null)
                _mgr = manager;

            _cfg = cfg;

            _shouldStop = false;
        }
예제 #3
0
        public Analyzer(Manager manager)
        {
            if (mgr == null)
                mgr = manager;

            cfg = mgr.GetConfiguration();

            _dataQueue = new ConcurrentQueue<ProbeResultsDataMessage>();
        }
예제 #4
0
        // constructor
        public Writer(Manager manager, Configuration cfg)
        {
            if (_mgr == null)
                _mgr = manager;

            _cfg = cfg;

            _dataQueue = new ConcurrentQueue<ProbeResultsDataMessage>();
        }
예제 #5
0
        static void Main(string[] args)
        {
            bool consoleMode = false;

            SqlWristbandSvc service;

            // Parse arguments
            if (args.Length > 0)
            {
                for (int i = 0; i < args.Length; i++)
                {
                    switch (args[i].ToLower())
                    {
                        case "/install":
                            service = new SqlWristbandSvc();
                            service.InstallService();
                            service.Dispose();
                            return;
                        case "/uninstall":
                            service = new SqlWristbandSvc();
                            service.UninstallService();
                            service.Dispose();
                            return;
                        case "/console":
                            consoleMode = true;
                            break;
                    }
                }
            }

            // Launch the service in either console or Windows service mode
            if (consoleMode)
            {
                Manager manager = new Manager();

                Console.WriteLine("Starting worker threads...");
                manager.Initialize();
                Console.WriteLine("<Press any key to exit...>");
                Console.Read();

                manager.Stop();
            }
            else
            {
                service = new SqlWristbandSvc();
                var servicesToRun = new ServiceBase[] { service };
                ServiceBase.Run(servicesToRun);
            }
        }
예제 #6
0
 public WebServer(Manager manager, Configuration cfg)
 {
     _mgr = manager;
     _cfg = cfg;
     _rootFolder = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), Configuration.wsRootFolder));
 }
예제 #7
0
        protected override void OnStart(string[] args)
        {
            _logger.Info("Starting service");

            // Update the service state to Start Pending.
            ServiceStatus serviceStatus = new ServiceStatus();
            serviceStatus.dwCurrentState = ServiceState.SERVICE_START_PENDING;
            serviceStatus.dwWaitHint = 100000;
            SetServiceStatus(this.ServiceHandle, ref serviceStatus);

            try
            {
                mgr = new Manager();
                mgr.Initialize();

                // Update the service state to Running.
                serviceStatus.dwCurrentState = ServiceState.SERVICE_RUNNING;
                SetServiceStatus(this.ServiceHandle, ref serviceStatus);
            }
            catch (Exception e)
            {
                _logger.FatalException("Service failed to start", e);

                mgr.Stop();

                // Stop the service
                ServiceController service = new ServiceController(SERVICE_NAME);
                service.Stop();
            }
        }