Fix dependency on swapcoords enums
authorMark Abraham <mark.j.abraham@gmail.com>
Sun, 9 Mar 2014 21:02:30 +0000 (22:02 +0100)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Mon, 10 Mar 2014 19:48:43 +0000 (20:48 +0100)
state.h needs these enums, but it seems wrong to introduce
a header dependency on the whole enums.h, when so few places need
these enums at all.

Change-Id: Ia8f080d5c0dc73b19a54f5ff77fbf7ef76f16139

src/gromacs/legacyheaders/types/enums.h
src/gromacs/legacyheaders/types/inputrec.h
src/gromacs/legacyheaders/types/state.h
src/gromacs/swap/enums.h [new file with mode: 0644]

index 01e4da7b28a342ce0c4da2fe91bf2b2f6a54be92..bb479d1bbbf22efa26f929fda094435370ad9ee1 100644 (file)
@@ -313,26 +313,6 @@ enum {
 enum eSwaptype {
     eswapNO, eswapX, eswapY, eswapZ, eSwapTypesNR
 };
-/* The following three enums are mainly used for indexing arrays and when
- * looping over the available ions, channels, or compartments. This hopefully
- * adds to the code's readability because it makes clear which object is dealt
- * with in a block of code.
- *
- * The two compartments for CompEL setups */
-enum eCompartment {
-    eCompA, eCompB, eCompNR
-};
-/* The positive and negative ions CompEL setups, future versions of the
- * protocol might consider more than two types of ions */
-enum eIontype {
-    eIonNEG, eIonPOS, eIonNR
-};
-/* The chanels that define with their COM the compartment boundaries in
- * CompEL setups. In principle one could also use modified setups with
- * more than two channels. */
-enum eChannel {
-    eChan0, eChan1, eChanNR
-};
 
 /* QMMM */
 enum {
index 3a9e42d643ad507403849c8061b34b06ca2e32a2..af720bbbd8bc11eea33084a21b0c8a3230d25e16 100644 (file)
@@ -41,6 +41,7 @@
 #include "simple.h"
 #include "enums.h"
 #include "../sysstuff.h"
+#include "gromacs/swap/enums.h"
 
 #ifdef __cplusplus
 extern "C" {
index 100dce07362a0dead789cb007f2d71b05ab734c8..853a8220518e57bb65ef40e604a6bbbec03515f2 100644 (file)
@@ -39,6 +39,7 @@
 
 
 #include "simple.h"
+#include "gromacs/swap/enums.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/src/gromacs/swap/enums.h b/src/gromacs/swap/enums.h
new file mode 100644 (file)
index 0000000..4066a9d
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+#ifndef GMX_SWAP_ENUMS_H_
+#define GMX_SWAP_ENUMS_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* The following three enums are mainly used for indexing arrays and when
+ * looping over the available ions, channels, or compartments. This hopefully
+ * adds to the code's readability because it makes clear which object is dealt
+ * with in a block of code.
+ *
+ * The two compartments for CompEL setups */
+enum eCompartment {
+    eCompA, eCompB, eCompNR
+};
+/* The positive and negative ions CompEL setups, future versions of the
+ * protocol might consider more than two types of ions */
+enum eIontype {
+    eIonNEG, eIonPOS, eIonNR
+};
+/* The chanels that define with their COM the compartment boundaries in
+ * CompEL setups. In principle one could also use modified setups with
+ * more than two channels. */
+enum eChannel {
+    eChan0, eChan1, eChanNR
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif