[med-svn] [aghermann] 21/85: new class CSstorablePPack (part 1/2)

andrei zavada hmmr-guest at alioth.debian.org
Thu Sep 26 23:46:25 UTC 2013


This is an automated email from the git hooks/post-receive script.

hmmr-guest pushed a commit to branch master
in repository aghermann.

commit 1a705e0064df7efd9ada25a42cd84642be4643a4
Author: Andrei Zavada <johnhommer at gmail.com>
Date:   Thu Sep 12 19:13:03 2013 +0300

    new class CSstorablePPack (part 1/2)
---
 upstream/src/aghermann/expdesign/Makefile.am      |    2 +
 upstream/src/aghermann/expdesign/dirlevel.cc      |   41 ++++++++++++
 upstream/src/aghermann/expdesign/dirlevel.hh      |   70 +++++++++++++++++++++
 upstream/src/aghermann/expdesign/expdesign.cc     |   15 -----
 upstream/src/aghermann/expdesign/expdesign.hh     |   13 ----
 upstream/src/aghermann/expdesign/forward-decls.hh |    2 +
 upstream/src/aghermann/patterns/patterns.hh       |    2 +-
 upstream/src/aghermann/rk1968/rk1968.cc           |    1 +
 upstream/src/aghermann/rk1968/rk1968.hh           |   13 ++--
 9 files changed, 121 insertions(+), 38 deletions(-)

diff --git a/upstream/src/aghermann/expdesign/Makefile.am b/upstream/src/aghermann/expdesign/Makefile.am
index 261b0ff..e42cc71 100644
--- a/upstream/src/aghermann/expdesign/Makefile.am
+++ b/upstream/src/aghermann/expdesign/Makefile.am
@@ -8,6 +8,8 @@ noinst_LIBRARIES := liba.a
 
 liba_a_SOURCES := \
 	forward-decls.hh \
+	dirlevel.cc \
+	dirlevel.hh \
 	expdesign.hh \
 	profile.hh \
 	expdesign.cc \
diff --git a/upstream/src/aghermann/expdesign/dirlevel.cc b/upstream/src/aghermann/expdesign/dirlevel.cc
new file mode 100644
index 0000000..0e49339
--- /dev/null
+++ b/upstream/src/aghermann/expdesign/dirlevel.cc
@@ -0,0 +1,41 @@
+/*
+ *       File name:  aghermann/expdesign/dirlevel.cc
+ *         Project:  Aghermann
+ *          Author:  Andrei Zavada <johnhommer at gmail.com>
+ * Initial version:  2013-09-12
+ *
+ *         Purpose:  experimental design primary classes: CStorablePPack
+ *
+ *         License:  GPL
+ */
+
+
+#include <stdarg.h>
+#include <string>
+
+#include "dirlevel.hh"
+
+using namespace std;
+using namespace agh;
+
+const char*
+agh::
+exp_dir_level_s( TExpDirLevel x)
+{
+        switch (x) {
+        case TExpDirLevel::transient:   return "~";
+        case TExpDirLevel::subject:     return "[S]";
+        case TExpDirLevel::experiment:  return "[E]";
+        case TExpDirLevel::user:        return "[U]";
+        case TExpDirLevel::system:      return "<S>";
+        default: return "?";
+        }
+}
+
+
+// Local Variables:
+// Mode: c++
+// indent-tabs-mode: nil
+// tab-width: 8
+// c-basic-offset: 8
+// End:
diff --git a/upstream/src/aghermann/expdesign/dirlevel.hh b/upstream/src/aghermann/expdesign/dirlevel.hh
new file mode 100644
index 0000000..33ceb19
--- /dev/null
+++ b/upstream/src/aghermann/expdesign/dirlevel.hh
@@ -0,0 +1,70 @@
+/*
+ *       File name:  aghermann/expdesign/dirlevel.hh
+ *         Project:  Aghermann
+ *          Author:  Andrei Zavada <johnhommer at gmail.com>
+ * Initial version:  2013-09-12
+ *
+ *         Purpose: experimental design primary classes: CStorable
+ *                  class for various ppacks storable at various dir levels
+ *
+ *         License:  GPL
+ */
+
+
+#ifndef AGH_AGHERMANN_EXPDESIGN_DIRLEVEL_H_
+#define AGH_AGHERMANN_EXPDESIGN_DIRLEVEL_H_
+
+
+#include <string>
+#include <forward_list>
+
+#include "common/config-validate.hh"
+
+#if HAVE_CONFIG_H && !defined(VERSION)
+#  include "config.h"
+#endif
+
+
+namespace agh {
+
+using namespace std;
+
+enum class TExpDirLevel {
+        transient,
+        subject,
+        experiment,
+        user,
+        system,
+};
+
+const char* exp_dir_level_s( agh::TExpDirLevel);
+
+
+class CStorablePPack {
+    public:
+        TExpDirLevel level;
+        string  subdir,
+                path;
+
+        bool    saved;
+
+        virtual int load() = 0;
+        virtual int save() = 0;
+
+        forward_list<confval::SValidator<double>>        config_keys_g;
+        forward_list<confval::SValidator<int>>           config_keys_d;
+        forward_list<confval::SValidator<size_t>>        config_keys_z;
+        forward_list<confval::SValidator<bool>>          config_keys_b;
+        forward_list<confval::SValidator<string>>        config_keys_s;
+};
+
+} // namespace agh
+
+#endif
+
+// Local Variables:
+// Mode: c++
+// indent-tabs-mode: nil
+// tab-width: 8
+// c-basic-offset: 8
+// End:
diff --git a/upstream/src/aghermann/expdesign/expdesign.cc b/upstream/src/aghermann/expdesign/expdesign.cc
index 6e926e5..fd57bc1 100644
--- a/upstream/src/aghermann/expdesign/expdesign.cc
+++ b/upstream/src/aghermann/expdesign/expdesign.cc
@@ -26,21 +26,6 @@ using namespace std;
 
 using agh::confval::SValidator;
 
-const char*
-agh::
-exp_dir_level_s( agh::TExpDirLevel x)
-{
-        switch (x) {
-        case TExpDirLevel::transient:   return "~";
-        case TExpDirLevel::subject:     return "[S]";
-        case TExpDirLevel::experiment:  return "[E]";
-        case TExpDirLevel::user:        return "[U]";
-        case TExpDirLevel::system:      return "<S>";
-        default: return "?";
-        }
-};
-
-
 
 const char
         *const agh::CExpDesign::FreqBandNames[metrics::TBand::TBand_total] = {
diff --git a/upstream/src/aghermann/expdesign/expdesign.hh b/upstream/src/aghermann/expdesign/expdesign.hh
index 8c90273..b32054c 100644
--- a/upstream/src/aghermann/expdesign/expdesign.hh
+++ b/upstream/src/aghermann/expdesign/expdesign.hh
@@ -39,19 +39,6 @@ namespace agh {
 using namespace std;
 
 
-
-enum class TExpDirLevel {
-        transient,
-        subject,
-        experiment,
-        user,
-        system,
-};
-
-const char* exp_dir_level_s( agh::TExpDirLevel);
-
-
-
 class CJGroup
   : public list<CSubject> {
 
diff --git a/upstream/src/aghermann/expdesign/forward-decls.hh b/upstream/src/aghermann/expdesign/forward-decls.hh
index 74cf788..3f9f702 100644
--- a/upstream/src/aghermann/expdesign/forward-decls.hh
+++ b/upstream/src/aghermann/expdesign/forward-decls.hh
@@ -15,6 +15,8 @@
 
 namespace agh {
 
+class CStorablePPack;
+
 class CSubject;
 struct SEpisode;
 struct SEpisodeSequence;
diff --git a/upstream/src/aghermann/patterns/patterns.hh b/upstream/src/aghermann/patterns/patterns.hh
index cd7a2a8..6615e48 100644
--- a/upstream/src/aghermann/patterns/patterns.hh
+++ b/upstream/src/aghermann/patterns/patterns.hh
@@ -19,7 +19,7 @@
 #include <gsl/gsl_math.h>
 
 #include "libsigproc/sigproc.hh"
-#include "aghermann/expdesign/expdesign.hh"  // for enum TExpDirLevel
+#include "aghermann/expdesign/dirlevel.hh"  // for enum TExpDirLevel
 
 #if HAVE_CONFIG_H && !defined(VERSION)
 #  include "config.h"
diff --git a/upstream/src/aghermann/rk1968/rk1968.cc b/upstream/src/aghermann/rk1968/rk1968.cc
index ac30af2..0604cf3 100644
--- a/upstream/src/aghermann/rk1968/rk1968.cc
+++ b/upstream/src/aghermann/rk1968/rk1968.cc
@@ -28,6 +28,7 @@ using namespace agh::rk1968;
 
 CScoreAssistant::
 CScoreAssistant (const string& fname)
+        : CStorablePPack ()
 {
 	
 }
diff --git a/upstream/src/aghermann/rk1968/rk1968.hh b/upstream/src/aghermann/rk1968/rk1968.hh
index 1b37368..a0a0daa 100644
--- a/upstream/src/aghermann/rk1968/rk1968.hh
+++ b/upstream/src/aghermann/rk1968/rk1968.hh
@@ -14,7 +14,7 @@
 
 #include <string>
 #include <list>
-#include "aghermann/expdesign/expdesign.hh"
+#include "aghermann/expdesign/dirlevel.hh"
 
 using namespace std;
 
@@ -30,7 +30,8 @@ struct SScoreAssistantPPack {
                 {}
 };
 
-class CScoreAssistant {
+class CScoreAssistant
+  : public CStorablePPack {
 
     public:
         CScoreAssistant (const string& fname);
@@ -41,13 +42,7 @@ class CScoreAssistant {
         int load();
         int delete_file();
 
-        string  name,
-                path;
-
-        TExpDirLevel
-                origin;
-
-        bool    saved:1;
+        string  name;
 
         SScoreAssistantPPack
                 Pp;

-- 
Alioth's /git/debian-med/git-commit-notice on /srv/git.debian.org/git/debian-med/aghermann.git



More information about the debian-med-commit mailing list