From c4373fa00a7981a3059f8d6ce2e61ff318d8500f Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Thu, 9 Mar 2023 10:37:14 +0100
Subject: [PATCH] solver: Add abstract solver class.

---
 src/solver/ASolver.py | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100644 src/solver/ASolver.py

diff --git a/src/solver/ASolver.py b/src/solver/ASolver.py
new file mode 100644
index 00000000..a985cc49
--- /dev/null
+++ b/src/solver/ASolver.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+
+import os
+import subprocess
+from enum import Enum
+
+class STATUS(Enum):
+    STOPED = 0
+    RUNNING = 1
+    FAILED = 2
+    CONF_ERROR = 3
+
+class AbstractSolver(object):
+    def __init__(self, name):
+        super(AbstractSolver, self).__init__()
+
+        self.name = name
+        self.status = STATUS.STOPED
+
+    def nb_proc(self):
+        """
+        Return the number of processor used by solver (usefull for
+        multiple solver run on same time).
+        """
+        return 1
+
+    def status(self):
+        return self.status
+
+    def set_status(self, status):
+        self.status = status
+
+    def run(self):
+        return False
+
+    def kill(self):
+        return False
+
+    def readline(self):
+        return ""
-- 
GitLab