Changeset 16940


Ignore:
Timestamp:
05/10/19 14:36:48 (2 weeks ago)
Author:
ddorfmei
Message:

#2931:

  • Added StorableType attribute to interfaces and classes where it was missing
  • Moved code from HeuristicLabOrToolsPlugin.OnUnload() to finalizer because native DLL was unloaded to early
Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/ProblemType.cs

    r16582 r16940  
    2020#endregion
    2121
     22using HEAL.Attic;
     23
    2224namespace HeuristicLab.ExactOptimization.LinearProgramming {
    2325
     26  [StorableType("F4D6C4AE-C222-4175-9D05-E13707D0EDDB")]
    2427  public enum ProblemType {
    2528    LinearProgramming,
  • trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/ProtoWriteFormat.cs

    r16582 r16940  
    2020#endregion
    2121
     22using HEAL.Attic;
     23
    2224namespace HeuristicLab.ExactOptimization.LinearProgramming {
    2325
     26  [StorableType("BBFFAAAC-F9F6-40A9-BC6E-683257F03E2B")]
    2427  public enum ProtoWriteFormat {
    2528    ProtoText,
  • trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/ResultStatus.cs

    r16582 r16940  
    1 namespace HeuristicLab.ExactOptimization.LinearProgramming {
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
    221
     22using HEAL.Attic;
     23
     24namespace HeuristicLab.ExactOptimization.LinearProgramming {
     25
     26  [StorableType("73192CE9-6D6B-4631-95BE-C15B8B5F9FE6")]
    327  public enum ResultStatus {
    428    Optimal,        // optimal.
  • trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/SolverResponseStatus.cs

    r16582 r16940  
    2020#endregion
    2121
    22 using Google.OrTools.LinearSolver;
     22using HEAL.Attic;
    2323
    2424namespace HeuristicLab.ExactOptimization.LinearProgramming {
    2525
     26  [StorableType("D6947706-E560-4D5C-8022-C6F1F20DCD8B")]
    2627  public enum SolverResponseStatus {
    2728    Optimal = 0,
  • trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/IExternalLinearSolver.cs

    r16582 r16940  
    2020#endregion
    2121
     22using HEAL.Attic;
     23
    2224namespace HeuristicLab.ExactOptimization.LinearProgramming {
    2325
     26  [StorableType("5892CCCB-7D74-4748-B221-DA12C90B682B")]
    2427  public interface IExternalLinearSolver : ILinearSolver {
    2528    string LibraryName { get; set; }
  • trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/IIncrementalLinearSolver.cs

    r16582 r16940  
    2121
    2222using System;
     23using HEAL.Attic;
    2324
    2425namespace HeuristicLab.ExactOptimization.LinearProgramming {
    2526
     27  [StorableType("D9B54575-1F8A-4A09-9C62-7492C06535B0")]
    2628  public interface IIncrementalLinearSolver : ILinearSolver {
    2729    TimeSpan QualityUpdateInterval { get; set; }
  • trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/ILinearSolver.cs

    r16582 r16940  
    2222using System;
    2323using System.Threading;
     24using HEAL.Attic;
    2425using HeuristicLab.Core;
    2526using HeuristicLab.Optimization;
     
    2728namespace HeuristicLab.ExactOptimization.LinearProgramming {
    2829
     30  [StorableType("D647D4F0-A0F5-4091-8F12-54E59CEF12E4")]
    2931  public interface ILinearSolver : IParameterizedNamedItem {
    3032    double DualTolerance { get; set; }
  • trunk/HeuristicLab.ExactOptimization/3.3/LinearProgramming/Problems/ILinearProblemDefinition.cs

    r16582 r16940  
    2121
    2222using Google.OrTools.LinearSolver;
     23using HEAL.Attic;
    2324using HeuristicLab.Core;
    2425using HeuristicLab.Optimization;
     
    2627namespace HeuristicLab.ExactOptimization.LinearProgramming {
    2728
     29  [StorableType("4C6CEA85-0197-4A92-A969-C2F964F56388")]
    2830  public interface ILinearProblemDefinition : IItem {
    2931
  • trunk/HeuristicLab.ExtLibs/HeuristicLab.OrTools/7.0.0/HeuristicLab.OrTools-7.0.0/Plugin.cs.frame

    r16910 r16940  
    3838  public class HeuristicLabOrToolsPlugin : PluginBase {
    3939
    40     public override void OnUnload() {
    41       // HACK: free handle to native DLL used temporarily by the Hive Slave
    42       // should be solved for all native DLLs used by the Hive Slave
     40    ~HeuristicLabOrToolsPlugin() {
     41      // HACK: Free handle to native DLL used temporarily by the Hive Slave.
     42      // Finalizer must be used because generated finalizers used in
     43      // HeuristicLab.ExactOptimization that call destructors in native DLL
     44      // are called after HeuristicLabOrToolsPlugin.OnUnload().
     45      // This should be solved for all native DLLs used by the Hive Slave.
    4346      var dllDir = new FileInfo(GetType().Assembly.Location).Directory;
    4447      if (dllDir == null || !dllDir.FullName.Contains(Path.DirectorySeparatorChar + "PluginTemp" + Path.DirectorySeparatorChar))
Note: See TracChangeset for help on using the changeset viewer.