Beispiel #1
0
        /// <summary>
        /// Awaits the termination.
        /// </summary>
        /// <param name="timeout">The timeout.</param>
        public void AwaitTermination(TimeSpan timeout)
        {
            _liveMode = LiveMode.STOPPING;

            long endTime = DateTime.Now.Ticks + ((long)timeout.TotalMilliseconds) * 10000;
            long nowTime;

            long taskCount;

            do
            {
                taskCount = _taskQueue.Count + Interlocked.Read(ref _tasksRunning);
                Log.Debug(".AwaitTermination - Instance {0} waiting for {1} tasks to complete", _id, taskCount);

                if (taskCount == 0)
                {
                    break;
                }

                Thread.Sleep(10);
                nowTime = DateTime.Now.Ticks;
            } while (nowTime < endTime);

            _liveMode = LiveMode.STOPPED;

            Log.Debug(".AwaitTermination - Instance {0} ending for {1} tasks to complete", _id, taskCount);
        }
Beispiel #2
0
        public override int GetHashCode()
        {
            unchecked {
                int hash = 17;
                hash = hash * 23 + Object.GetHashCode();
                hash = hash * 23 + Id.GetHashCode();
                hash = hash * 23 + LiveMode.GetHashCode();
                hash = hash * 23 + Location.GetHashCode();
                hash = hash * 23 + Created.GetHashCode();
                hash = hash * 23 + Deleted.GetHashCode();

                return(hash);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DedicatedExecutorService"/> class.
        /// </summary>
        /// <param name="label">The label.</param>
        /// <param name="numThreads">The num threads.</param>
        /// <param name="taskQueue">The task queue.</param>
        public DedicatedExecutorService(string label, int numThreads, IBlockingQueue <Runnable> taskQueue)
        {
            _id           = Guid.NewGuid();
            _numThreads   = numThreads;
            _threads      = new Thread[numThreads];
            _tasksRunning = 0L;
            _taskQueue    = taskQueue;
            _liveMode     = LiveMode.RUN;
            _numExecuted  = 0L;

            for (int ii = 0; ii < _numThreads; ii++)
            {
                _threads[ii]              = new Thread(HandleTasksInQueue);
                _threads[ii].Name         = "DE:" + label + ":" + _id + ":" + ii;
                _threads[ii].IsBackground = true;
                _threads[ii].Start();
            }
        }
Beispiel #4
0
        private void LoadInternal(string fileName)
        {
            _iniFile = new INIFile(fileName);

            foreach (PropertyDescriptor item in TypeDescriptor.GetProperties(this))
            {
                if (item.IsBrowsable)
                {
                    switch (item.Name)
                    {
                    case "Launch":
                        Launch.LoadSection("Launch", _iniFile);
                        break;

                    case "Activate":
                        Activate.LoadSection("Activate", _iniFile);
                        break;

                    case "LiveMode":
                        LiveMode.LoadSection("LiveMode", _iniFile);
                        break;

                    case "Environment":
                        Environment.LoadSection("Environment", _iniFile);
                        break;

                    case "RegistryKeys":
                        RegistryKeys.LoadSection("RegistryKeys", _iniFile);
                        break;

                    case "RegistryValueWrite":
                        RegistryValueWrite.LoadSection("RegistryValueWrite", _iniFile);
                        break;

                    case "RegistryCleanupIfEmpty":
                        RegistryCleanupIfEmpty.LoadSection("RegistryCleanupIfEmpty", _iniFile);
                        break;

                    case "RegistryCleanupForce":
                        RegistryCleanupForce.LoadSection("RegistryCleanupForce", _iniFile);
                        break;

                    case "RegistryValueBackupDelete":
                        RegistryValueBackupDelete.LoadSection("RegistryValueBackupDelete", _iniFile);
                        break;

                    case "RegistrationFreeCOM":
                        RegistrationFreeCOM.LoadSection("RegistrationFreeCOM", _iniFile);
                        break;

                    case "QtKeysCleanup":
                        QtKeysCleanup.LoadSection("QtKeysCleanup", _iniFile);
                        break;

                    case "FileWriteN":
                        FileWriteN.LoadSection("FileWrite", _iniFile);
                        break;

                    case "FilesMove":
                        FilesMove.LoadSection("FilesMove", _iniFile);
                        break;

                    case "DirectoriesMove":
                        DirectoriesMove.LoadSection("DirectoriesMove", _iniFile);
                        break;

                    case "DirectoriesCleanupIfEmpty":
                        DirectoriesCleanupIfEmpty.LoadSection("DirectoriesCleanupIfEmpty", _iniFile);
                        break;

                    case "DirectoriesCleanupForce":
                        DirectoriesCleanupForce.LoadSection("DirectoriesCleanupForce", _iniFile);
                        break;

                    case "Language":
                        Language.LoadSection("Language", _iniFile);
                        break;

                    case "LanguageStrings":
                        LanguageStrings.LoadSection("LanguageStrings", _iniFile);
                        break;

                    case "LanguageFile":
                        LanguageFile.LoadSection("LanguageFile", _iniFile);
                        break;

                    case "DirectoriesLink":
                        DirectoriesLink.LoadSection("DirectoriesLink", _iniFile);
                        break;
                    }
                }
            }
        }
Beispiel #5
0
        public TreeNode BuildLaunchTreeUI()
        {
            TreeNode rootNode = new TreeNode();

            foreach (PropertyDescriptor item in TypeDescriptor.GetProperties(this))
            {
                if (item.IsBrowsable)
                {
                    switch (item.Name)
                    {
                    case "Launch":
                    {
                        var topNode = Launch.BuildTreeUI("Launch", rootNode);
                        topNode.Expand();
                    }
                    break;

                    case "Activate":
                    {
                        var topNode = Activate.BuildTreeUI("Activate", rootNode);
                        topNode.Expand();
                    }
                    break;

                    case "LiveMode":
                    {
                        var topNode = LiveMode.BuildTreeUI("LiveMode", rootNode);
                        topNode.Expand();
                    }
                    break;

                    //case "Environment":
                    //    {
                    //        var topNode = Environment.BuildTreeUI("Environment", rootNode);
                    //        topNode.Expand();
                    //    }
                    //    break;
                    //case "QtKeysCleanup":
                    //    {
                    //        var topNode = QtKeysCleanup.BuildTreeUI("QtKeysCleanup", rootNode);
                    //        topNode.Expand();
                    //    }
                    //    break;
                    case "FileWriteN":
                    {
                        TreeNode topNode = new TreeNode("FileWriteN");
                        foreach (var fileWriteSection in FileWriteN)
                        {
                            fileWriteSection.BuildTreeUI(fileWriteSection.SectionName, topNode);
                        }
                        rootNode.Nodes.Add(topNode);
                        topNode.Expand();
                    }
                    break;

                    case "Language":
                    {
                        var topNode = Language.BuildTreeUI("Language", rootNode);
                        topNode.Expand();
                    }
                    break;

                    case "LanguageStrings":
                    {
                        var topNode = LanguageStrings.BuildTreeUI("LanguageStrings", rootNode);
                        topNode.Expand();
                    }
                    break;

                    case "LanguageFile":
                    {
                        var topNode = LanguageFile.BuildTreeUI("LanguageFile", rootNode);
                        topNode.Expand();
                    }
                    break;
                    }
                }
            }

            return(rootNode);
        }
Beispiel #6
0
        /// <summary>
        /// Shutdowns this instance.
        /// </summary>
        public void Shutdown()
        {
            _liveMode = LiveMode.STOPPING;

            Log.Debug(".Shutdown - Marking instance " + _id + " to avoid further queuing");
        }
        public void Save()
        {
            foreach (PropertyDescriptor item in TypeDescriptor.GetProperties(this))
            {
                if (item.IsBrowsable)
                {
                    switch (item.Name)
                    {
                    case "Launch":
                        Launch.SaveSection("Launch", _iniFile);
                        break;

                    case "Activate":
                        Activate.SaveSection("Activate", _iniFile);
                        break;

                    case "LiveMode":
                        LiveMode.SaveSection("LiveMode", _iniFile);
                        break;

                    case "Environment":
                        Environment.SaveSection("Environment", _iniFile);
                        break;

                    case "RegistryKeys":
                        RegistryKeys.SaveSection("RegistryKeys", _iniFile);
                        break;

                    case "RegistryValueWrite":
                        RegistryValueWrite.SaveSection("RegistryValueWrite", _iniFile);
                        break;

                    case "RegistryCleanupIfEmpty":
                        RegistryCleanupIfEmpty.SaveSection("RegistryCleanupIfEmpty", _iniFile);
                        break;

                    case "RegistryCleanupForce":
                        RegistryCleanupForce.SaveSection("RegistryCleanupForce", _iniFile);
                        break;

                    case "RegistryValueBackupDelete":
                        RegistryValueBackupDelete.SaveSection("RegistryValueBackupDelete", _iniFile);
                        break;

                    case "RegistrationFreeCOM":
                        RegistrationFreeCOM.SaveSection("RegistrationFreeCOM", _iniFile);
                        break;

                    case "QtKeysCleanup":
                        QtKeysCleanup.SaveSection("QtKeysCleanup", _iniFile);
                        break;

                    case "FileWriteN":
                        FileWriteN.SaveSection("FileWrite", _iniFile);
                        break;

                    case "FilesMove":
                        FilesMove.SaveSection("FilesMove", _iniFile);
                        break;

                    case "DirectoriesMove":
                        DirectoriesMove.SaveSection("DirectoriesMove", _iniFile);
                        break;

                    case "DirectoriesCleanupIfEmpty":
                        DirectoriesCleanupIfEmpty.SaveSection("DirectoriesCleanupIfEmpty", _iniFile);
                        break;

                    case "DirectoriesCleanupForce":
                        DirectoriesCleanupForce.SaveSection("DirectoriesCleanupForce", _iniFile);
                        break;

                    case "Language":
                        Language.SaveSection("Language", _iniFile);
                        break;

                    case "LanguageStrings":
                        LanguageStrings.SaveSection("LanguageStrings", _iniFile);
                        break;

                    case "LanguageFile":
                        LanguageFile.SaveSection("LanguageFile", _iniFile);
                        break;

                    case "DirectoriesLink":
                        DirectoriesLink.SaveSection("DirectoriesLink", _iniFile);
                        break;

                    case "PrefixPATHEnv":
                        PrefixPATHEnv.SaveSection("PrefixPATHEnv", _iniFile);
                        break;
                    }
                }
            }
        }